agentleFS
NecturaLabsNecturaLabs/AgentSkills/skills/project-docs/SKILL.md

project-docs

Skill1 starsChanged 50 days agoMITView on GitHub

Create or maintain durable project documentation: architecture overviews, architecture decision records, design documents, runbooks and reference docs. Use when recording a consequential decision and its rationale, documenting how a system is structured, or auditing documentation that has drifted from the code. Not for code comments, not for explaining code in conversation, and not for AGENTS.md or any other agent-instruction file.

22 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use test-audit, to-issues and 3 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • BlockSkill

    test-audit

    Invoke whenever writing, changing, reviewing, or sweeping tests in buzz-app. Authoring gate for new tests plus audit workflow for low-value, implementation-coupled, or duplicative tests and the test-only production seams they demand.

    Also in 3 projects that use this

  • GoogleSkill

    to-issues

    Break a plan, spec, or PRD into independently-grabbable issues on the project issue tracker using tracer-bullet vertical slices.

    Also in 3 projects that use this

  • GoogleSkill

    to-prd

    Turn the current conversation into a PRD and publish it to the project issue tracker — no interview, just synthesis of what you've already discussed.

    Also in 3 projects that use this

  • Google CloudSkill

    triage

    Gather context on a change or bug and plan the implementation.

    Also in 3 projects that use this

  • BlockSkill

    frontend-design

    Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.

    Also in 3 projects that use this

The file

We split this skill into the rules it gives an agent

8 rules. 0 are common, 8 are distinctive, and 0 are very specific to this project.

  • 0

    Common

    Most of the 18 edited versions we read keep these.

  • 8

    Distinctive

    This author's own choices. Worth a look.

  • 0

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Read only the reference the classification selects.

    line 29
  2. Distinctive:

    Follow the project's existing documentation layout if it has one — same directory, same naming, same depth.

    line 33
  3. Distinctive:

    If there is no existing layout, scale it to the size of the project:

    line 36
  4. Distinctive:

    Create a subdirectory only once there are enough documents of one kind to need one, not before.

    line 41
  5. Distinctive:

    Do not create an empty directory, and do not create an index file for a directory unless something will actually read it as an index — an …

    line 42
  6. Distinctive:

    A stale doc is a defect, exactly like a stale comment: When a change makes a document wrong, fixing the document is part of finishing that …

    line 61
  7. Distinctive:

    Durable rationale lives in one place: When the "why" belongs in a document, a comment or commit message links to it — it does not repeat it.

    line 66
  8. Distinctive:

    Check what already exists: Search for a document that already covers this system or decision before starting a new one — updating a stale …

    line 73

“Common” is measured: kept by at least 6 in 10 of the 18 edited versions of this file we could read. “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

Project Docs

Project documentation is one of three separate layers of knowledge a repository carries: a persistent-instruction file tells an agent how to behave, a skill carries a conditional procedure, and a document records a fact about this project — how a system is built, why a decision was made, how to operate it. This skill owns the third layer. It never edits a persistent-instruction file or a skill; if a task asks for that, say so and stop.

It is also not for explaining something in conversation. A request to understand or walk through how something works is answered in the reply, with no document created or changed, unless the person also asks for something durable to be written down.

Mode classification

SignalModeReference
A consequential, hard-to-reverse decision was made or is being made, and the reasoning needs to survive past this conversationADRreferences/adr.md
A system's structure needs a map for someone who has not seen itArchitecture overviewreferences/doc-types.md
A design is being worked out, before or during a build, and will keep changing as it doesDesign documentreferences/doc-types.md
A repeatable operational task or procedure needs steps someone else can followRunbook / how-toreferences/doc-types.md
Stable facts — configuration, an API surface, a data model — need to be looked up rather than narratedReference documentationreferences/doc-types.md
Existing docs might no longer match the code, config or commands they describeDocumentation auditreferences/audit.md

Read only the reference the classification selects. Most tasks need exactly one.

Where docs live

Follow the project's existing documentation layout if it has one — same directory, same naming, same depth. Do not restructure it as a side effect of adding one document.

