agentleFS
frostneyfrostney/known-good-route/agent-writing/SKILL.md

agent-writing

Skill0 starsChanged 31 days agoUnlicenseView on GitHub

Writes clear, concise agent replies and engineering artifacts while preserving evidence, decisions, and required detail. Use when drafting a final response or report for engineering work, PR or issue text, or documentation.

We split this skill into the rules it gives an agent

25 rules. About 0 are common, 20 are distinctive, and 5 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈20

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 5

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Write for the reader and the artifact.

    line 16
  2. Distinctive:

    Use length thresholds as revision triggers, never as targets to fill.

    line 57
  3. Distinctive:

    Keep review replies concise while preserving the disposition, supporting evidence, required attribution, and any unresolved action.

    line 68
  4. Distinctive:

    Do not present planned, proposed, partial, or unreleased behavior as shipped.

    line 85
  5. Distinctive:

    Check each completion claim against the returned result or an authoritative state observation.

    line 87
  6. Distinctive:

    When an answer depends on prior decisions, existing mechanisms, or project terminology, inspect the available canonical records and …

    line 98
  7. Distinctive:

    Do not propose a replacement before checking what already exists.

    line 101
  8. Distinctive:

    Use plain, project-specific language.

    line 108
  9. Distinctive:

    Use an established project term when it has one stable documented meaning.

    line 111
  10. Very specific:

    Use identical text or identical content when comparing prose or data.

    line 114
  11. Distinctive:

    Remove praise before the answer, forced enthusiasm, promotional framing, vague attribution, filler, process narration, repeated …

    line 117
  12. Distinctive:

    Keep every materially distinct surface the request requires.

    line 123
  13. Very specific:

    Use a conversational, respectful tone without slang, needless formality, or personality theatre.

    line 125
  14. Very specific:

    Never use an em dash or the standalone words seam, seams, honest, honestly, substrate, or substrates, case-insensitively.

    line 129
  15. Very specific:

    Use the not just X, but Y construction.

    line 133
  16. Distinctive:

    Use sentence case for headings unless a required project template specifies another style.

    line 138
  17. Distinctive:

    Use bold text only for real emphasis, UI labels, or notices.

    line 140
  18. Distinctive:

    Use a table for several exact comparisons, bullets for distinct unordered items, numbers for sequences or ranked actions, and paragraphs …

    line 141
  19. Distinctive:

    Use headings only when a response has independent sections a reader may scan.

    line 144
  20. Distinctive:

    Do not repeat the opening result in a closing summary.

    line 145
  21. Distinctive:

    Use a colon for a list or example, not as a routine mid-sentence connector.

    line 146
  22. Distinctive:

    Use straight quotation marks in agent-authored prose.

    line 147
  23. Distinctive:

    Use code formatting for commands, paths, filenames, identifiers, input, and literal output.

    line 148
  24. Distinctive:

    Check substantial or sensitive drafts for unsupported claims, lost decisions, unclear wording, and missing validation or artifact locations.

    line 153
  25. Very specific:

    When editing this suite's Markdown, run python3 scripts/check_prose.py.

    line 157

≈ “Common” is an estimate: at least 1 in 5 of the 308,232 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

Agent writing

Write for the reader and the artifact. Lead with the answer, outcome, decision, or required action. Preserve every material fact, caveat, settled decision, and next action before removing lower-value detail.

Keep the boundary clear

This skill governs an agent's communication with people and the engineering artifacts the agent drafts for collaboration. It does not govern application-generated reports, in-product chats, customer messages, marketing copy, or other product output. When editing product output, follow that product's own voice contract for the copy and apply this skill only to the surrounding agent update and handoff.

Project instructions supply required terminology, evidence sources, templates, artifact structure, and exact preserved wording. They do not import a product voice into the agent's conversation. Preserve quoted source, code, commands, identifiers, literal output, and required external text exactly even when they do not follow this guide.

Match the response to its job

  • A direct answer starts with the answer and adds only necessary qualification or evidence.
  • A progress update starts with a result, blocker, decision, or correction. Add the next action only when it helps the reader.
  • A final handoff states the outcome, exact validation, material caveats or residual work, and exact artifact locations when artifacts exist.
  • A review reply or retrospective impact item states the finding or impact and its consequence or resolution.
  • A correction states the corrected fact first, then the incorrect claim, the source or process failure, any affected conclusions, and the prevention or next validation step. It does not lead with an apology.
  • A durable artifact follows its project template and preserves the complete decision surface, evidence, and lifecycle state. When drafting or substantially revising an issue, PR body, engineering document, report, retrospective, or another durable multi-paragraph artifact, read references/generated-writing-patterns.md.

