sdlc-kit
AGENTS.md1 starsChanged 12 days agoMITView on GitHub
These instructions govern this repository. The adopter-facing operating manual is templates/AGENTS.md; keep the two files separate. sdlc is a portable workflow kit for teams that use coding agents. It packages kit-owned skills, exact third-party snapshots, installation-safe scripts, and project-document templates. This repository ships the kit; it does not run the pipeline itself — governance lives in this file and CHANGELOG.md. - skills/ contains kit-owned skills and maintained adaptations. - vendor/skills/ contains the one unchanged third-party snapshot the kit does not…
Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.
Of the AGENTS.md files we read, the 31,843 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.
In this repository8 other files it gives its agents.
- templates/AGENTS.mdAGENTS.md
- templates/CLAUDE.mdCLAUDE.md
- address-reviewSkill
- bootstrapSkill
- code-reviewSkill
- grillingSkill
- security-reviewSkill
- unslopSkill
The file
Show its rules and text
We split this AGENTS.md into the rules it gives an agent
16 rules. About 0 are common, 9 are distinctive, and 7 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈9
Distinctive · estimate
This author's own choices. Worth a look.
7
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- could be automatic: a setting could enforce it
- Very specific: line 26
Keep every file under a pinned snapshot directory (vendor/skills/frontend-design/, .agents/skills/writing-clearly-and-concisely/) …
- Very specific: line 29
Do not hand-edit vendor/skills.lock.json hashes.
- Very specific: line 32
Keep installation project-local by default, offline, reproducible, and non-destructive.
- Distinctive: line 40
Keep the kit runtime-neutral.
- Distinctive: line 42
Do not add tests for prose, formatting, trivial syntax, or one-time repository absence.
- Distinctive: line 54
Do not add agent self-attribution to commits, pull requests, or source comments.
- Distinctive: line 73
Prefer a small direct change over a new abstraction or compatibility layer.
- Distinctive: line 78
When a kit-owned skill or template changes, update its manifest, summaries, installation guidance, and focused validation as applicable.
- Very specific: line 80
Keep templates/AGENTS.md at or below 125 lines, leaving 25 of the filled file's 150 for project facts, and keep templates/CLAUDE.md as a …
- Very specific: line 82
Use Conventional Commits when the maintainer requests a commit: type(scope): summary, imperative, at most 72 characters.
- Distinctive: line 107
Run the smallest relevant checks while editing, then run the release checks before declaring the change ready:
- Very specific: line 127
Keep main deployable. Use a short-lived feat/* branch for changes.
- Distinctive: line 128
Do not commit, push, or open a pull request unless the user explicitly asks.
- Distinctive: line 129
Do not invent remotes or transports.
- Very specific: line 131
Update CHANGELOG.md for user-visible changes and review release metadata before publishing.
- Distinctive: line 132
Never treat a green local check as permission to bypass a required review or maintainer decision.
≈ “Common” is an estimate: at least 1 in 5 of the 40,246 AGENTS.md 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.
Files
Maintainer guide
These instructions govern this repository. The adopter-facing operating manual is
templates/AGENTS.md; keep the two files separate.
Repository purpose
sdlc is a portable workflow kit for teams that use coding agents. It packages kit-owned skills,
exact third-party snapshots, installation-safe scripts, and project-document templates. This
repository ships the kit; it does not run the pipeline itself — governance lives in this file and
CHANGELOG.md.
Source of truth
skills/contains kit-owned skills and maintained adaptations.vendor/skills/contains the one unchanged third-party snapshot the kit does not maintain.vendor/skills.lock.jsonrecords snapshot identity and licensing;.agents/skills/holds the kit's own pinned copy of its writing-standards skill.templates/contains files published into adopter repositories.required-skills.ymlis the supported-skill manifest.scripts/contains installer, vendoring, and validation code.README.md,INSTALL.md, andCONTRIBUTING.mddescribe the public maintainer workflow.
Non-negotiable invariants
- Keep every file under a pinned snapshot directory (
vendor/skills/frontend-design/,.agents/skills/writing-clearly-and-concisely/) byte-for-byte equal to its recorded pin invendor/skills.lock.json. - Do not hand-edit
vendor/skills.lock.jsonhashes. Update a snapshot by replacing its tree at the new upstream commit, recomputing the per-file hashes, and recording the commit; review the resulting diff. - Keep installation project-local by default, offline, reproducible, and non-destructive. An explicitly
selected
SKILLS_DIRmay be external. - Preserve no-clobber publication, containment, integrity, and restrictive-umask guarantees when changing installer code; an interrupted install may leave one temp directory for the next run to clean.
- Apply the maintained
skills/unsloppolicy automatically to human-facing replies and prose where applicable; preserve its exclusions for code, contracts, commands, logs, quoted text, fixed formats, vendor snapshots, and neutral technical records. - Keep the kit runtime-neutral. Skill invocation routes project-local → user-global → runtime
equivalent; a runtime that cannot invoke skills consumes
AGENTS.mdalone. - Do not add tests for prose, formatting, trivial syntax, or one-time repository absence. Use the smallest concrete verification that matches the risk; non-trivial executable behavior, including validation, authorization or security denial, error, retry, timeout, and partial-failure branches, still needs focused automated coverage. Start bug fixes with a failing automated test or observable reproducer appropriate to the risk, and start non-trivial executable behavior with a failing test (RED → GREEN); presentation-only copy, styling, or markup bugs may use a failing diff, render, or visual reproducer. Defer only conditions whose required deployed consumer, real data, deployment, load, traffic, or multi-version compatibility is unavailable, and record each deferral.
- Project-facing PRDs, ADRs, contracts, architecture, security docs, runbooks, test strategies, tracker items, and code comments must describe the product and its decisions, not this kit's internal mechanics. Templates may contain the instructions needed to fill them.
- Do not add agent self-attribution to commits, pull requests, or source comments.
Disagreement
Challenge the plan before implementing it, and never open with agreement. That the maintainer asked for it is not evidence that it is right, and neither is the fact that you wrote it.
- State the approach you rejected and why, and the failure you think most likely.
- Point at what decides the question: an invariant, a check, a file, or a measurement. Run a cheap check when one is available; before execution, name the observation that would settle the objection and collect it at the applicable gate instead of arguing from a position.
- Once the evidence is in, say which way it points and stop arguing. An objection with no way to falsify it is noise.
This mirrors the adopter-facing Challenge before agreeing rule in templates/AGENTS.md; keep the
two in step.
Editing policy
- Prefer a small direct change over a new abstraction or compatibility layer.
- A new adopter-facing rule replaces or deletes an existing one, or waits until the failure it prevents shows up in a second project. One transcript is a reason to watch, not to add a rule.
- Preserve upstream snapshots where a narrow routing or integration rule is enough. Adapt or replace a snapshot only when its behavior reliably conflicts with this repository's needs.
- When a kit-owned skill or template changes, update its manifest, summaries, installation guidance, and focused validation as applicable.
- Keep
templates/AGENTS.mdat or below 125 lines, leaving 25 of the filled file's 150 for project facts, and keeptemplates/CLAUDE.mdas a one-line pointer. - Use Conventional Commits when the maintainer requests a commit:
type(scope): summary, imperative, at most 72 characters. Reference the relevant issue when one exists.
Lifecycle
- Stage: live — adopter repositories consume released kit files; this checkout has no runtime service consumers.
- Real data / production traffic: none. Re-evaluate this register if the product adds one.
Learnings
- Agents skip referenced files, and harnesses without skills read only
AGENTS.md: keep the gates, the review order, and the rules intemplates/AGENTS.md;scripts/validate-kit.pyasserts the operative ones. - An A/B run on two tasks (2026-10-11) found a 37-line manual matched the full stage procedure on code at a third of the cost; the procedure's one win was a fresh review on a different model, which the short manual's one-line rule did not trigger. Add procedure only with evidence like it.
- Measure real line counts before writing a size target into a plan; estimated baselines have been wrong before.
- A runtime editor formatter can dirty committed files after the commit. Before binding review or evidence to a head, check the tree is clean at that head and revert formatting-only churn; it recurs on every edit.
Verification
Run the smallest relevant checks while editing, then run the release checks before declaring the change ready:
./scripts/validate-kit.sh
python3 scripts/validate-required-skills.py required-skills.yml
bash -n install.sh scripts/*.sh
python3 -m py_compile scripts/*.py
git diff --checkAlso inspect the final diff, verify changed paths are present in scripts/kit-manifest.txt, and
confirm vendor snapshots are unchanged unless the task explicitly refreshes one. Documentation changes that affect links or rendering need link or rendering inspection;
presentation-only styling, markup, attributes, or copy may use a diff or one visual check, while
styling, markup, or attributes that change accessibility, security, or interaction behavior need
focused behavior evidence. Installer-affecting changes need a temporary-install
observation.
Git and release safety
- Keep
maindeployable. Use a short-livedfeat/*branch for changes. - Do not commit, push, or open a pull request unless the user explicitly asks. The maintainer performs every landing merge into the target branch. Local default-branch synchronization via
git merge --ff-onlyand unreferenced synthetic merge/integration commits used only for review evidence are not landing merges. - Do not invent remotes or transports. Surface authentication failures and point to the documented one-time fix.
- Update
CHANGELOG.mdfor user-visible changes and review release metadata before publishing. - Never treat a green local check as permission to bypass a required review or maintainer decision.
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
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.

