agentleFS
danielmarbachdanielmarbach/turtleneck/skills/turtleneck-review/SKILL.md

turtleneck-review

Skill2 starsChanged 44 days agoMITView on GitHub

Review an architecture decision record, design doc, RFC, or PR description for skipped trade-off work. Finds what is missing: options never explored, costs never priced, stressors never named, decisions justified after the fact, domain knowledge invented instead of asked for. One line per gap: location, tag, what is missing, what would fill it. Use when the user says "review this ADR", "review this design", "what is missing from this decision", "poke holes in this", or invokes /turtleneck-review. Does not review correctness, style, or code; only decision quality.

The file

We split this skill into the rules it gives an agent

3 rules. About 0 are common, 2 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈2

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Read the whole document first.

    line 16
  2. Very specific:

    Use L<line> when the input has line numbers, §<heading> otherwise.

    line 22
  3. Distinctive:

    Only decision quality. Not correctness, not code, not prose style, not formatting.

    line 62

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Turtleneck review

Read the whole document first. Then emit a gap list. Nothing else.

Format

§<section or heading>: <tag> <what is missing>. <what would fill it>.

Use L<line> when the input has line numbers, §<heading> otherwise.

Tags:

  • one-floor: only penthouse or only engine room stated. Name the missing floor's first question.
  • unexplored: an option listed but never stressed or priced, or only one option present. Name the option that deserved the same treatment.
  • unpriced: an option with no build, run, or undo cost, or no owner of the ongoing cost. Name the column.
  • unstressed: no stressors, or only polite ones, or -ilities in place of stressors. Name two stressors that would change the picture.
  • justified-after: a decision followed by reasons, with no alternative that was seriously in the running. Name the alternative.
  • no-flip: no observable condition that would reverse the decision. Propose one.
  • unowned: domain knowledge asserted that the document could not know. Turn it into the owner question it should have been.
  • invented: a real or plausible quote, statistic, or reference used as authority. Replace with the argument or drop it.
  • cliché: a banned move from references/cliches.md. Name the better move.
  • reinvented: a known pattern under a new name. Name the original.

Examples

❌ "The document could benefit from a more thorough exploration of alternatives and a clearer articulation of the trade-offs involved."

✅ §Decision: justified-after: Kafka chosen, alternatives section lists "considered RabbitMQ" with no stressor or price. Same stressor table for both, or admit options considered: one.

✅ §Context: one-floor: engine room only. Who pays for the broker in year two, and what does the business lose if we defer a year?

✅ §Trade-offs: cliché: scalability high, maintainability medium. Which stressor? "Volume 10x" and "team halves" would give the same table different answers.

✅ §Consequences: no-flip: nothing here would reverse the decision. "If a second consumer does not appear within two quarters, collapse back to the outbox."

✅ §Rationale: unowned: "regulators require 7-year retention" asserted, no source in the doc. Owner question for legal.

✅ L42: invented: quote attributed to a named architect. Drop it, the argument stands or falls without the name.

Scoring

End with one line: <n> gaps. <verdict>, where verdict is one of decision, description, or deck. A decision has losers and a price. A description has neither. A deck has slides.

Boundaries

Only decision quality. Not correctness, not code, not prose style, not formatting. If the document is a code change with no design content, say "no architecture decision in scope" and stop. Do not rewrite the document. The author decides what to fill in.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.