If there is no existing layout, scale it to the size of the project:

  • A small repository gets a small tree — a handful of files directly under a docs/ directory, or even a single file, is correct and complete. Do not scaffold decisions/, design/, guides/ and reference/ subdirectories up front on the promise that they will eventually be needed.
  • Create a subdirectory only once there are enough documents of one kind to need one, not before.
  • Do not create an empty directory, and do not create an index file for a directory unless something will actually read it as an index — an index nobody navigates to is ceremony, not documentation.
  • A document's own frontmatter, if any, exists only for a concrete consumer (a status a lifecycle actually branches on, a date a reader actually needs). Do not add fields because a template had them.

Invariants

These hold in every mode:

  • An ADR records a consequential, hard-to-reverse decision — one with real alternatives, where a future reader will need to know why the chosen one won. It does not record a trivial or easily reversed choice; that is either not written down at all, or covered in a design doc's ordinary prose. See references/adr.md for the test.
  • Architecture docs are a map, not an inventory. They describe boundaries, components and how data and control flow between them, and they point at the code for the rest. A doc that restates what a file already says clearly is duplicating a fact that will drift; link to the file instead.
  • Design docs are living. Unlike an ADR, a design doc is expected to change as the design changes — update it in place rather than layering a second document over the first.
  • A stale doc is a defect, exactly like a stale comment. When a change makes a document wrong, fixing the document is part of finishing that change, in the same commit or the same tightly coupled series — not a follow-up, and not a calendar-scheduled review some time later. Reviewing on a fixed schedule with no real change behind it is the ceremony this skill exists to avoid; a doc earns a look when the thing it describes changes, not when a date arrives.
  • Durable rationale lives in one place. When the "why" belongs in a document, a comment or commit message links to it — it does not repeat it. Duplicating the same rationale into both means one of the two goes stale silently.

Process

  1. Classify the request against the table above and read the one reference it points to.
  2. Check what already exists. Search for a document that already covers this system or decision before starting a new one — updating a stale section beats forking a duplicate.
  3. Write at the right altitude for the mode — an ADR is short and decision-shaped, an architecture overview stays at the map level, a runbook is steps a reader can follow without owning the background, a reference doc is looked up rather than read start to end. references/doc-types.md sizes each one.
  4. Use the matching template as a starting skeleton, not a form to fill in mechanically — cut any section the document genuinely does not need. templates/adr.md and templates/design-doc.md are under templates/.
  5. Land it with the change it documents, when one exists, so the doc and the behavior it describes never ship out of sync.

Audit mode, briefly

Audit is the highest-value mode because a wrong document actively misleads, where a missing one just leaves a gap. It is not a read-through: find the docs, extract what each one claims, check every claim against the current code and — for any documented command — by actually running it, then classify each document as stale, wrong, duplicated, orphaned or fine. The full procedure and the classification definitions are in references/audit.md; do not skip straight to writing a report without doing the verification it describes.

Not this skill

  • Explaining code or a decision in conversation, with no lasting artifact asked for. Answer it in the reply; create or edit nothing. If the person also wants it written down, that part is this skill — the explanation itself is not.
  • Code comments and doc comments. Those live at the call site, in the language's own convention, and are owned by whatever this repository uses for comment work — never this skill. A comment may link to a document this skill produced; it does not duplicate one.
  • Editing a persistent-instruction file (AGENTS.md, CLAUDE.md) or a skill. Those tell an agent how to behave or carry a procedure; this skill records what is true about the project. If a task needs the former, say so and route there instead of writing a document that will not be read the same way.
  • Routine status updates, changelogs, or commit messages. Those already have an owner and a format; this skill is for the kind of documentation meant to outlive a single change.

Output contract

Report, whichever mode ran:

  • Which document(s) were created or updated, at what path, and in which mode.
  • For an ADR: the status it was given and, if it supersedes or is superseded by another, which one.
  • For an audit: the documents examined, the claims checked, and the classification of each — not a bare pass/fail.
  • Anything the request implied should exist but that this pass did not create, and why — usually because it belongs in a different layer (a persistent-instruction file, a skill, a code comment) or because the underlying decision was not actually consequential enough to record.

References

  • references/doc-types.md — architecture overview, design document, runbook and reference doc: what each is for, what belongs in it, and roughly how long it should run.
  • references/adr.md — the test for whether a decision earns an ADR, its structure, and the status lifecycle, including how superseding one works.
  • references/audit.md — the audit procedure and the stale / wrong / duplicated / orphaned / fine classification.

Templates

  • templates/adr.md
  • templates/design-doc.md

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.