development-contract-system
Skill4 starsChanged 11 days agoMITView on GitHub
Build a portable change-contract system for any repository. Use when creating or porting a repository workflow based on tracked feature records, lifecycle directories, a policy file, a checker, a lifecycle transition helper, and aligned docs/tests.
In this repository47 other files it gives its agents.
- AGENTS.mdAGENTS.md
- agentic-sdlc-improvementSkill
- agentic-sdlcSkill
- agent-skill-generatorSkill
- agents-md-generatorSkill
- backend-guidanceSkill
- backend-systems-guidanceSkill
- bounded-delegationSkill
- chrome-devtools-axiSkill
- coding-guidance-bashSkill
- coding-guidance-cppSkill
- coding-guidance-goSkill
- coding-guidance-go-tuiSkill
- coding-guidance-pythonSkill
- coding-guidance-qtSkill
- context-engineeringSkill
- deepseek-harnessSkill
- design-md-authorSkill
- development-contract-processSkill
- development-contract-repo-overlay-templateSkill
- documenter-coauthoringSkill
- documenterSkill
- dream-thinkingSkill
- fuse-skillsSkill
- godotSkill
- go-testing-with-testifySkill
- jekyllSkill
- lighthouseSkill
- playwright-testingSkill
- project-config-and-testsSkill
- project-core-devSkill
- project-platform-diagnoseSkill
- project-release-maintainerSkill
- project-vendor-boundarySkill
- prompt-engineeringSkill
- recursive-thinkingSkill
- security-identity-accessSkill
- securitySkill
- setup-playwrightSkill
- story-clarifierSkill
- story-implementation-plannerSkill
- story-repo-scoutSkill
- story-to-plan-orchestratorSkill
- tester-mindsetSkill
- thinkingSkill
- ui-design-guidanceSkill
- ui-guidanceSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
32 rules. About 0 are common, 26 are distinctive, and 6 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈26
Distinctive · estimate
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 8
Use this skill when a repository needs a deterministic, reviewable workflow for tracking substantive work through repo-owned feature …
- Very specific: line 15
When the target repo uses local skills, generate a thin overlay with its concrete policy and helper commands.
- Distinctive: line 75
After this skill is applied, the repository should support this flow:
- Distinctive: line 92
Create the repo-owned policy file.
- Very specific: line 93
Create the feature_records/ tree and template.
- Distinctive: line 95
Add isolated lifecycle fixtures or migrate real records.
- Distinctive: line 96
Add the lifecycle transition helper.
- Distinctive: line 97
Add shell tests for the checker and helper.
- Distinctive: line 98
If the repo uses local skills, add a thin overlay with concrete policy and commands, referencing the portable process skill only when it is …
- Distinctive: line 100
Update README, AGENTS-style docs, and release/hygiene docs.
- Distinctive: line 101
Run the checker and hygiene lanes and fix drift.
- Distinctive: line 107
read the repo's main README and agent or maintainer guidance if present
- Distinctive: line 115
Do not guess substantive paths if the repo already has clear boundaries in docs, workflows, or layout.
- Distinctive: line 126
Keep these invariants in the main workflow:
- Very specific: line 128
put the policy in a neutral repo-owned path such as config/, not under .agents/, when scripts, CI, or humans depend on it
- Very specific: line 133
keep feature records in lifecycle subdirectories whose names match each record's Lifecycle State
- Distinctive: line 137
add direct tests for checker and helper behavior before calling the system complete
- Distinctive: line 142
If the target repository keeps project-local skills, generate a thin overlay that:
- Distinctive: line 152
Do not generate this overlay when the repo does not use local skills.
- Distinctive: line 157
Update the repo docs so a human maintainer can use the system without the skill:
- Distinctive: line 164
Use the lifecycle diagram example in the implementation-details reference when the README needs a concrete visual.
- Very specific: line 170
Prefer repo-owned files under config/, scripts/, and feature_records/ over agent-specific locations.
- Distinctive: line 172
Keep the policy file as the single source of truth for checker behavior.
- Distinctive: line 173
Keep the checker and lifecycle helper deterministic and local-first.
- Distinctive: line 174
Prefer a small explicit schema over a flexible but vague document format.
- Distinctive: line 175
Keep feature records as Markdown so they are easy to review in git.
- Distinctive: line 176
Keep lifecycle visibility obvious from the directory tree.
- Distinctive: line 177
Keep synthetic lifecycle examples in clearly labeled test fixtures or docs, excluded from live changed-path coverage.
- Distinctive: line 180
When the repo uses local skills, keep the repo-local process overlay thin and aligned with the policy, checker, template, and docs.
- Distinctive: line 182
If the repo has a release checklist, point it at the checker and lifecycle docs.
- Very specific: line 194
if the repo uses local skills, the repo-local process overlay points at the concrete policy/checker/helper without duplicating schema …
- Distinctive: line 201
When using this skill, leave behind:
≈ “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.
Files
Development Contract System
Use this skill when a repository needs a deterministic, reviewable workflow for tracking substantive work through repo-owned feature records instead of ad hoc notes.
This skill is self-contained on purpose so it can be moved into another repo or
skill collection without depending on the smaller contract skills from this
frame at runtime.
When the target repo uses local skills, generate a thin overlay with its concrete
policy and helper commands. Reference development-contract-process only when
the target agent has that skill; otherwise include the minimum operator flow.
Build or port the system only within the requested scope. Review and design requests return findings or a draft without creating policy, records, helpers, or new enforcement. Preserve an existing system until its migration is explicit.
What this skill builds
A complete repository-local contract system with these parts:
- a repo-owned policy file
- a
feature_records/directory with lifecycle subdirectories - a Markdown template for new records
- a root
feature_records/README.md - a checker script that validates record structure and changed-path coverage
- a lifecycle transition helper script
- direct shell tests for the checker and lifecycle helper
- repo docs that explain how maintainers should use the system
- optionally, a repo-local process overlay skill that points at the concrete policy file, checker command, helper command, and validation profiles
Recommended default layout:
config/change-contract-policy.sh
feature_records/
README.md
TEMPLATE.md
planned/
active/
done/
superseded/
scripts/check-change-contracts.sh
scripts/set-feature-record-lifecycle.sh
scripts/test-change-contracts.sh
scripts/test-feature-record-lifecycle.shDetailed policy fields, feature-record template sections, checker behavior, helper behavior, test cases, and docs examples live in references/contract-system-implementation-details.md.
Use this skill when
- a repo needs tracked change contracts for substantive work
- maintainers need to see what is active, planned, done, or superseded at a glance
- the team wants explicit implementation and verification evidence
- the repo should remain deterministic even if agent-specific folders disappear
- you are porting this workflow from one repo to another
Do not use this skill when
- the repo only needs a simple issue tracker or TODO list
- the team does not want repo-tracked process artifacts
- there is no appetite for maintaining a checker and template contract
Core outcome
After this skill is applied, the repository should support this flow:
- Substantive work requires a feature record update.
- Feature records live under lifecycle folders:
planned/,active/,done/,superseded/. - The record's folder must match its
## LifecycleState. - A checker validates structure, ownership, evidence, and lifecycle placement.
- A helper script moves records between lifecycle folders and updates the lifecycle fields deterministically.
- Repo docs explain the system clearly enough for maintainers who never use an AI assistant.
Build order
Implement in this order to avoid drift:
- Discover the repo's real substantive-change surface.
- Create the repo-owned policy file.
- Create the
feature_records/tree and template. - Implement the checker against the policy file.
- Add isolated lifecycle fixtures or migrate real records.
- Add the lifecycle transition helper.
- Add shell tests for the checker and helper.
- If the repo uses local skills, add a thin overlay with concrete policy and commands, referencing the portable process skill only when it is available.
- Update README, AGENTS-style docs, and release/hygiene docs.
- Run the checker and hygiene lanes and fix drift.
Phase 1: Ground in the repo
Before adding anything:
- read the repo's main README and agent or maintainer guidance if present
- identify the directories and top-level files that count as substantive
- identify existing validation commands
- identify whether the repo already has a tracked plans folder or release checklist
- identify whether the repo is CMake-first, Makefile-based, Cargo-based, npm, or another ecosystem so command examples fit the repo
Do not guess substantive paths if the repo already has clear boundaries in docs, workflows, or layout.
Phases 2-7: Build the contract mechanics
Use references/contract-system-implementation-details.md for the detailed policy surface, feature-record tree, template sections, checker checks, lifecycle helper behavior, fixture guidance, and direct test cases.
Keep these invariants in the main workflow:
- put the policy in a neutral repo-owned path such as
config/, not under.agents/, when scripts, CI, or humans depend on it - make the policy the single source of truth for substantive paths, lifecycle values, required sections, evidence lanes, checker command, and validation profiles
- keep feature records in lifecycle subdirectories whose names match each
record's
LifecycleState - make the checker validate both changed-path coverage and record structure
- make the lifecycle helper update fields and move files deterministically
- add direct tests for checker and helper behavior before calling the system complete
Phase 8: Add a repo-local process overlay when the repo uses skills
If the target repository keeps project-local skills, generate a thin overlay that:
- names the concrete policy file path
- applies
development-contract-processwhen installed, or includes a concise operator flow when that skill is unavailable - names the checker command and lifecycle helper command
- points at the repo policy's validation profiles
- avoids restating schema details already enforced by policy and checker
Do not generate this overlay when the repo does not use local skills. The repo must remain usable for humans and scripts without any skill dependency.
Phase 9: Update docs
Update the repo docs so a human maintainer can use the system without the skill:
- main README
- AGENTS-style maintainer guidance
- release checklist or hygiene docs
- feature-records README
Use the lifecycle diagram example in the implementation-details reference when the README needs a concrete visual. Always document the lifecycle helper command explicitly.
Decision rules
- Prefer repo-owned files under
config/,scripts/, andfeature_records/over agent-specific locations. - Keep the policy file as the single source of truth for checker behavior.
- Keep the checker and lifecycle helper deterministic and local-first.
- Prefer a small explicit schema over a flexible but vague document format.
- Keep feature records as Markdown so they are easy to review in git.
- Keep lifecycle visibility obvious from the directory tree.
- Keep synthetic lifecycle examples in clearly labeled test fixtures or docs, excluded from live changed-path coverage. Only real records belong in active or completed work inventories; do not invent verifier evidence to seed them.
- When the repo uses local skills, keep the repo-local process overlay thin and aligned with the policy, checker, template, and docs.
- If the repo has a release checklist, point it at the checker and lifecycle docs.
Final acceptance criteria
The system is complete when:
- the repo has a neutral policy file
feature_records/exists with root docs/template and lifecycle subdirectories- the checker enforces lifecycle and evidence rules
- the helper script performs lifecycle transitions deterministically
- direct tests exist for checker and helper
- if the repo uses local skills, the repo-local process overlay points at the concrete policy/checker/helper without duplicating schema literals
- repo docs explain the lifecycle model and helper commands
- the repo's hygiene or validation path includes the checker
Output expectations
When using this skill, leave behind:
- the full repo-owned contract system
- isolated lifecycle examples or migrated real records
- tests that prove checker and helper behavior
- docs aligned with the system
- a concise summary of what was validated and what remains manual
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.

