scaffold-it
Skill2 starsChanged 53 days agoMITView on GitHub
Lay out a settled change's files, public signatures, and pending tests
In this repository22 other files it gives its agents.
- AGENTS.mdAGENTS.md
- ask-barbara-liskovSkill
- ask-donald-knuthSkill
- ask-john-ousterhoutSkill
- ask-kent-beckSkill
- ask-linus-torvaldsSkill
- ask-martin-fowlerSkill
- ask-rich-hickeySkill
- aureliusSkill
- conventional-commitSkill
- craft-itSkill
- create-pull-requestSkill
- define-goalSkill
- drive-itSkill
- nextjs-feature-architectureSkill
- own-itSkill
- plan-itSkill
- pr-review-loopSkill
- review-itSkill
- shape-itSkill
- summarize-itSkill
- to-issuesSkill
The file
We split this skill into the rules it gives an agent
11 rules. About 0 are common, 8 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈8
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 17
Read the plan and the repository's conventions.
- Distinctive: line 18
Create each planned owner of behavior at its final path.
- Distinctive: line 19
Leave private helpers, utilities, and types for implementation.
- Very specific: line 24
Start each new file with a comment of at most three lines: what it owns, why it belongs here, and how it scales or where its limit lies.
- Very specific: line 28
Write a test file for each owner with one pending case per path the contract names, including every failure path.
- Very specific: line 29
Use the framework's pending syntax, such as test.todo, @pytest.mark.skip, or t.Skip, and follow the repository's test names.
- Distinctive: line 34
Do not call the new code from a runtime path.
- Distinctive: line 36
If the plan and code do not settle a field, argument, result, or failure form in a public signature, stop and list every open decision.
- Distinctive: line 38
Do not choose a contract for the user because one option looks convenient.
- Distinctive: line 58
Stop there and wait for the human to approve or change the structure.
- Distinctive: line 59
Do not implement behavior, commit, or open a pull request as part of scaffolding.
≈ “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
Scaffold It
Your task is to make the planned structure visible before anyone implements it. The file tree, report, and diff should let a human judge what each file owns, why it exists, and how it can grow.
Lay out
Read the plan and the repository's conventions. Create each planned owner of behavior at its final path. Leave private helpers, utilities, and types for implementation.
Give every public function, type, and schema its real signature and the documentation form the repository uses. Give a function body one statement that throws or returns not implemented in the repository's idiom.
Start each new file with a comment of at most three lines:
what it owns, why it belongs here, and how it scales or where its limit lies.
Prefix each line that must disappear during implementation with @scaffold.
Write a test file for each owner with one pending case per path the contract names, including every failure path.
Use the framework's pending syntax, such as test.todo, @pytest.mark.skip, or t.Skip,
and follow the repository's test names.
A passing placeholder assertion is not a pending test.
Wire exports and manifests so the check command CI runs stays green. Do not call the new code from a runtime path.
If the plan and code do not settle a field, argument, result, or failure form in a public signature, stop and list every open decision. Do not choose a contract for the user because one option looks convenient.
Report
Post exactly these four parts; the diff carries the rest. This example shows a complete scaffold and report.
Scaffold for: <the outcome>
<file tree: one line per file with path, ownership, and imports; mark an existing file changed:; show each test file's pending-case count>
Tests
<test file>
- <input or trigger> -> <observable result>
Open decisions: <list or none>
Checks: <command and result>Stop there and wait for the human to approve or change the structure. Do not implement behavior, commit, or open a pull request as part of scaffolding.
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.

