converge
Skill23 starsChanged 2 months agoMITView on GitHub
Use after building a feature from a task list, to find out whether the code actually does what its spec, plan and constitution say: \"is this feature really done?\", \"check the code against the spec\", \"what's still missing?\", \"did we build everything we planned?\", every box in tasks.md ticked, or before calling a spec-driven feature done. Not before code exists (that's `analyze`), not for a single claim (that's `double-check`), not for running the thing end to end (that's `qa`).
7 other projects use a version of this.
Adopted by
Most recently taken up by
- formal-you/agent-skills-suitetheir own version, first seen Oct 20, 2026
- AsimSayed/claude-skillstheir own version, first seen Oct 13, 2026
- ForeignerfromJupiter/foreigners-povtheir own version, first seen Oct 9, 2026
- mmaripanguec/dev-sdd-kittheir own version, first seen Jul 21, 2026
- corygabrielsen/skillstheir own version, first seen May 19, 2026
- limiteinductive/agent-skillstheir own version, first seen May 5, 2026
Other versions7 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 7
- ForeignerfromJupiter/foreigners-pov★ 2same name
- mmaripanguec/dev-sdd-kit★ 2same name
- B-A-M-N/Converge★ 1same name
- corygabrielsen/skills★ 1same name
- limiteinductive/agent-skills★ 1same name
- AsimSayed/claude-skills★ 0same name
- formal-you/agent-skills-suite★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository34 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- analyzeSkill
- assessSkill
- blueprintSkill
- breakdownSkill
- buildSkill
- checklistSkill
- clarifySkill
- constitutionSkill
- debugSkill
- deepenSkill
- deprecateSkill
- double-checkSkill
- explainSkill
- handoffSkill
- helpSkill
- initSkill
- interviewSkill
- learnSkill
- levelupSkill
- lintSkill
- living-docsSkill
- performanceSkill
- personaSkill
- promptSkill
- prototypeSkill
- qaSkill
- quarantineSkill
- reportSkill
- roadmapSkill
- routeSkill
- signatureSkill
- specifySkill
The file
We split this skill into the rules it gives an agent
4 rules. 0 are common, 1 is distinctive, and 3 are very specific to this project.
0
Common
Most of the 7 edited versions we read keep these.
1
Distinctive
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
- Very specific: line 39
Run it, not only read it: Run every step in quickstart.md, then the unhappy paths the spec's edge cases name.
- Very specific: line 72
After every round, run mastermind next and end with the step it names.
- Distinctive: line 85
A finding without evidence is a guess: Every row names the file and line, or the command and its output.
- Very specific: line 89
Little or no code yet is not an error: Every item is missing; append them all.
“Common” is measured: kept by at least 6 in 10 of the 7 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.
Files
MasterMind: Converge
The task list says what was meant. The code says what happened. This closes the gap: it reads the
feature's documents as the only source of intent, checks the code against every item, and appends
what is missing as new tasks for build. Layout and IDs: ~/.mastermind/engineering/core/spec-driven.md.
Feature: $ARGUMENTS.
The one write the assessment may make
The assessment appends a ## Phase N: Convergence section to tasks.md. Nothing else. It never edits
spec.md, plan.md, an existing task, a previous convergence phase, or any code. When nothing is
missing, tasks.md stays byte for byte unchanged and no empty heading is added. Closing a converged
feature, below, is a separate step taken after the verdict.
Who runs it
The session that built the feature already believes it is finished. Dispatch a fresh-context subagent with the feature folder, the constitution and repository access, and nothing about how the build went. Where no isolated context exists, run it yourself and label the result self-graded.
Method
- Require the documents.
spec.md,plan.mdandtasks.mdmust exist. If one is missing, stop and name the skill that produces it. Missing code is not a stop: see the last gotcha. - List the intent. One line per
FR-###,US#/AC#, success criterion needing build work, plan decision that names a file or behavior, constitutionMUST, and existing task. - Bound the search to the paths
plan.mdandtasks.mdname, plus a search for each requirement's key terms. Do not wander past what the documents define. Before marking anythingmissing, search again with the code's own name for the concept, starting from the brief's glossary: a gap in wording is not a gap in code. A code index, when the project has one, can suggest where to look. Evidence still comes from reading the source, and absence from an index never provesmissing. - Check every item against the code, every task included, ticked or not. A ticked box is a
claim, not evidence. Evidence is a file and line, a command's output, or a passing check from
quickstart.md. - Run it, not only read it. Run every step in
quickstart.md, then the unhappy paths the spec's edge cases name. Contradictions between two documents surface here, where reading misses them. - Classify each gap:
| Gap | Means |
missing | nothing in the code does it |
partial | something does it, not fully: a case, a state or a rule is absent |
contradicts | the code does something the intent or a constitution MUST forbids |
unrequested | the code does something no document asked for (a task to justify or remove it, never a deletion) |
- Grade each gap. CRITICAL: breaks a constitution
MUST, or blocks a P1 story. HIGH: a core requirementmissingorpartial. MEDIUM: a secondary one, orunrequestedwith no clear reason. LOW: polish. - Show the findings before writing:
| ID | Gap | Severity | Traces to | Evidence | Remaining work |, then counts of what was checked. - Append the tasks, CRITICAL first, continuing the highest task ID:
## Phase 6: Convergence
- [ ] T043 Reject exports over the workspace limit in src/export/limits.ts per FR-004 (missing)
- [ ] T044 Keep amounts immutable after settlement in src/ledger/settle.ts per C-III (contradicts)Closing a converged feature
Say Converged with the counts of what was checked. Then run the closing steps from spec-driven.md:
set the spec's status to converged with the date, promote what outlives the feature into the living
docs and .mastermind/MAP.md, and treat the folder as frozen history from here.
The loop
After every round, run mastermind next and end with the step it names.
build the appended tasks, then converge again. Three rounds without converging means the documents
and the code disagree about something real. Stop and ask the user which one is wrong.
Gotchas
- Read the code against the intent before reading any tool's output. A linter or test report read first decides what you look for.
- The spec's silence is not a pass. Behavior the spec never names is graded by what a reasonable
user would get from it, and the cases
blueprintlisted as implied are checked like requirements. - The pull to declare it done is strongest when every box is ticked. That is exactly the case this exists for. Check the code behind each box.
- A finding without evidence is a guess. Every row names the file and line, or the command and its output.
- Never fix the code here. Even a one-line gap becomes a task. Mixing assessment and repair is how a check ends up grading its own fix.
- Little or no code yet is not an error. Every item is
missing; append them all. - A gap already open as a task is not appended again. Name the existing task in the findings.
- Known debt is a note. A constitution violation listed as known debt, in code this feature did not change, is reported but never blocks converging.
- When the fix needs the user, such as a constitution amendment or a money decision, append the task,
set the spec to
blockedwith the question, and stop. Nothing else may amend the constitution.
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.