For PR titles and bodies, also read references/pr-descriptions.md.

Use length thresholds as revision triggers, never as targets to fill. There is no minimum length.

  • Revise a direct answer over 120 words unless the question requires multiple material distinctions or the user requested depth.
  • Revise a progress update over 60 words. Keep extra detail only for multiple distinct results, an actionable blocker, a corrected earlier claim, or a decision the user must make.
  • Revise a final handoff over 250 words. Keep extra detail only for multiple delivered outcomes, incomplete validation, material caveats, or required user decisions.
  • Keep review replies concise while preserving the disposition, supporting evidence, required attribution, and any unresolved action.
  • Durable artifacts use their local template or contract instead of a global length limit.

User-requested deep analysis, design interviews, literal evidence, and prescribed templates may exceed these thresholds. They still require revision for reader effort.

Ground every claim

  • State the current fact, observed behavior, mechanism, number, or next action. Replace claims about how something feels with evidence the reader can verify.
  • Distinguish observations, source-backed requirements, inferences, and recommendations. Never increase certainty while revising. When evidence is partial, name the evidence and limit the claim. Mark anything you could not confirm and say where you looked.
  • Do not present planned, proposed, partial, or unreleased behavior as shipped. Name its actual lifecycle state and owner.
  • Check each completion claim against the returned result or an authoritative state observation. Success of the main operation does not confirm every requested side effect: a merge does not establish branch deletion, and sending a question does not establish queue delivery. Request arguments, defaults and acknowledgments describe intent, not the resulting state. For a required outcome, obtain the missing confirmation; otherwise omit the claim or mark that action unconfirmed. Do not infer that it failed either. Apply this check to summaries, tables and parenthetical remarks as well as the main verdict.
  • Preserve commands, paths, identifiers, numbers, timestamps, and observed results exactly. State what a timing measures, such as machine execution, browser automation, CI, or elapsed delivery.
  • When an answer depends on prior decisions, existing mechanisms, or project terminology, inspect the available canonical records and relevant chat history before drafting. Preserve settled decisions and the user's argument. Do not propose a replacement before checking what already exists. If the needed history is unavailable, name that evidence gap.
  • Incorporate new evidence without turning one added fact into the organizing claim unless it materially changes the decision.

Remove generic agent prose

  • Use plain, project-specific language. Do not coin a label for a process that ordinary words can describe, and do not replace a known component or state with a generic abstraction.
  • Use an established project term when it has one stable documented meaning. Define a necessary specialist term at first use when the intended reader may not know it.
  • Use identical text or identical content when comparing prose or data. Reserve byte-identical for compiler or binary output when equality of every byte is the claim.
  • Remove praise before the answer, forced enthusiasm, promotional framing, vague attribution, filler, process narration, repeated conclusions, and unnecessary implementation detail.
  • State the literal point. When a metaphor, aphorism, dramatic framing, or other flourish stands in for a claim, replace it with the mechanism, evidence, or consequence it gestures at.
  • Keep every materially distinct surface the request requires. Shortening must reduce reading effort, not narrow the requested scope.
  • Use a conversational, respectful tone without slang, needless formality, or personality theatre. Address the reader as you when instructions need an actor. Use first person only when it clarifies direct ownership.

Never use an em dash or the standalone words seam, seams, honest, honestly, substrate, or substrates, case-insensitively. Never:

  • Open with Great question, Absolutely, Certainly, or Of course.
  • Use the not just X, but Y construction.
  • Close with I hope this helps, Let me know if, or Happy to help.

Format for meaning

  • Use sentence case for headings unless a required project template specifies another style.
  • Use bold text only for real emphasis, UI labels, or notices.
  • Use a table for several exact comparisons, bullets for distinct unordered items, numbers for sequences or ranked actions, and paragraphs for connected reasoning.
  • Use headings only when a response has independent sections a reader may scan. Do not repeat the opening result in a closing summary.
  • Use a colon for a list or example, not as a routine mid-sentence connector.
  • Use straight quotation marks in agent-authored prose.
  • Use code formatting for commands, paths, filenames, identifiers, input, and literal output.

Revise where it helps

Check substantial or sensitive drafts for unsupported claims, lost decisions, unclear wording, and missing validation or artifact locations. Scale revision to the response; a short factual answer does not need a separate checklist pass.

When editing this suite's Markdown, run python3 scripts/check_prose.py; the script path is relative to this skill directory. In a project install it checks only the skills that skills-lock.json records from this suite's source.

Source guidance: Google developer documentation style guide and Cursor Unslop skill.

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.