agentleFS
Fadi88Fadi88/one-man-startup/.cursor/rules/skill-spec-audit.mdc

one-man-startup / rules

Cursor rule16 starsChanged 2 days agoMITView on GitHub

Check whether a feature or codebase is specified well enough to hand to a developer agent - five layers (what it does, its interfaces, its architecture, how it ages, what good looks like here) - and name the decisions an agent would otherwise fill in silently. Use before the readiness gate on any feature that touches existing code, and at setup when a codebase already exists.

We split this skill-spec-audit.mdc into the rules it gives an agent

2 rules. About 0 are common, 2 are distinctive, and 0 are 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.

  • 0

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Read only; change nothing.

    line 29
  2. Distinctive:

    Delegate: every layer COMPLETE, or THIN only where a wrong guess is cheap to undo.

    line 45

≈ “Common” is an estimate: at least 1 in 5 of the 6,350 Cursor rule 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-spec-audit.mdc
---
description: "Check whether a feature or codebase is specified well enough to hand to a developer agent - five layers (what it does, its interfaces, its architecture, how it ages, what good looks like here) - and name the decisions an agent would otherwise fill in silently. Use before the readiness gate on any feature that touches existing code, and at setup when a codebase already exists."
alwaysApply: false
---

<!-- Generated by tools/sync_adapters.py from skills/spec-audit/SKILL.md. Edit the source, not this file. -->

# Spec audit

An agent given a thin spec does not stop and ask; it fills the gaps with whatever is most common
in the code it learned from. This audit finds those gaps before the work is delegated, so the
founder decides them instead of the agent's habits.

The five layers follow Hamidreza Saghir's framing of under-specified coding agents, as adapted in
Florian Bruniaux's Claude Code guide; this version is written for this template's files.

## The five layers, and where this template keeps each

| Layer | The question | Where it lives here | If missing, the agent will |
|---|---|---|---|
| 1. Behaviour | What must it do, and how do we know it does? | `spec.md`, the requirement rows | guess the behaviour |
| 2. Interfaces | What goes in and out, what errors, what must always hold? | `contract.md`, types and validation in the code | handle errors optimistically, loosen types |
| 3. Architecture | What exists already, where are the boundaries, what must not be created? | `design.md`, `docs/adr/`, `AGENTS.md`, `skills/single-source/` | duplicate an existing module, cross a boundary |
| 4. Lifecycle | What is deliberately unfinished, what is deferred and why? | `docs/HISTORY.md`, `tools/known_red.json`, `p1-open-questions.md`, `p1-closed-decisions.md` | "fix" a deliberate shortcut, or add a band-aid |
| 5. Culture | What does good look like in this project? | `p1-standing-instructions.md`, `project.toml [style]`, linters, the guidelines skills | write average code in its own style |

## How to run it

Read only; change nothing.

1. **Name the scope:** one feature (its work folder) or the whole codebase.
2. **For each layer, look at the files in the table** and at a few real code files in the area
   the work will touch. Grep before reading (`skills/context-budget/`).
3. **Grade each layer:** COMPLETE (an agent could work without guessing), THIN (some decisions
   left open) or MISSING. A grade cites the file, or the absence of one.
4. **For every THIN or MISSING layer, list the silent fills:** the two or three concrete
   decisions an agent would make on its own. Examples: "creates a second auth helper because
   nothing says one exists"; "returns success when one of three writes failed because no error
   contract says otherwise".
5. **Mark the most dangerous fill:** the one hardest to undo later (a data model, a boundary, a
   public interface).

## Verdict

- **Delegate:** every layer COMPLETE, or THIN only where a wrong guess is cheap to undo.
- **Delegate with review:** THIN layers whose fills are listed in the brief, so the reviewer
  checks exactly those decisions.
- **Do not delegate yet:** any MISSING layer whose most dangerous fill is hard to undo. Turn the
  fills into questions for the founder (`skills/grilling/`) or work for `architect`, then audit
  again.

## Report

`docs/work/<id>/spec-audit.md` for a feature, `docs/spec-audit-<date>.md` for a codebase:

| Layer | Grade | Evidence | Silent fills |
|---|---|---|---|

then the verdict, the most dangerous fill, and the fixes in order of how much risk each removes
for how little work. No score out of 100: the grades and the named fills are what the founder
acts on.

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.

Reviews can't be read right now.

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.