implement
Skill0 starsChanged 32 days agoMITView on GitHub
Execute a prior research plan with GitHub issue integration, plan-vs-actual drift, done-check, and conventional commits. Optional issue number argument.
191 other projects use a version of this.
Adopted by
Most recently taken up by
- revisit-studies/studytheir own version, first seen Nov 9, 2026
- dz114879/skillstheir own version, first seen Nov 8, 2026
- Dimon94/dveritytheir own version, first seen Nov 8, 2026
- Dimon94/skillstheir own version, first seen Nov 8, 2026
- The-Vibe-Company/quivrtheir own version, first seen Nov 8, 2026
- miklschmidt/archboardtheir own version, first seen Nov 8, 2026
Used with
Projects with it also use setup-ts-deep-modules, ask-matt and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
liufeng1976Skillsetup-ts-deep-modules
Wire dependency-cruiser into a TypeScript repo so each package is a deep module — implementation hidden in subfolders, reachable only through its entry-point files. User-invoked.
Also in 43 projects that use this
GoogleSkillask-matt
Ask which skill or flow fits your situation. A router over the skills in this repo.
Also in 91 projects that use this
RoentekSkillloop-me
Grill me about specs for the workflows I want to build, within this workspace.
Also in 50 projects that use this
AWSSkillto-questionnaire
Turn a decision you can't fully answer into a questionnaire for someone else to fill in.
Also in 88 projects that use this
ryotaroh180105Skillclaude-handoff
Hand the current conversation off to a fresh background agent that picks up the work immediately.
Also in 42 projects that use this
GoogleSkillto-spec
Turn the current conversation into a spec and publish it to the project issue tracker — no interview, just synthesis of what you've already discussed.
Also in 168 projects that use this
- +3 more from google
Other versions191 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 191
- mattpocock/skills★ 309ksame name
- QuivrHQ/quivr★ 40ksame name
- The-Vibe-Company/quivr★ 40ksame name
- foambubble/foam★ 17ksame name
- formbricks/formbricks★ 13ksame name
- ArcReel/ArcReel★ 6.3ksame name
- vinvcn/mattpocock-skills-zh-CN★ 5.5ksame name
- fallow-rs/fallow★ 5.3ksame name
- withcoral/coral★ 4.9ksame name
- bestofjs/bestofjs★ 3.1ksame name
181 more not listed
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 repository33 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- authoritative-text-rulesSkill
- breachreaperSkill
- bug-to-contractSkill
- code-review-gateSkill
- codex-contract-test-reviewSkill
- codex-plan-reviewSkill
- codex-reviewSkill
- copilot-reviewSkill
- debtreaperSkill
- diff-rootSkill
- docreaperSkill
- done-checkSkill
- driftreaperSkill
- file-adrSkill
- file-issueSkill
- file-pubdocSkill
- file-pullreqSkill
- finding-to-auditSkill
- finding-triageSkill
- gate-miss-to-issueSkill
- gh-body-auditSkill
- gh-body-conventionsSkill
- land-via-integration-branchSkill
- quality-listSkill
- read-issueSkill
- reimreSkill
- research-and-implementSkill
- researchSkill
- review-pipelineSkill
- review-telemetrySkill
- stage-commit-pushSkill
- todo-checkSkill
The file
We split this skill into the rules it gives an agent
8 rules. 0 are common, 4 are distinctive, and 4 are very specific to this project.
0
Common
Most of the 171 edited versions we read keep these.
4
Distinctive
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 14
When $ARGUMENTS names an issue number <n>, read the issue and its comments using "${CLAUDE_SKILL_DIR}/../read-issue/scripts/read-issue.sh" …
- Very specific: line 19
If no plan is found in either location, check the current conversation context.
- Very specific: line 34
If the plan has no Inconclusive / Deferred items section at all, treat that as a research gap and stop.
- Very specific: line 66
Read MEMORY.md (index only).
- Distinctive: line 82
If, while executing a unit, an unexpected fact is observed (a behavior, type, caller, or invariant the plan did not anticipate):
- Distinctive: line 106
If the example is not on the list, halt: Do not add it on the strength of its properties feeling obvious.
- Distinctive: line 113
When the plan sketches a specific strategy (algorithm, data structure, unsafe pattern) and the implementer chooses a different one at …
- Distinctive: line 117
Enumerate the original strategy's properties explicitly: Not just the named motivation — every property the original mechanism happens to …
“Common” is measured: kept by at least 6 in 10 of the 171 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
implement
GitHub-integrated executor for a research plan: surfaces plan-vs-actual drift and runs a done-check audit before its final output.
Issue / task: $ARGUMENTS
Step 1 — Retrieve the plan
- When
$ARGUMENTSnames an issue number<n>, read the issue and its comments using"${CLAUDE_SKILL_DIR}/../read-issue/scripts/read-issue.sh" <n>; when the read exits nonzero, stop and report its message. - Locate the implementation plan. It can live in two places depending on how the issue was created:
- Issue body (D1 default for umbrella-spawned sub-issues): the body begins with
Parent: #<umbrella>and contains the plan directly. When this line is present, treat the body itself as the plan and ignore comments for plan discovery. - Issue comments (single-scope issues): scan comments for the
researchoutput shape (Hypotheses,Inconclusive / Deferred itemssections).
- Issue body (D1 default for umbrella-spawned sub-issues): the body begins with
- The retrieved plan is expected to follow the
researchoutput shape, including theInconclusive / Deferred itemssection, regardless of which surface it lived on. - If no plan is found in either location, check the current conversation context. If neither is available, suggest running
/research $ARGUMENTSfirst and stop.
Step 2 — Extract the discovery contract
From the plan, extract:
- Plan checklist (units of work)
- Impact list (callers expected to be touched)
- Implementation guards (assertions, paired APIs, constructor validations)
- Derivations (specific examples and their deductive properties, already verified in
research's Derivational hypotheses step). The list of examples whose properties have been derived defines the derivationally cleared example set — examples not on this list are unverified by the plan, regardless of how obvious their properties may seem. - Inconclusive items with their
probeandexpected branches - Deferred items with their
reasonandresolution-point
These together form the discovery contract: the plan-side definition of what counts as "expected during implementation" vs "research gap".
If the plan has no Inconclusive / Deferred items section at all, treat that as a research gap and stop. Do not synthesize the section yourself. Re-run /research or ask the user to update the plan.
If the plan has no Derivations section but the work involves specific-example fixtures (concrete Hamiltonians, concrete protocol messages, named worked cases, etc.), treat that as a research gap on the derivational axis and stop the same way. The absence of a Derivations section means no specific example has been derivationally cleared.
Step 3 — Execute the plan
Work through the Step 2 plan checklist with the plan as the source of truth.
The root — the ref this change is measured from — is an input, supplied by the caller on diff-root's terms. This skill resolves none: with none supplied, ask. State it, and pass it to Step 3.0's todo-check and Step 4's done-check.
3.0 Preflight via todo-check
Before any implementation change, invoke todo-check against the plan, passing the root stated above, to extract the active preflight items and their setup actions for this work. Carry out each △ row's setup action: run a command it names before any change, with the 3.1 baseline, and make any other setup action with the changes it concerns. A preflight that halts emits no table at all, so there are no △ rows to carry out; it has surfaced something to the user, and implementation does not start. A file the diff will carry but the plan does not name has no preflight setup row here; the Step 4 done-check catches it against the diff.
3.0.1 Pre-commit hook recall
Once per session (cache for the duration of the conversation), read the project's pre-commit configuration to identify the constraints each hook will enforce. Typical config locations: .pre-commit-config.yaml, lefthook.yml, .husky/, the [hooks] section of a project task runner (e.g. Makefile.toml / Justfile).
For each hook, summarize what it enforces. Do not memorize hook internals. Pay particular attention to:
- Line-count / file-size limits. Correct response is file-split first, trim only genuinely redundant text (see
quality-listcompletion-hygiene). - Linter constraints that gate commits (e.g., warnings-as-errors flags). They feed into Step 3.1 Baseline.
- Custom checks specific to the project (banned imports, header enforcement, schema validation). Note their existence.
Formatter hooks (rustfmt, prettier, black, clang-format) do not need anticipation — they reformat in place at commit time.
Output: a short summary of the binding constraints. Do not paste the configuration into context.
3.0.2 Memory recall
Make recall deliberate once per session.
- Read
MEMORY.md(index only). - For each entry whose one-line description plausibly intersects a unit in the Step 2 checklist, open and read it.
- Scope filter: entries the unit's description does not plausibly invoke are not active.
Output: a short list of active memory rules, followed in the changes they bear on, alongside todo-check's active items. Before Step 4, fix a change that violates one of these memory rules.
3.0.3 Project documentation recall
Once per session, read any contributor / agent guidance docs present at the repo root or in docs/ (top-level only): CLAUDE.md, AGENTS.md, CONTRIBUTING.md, STYLE.md / STYLEGUIDE.md, HACKING.md, docs/CODING_GUIDELINES.md, docs/conventions/. README.md only if it carries contribution guidance. Treat clearly-labeled non-standard names as in-scope. Follow the constraints the same way as 3.0.2.
3.1 Baseline
Before any code change, build and run existing tests to record pre-existing failures, and run the project's linter (e.g., cargo clippy, clang-tidy, ruff check, eslint) to record pre-existing warnings. Compare against both baselines whenever the tests or the linter run. Pre-commit-gated linters (Step 3.0.1) are especially important — the gate rejects on any new violation. Formatters are excluded.
3.2 Discovery handling during a unit
If, while executing a unit, an unexpected fact is observed (a behavior, type, caller, or invariant the plan did not anticipate):
- Check the plan's
Inconclusiveitems. Is this discovery an expected branch?- Yes → follow the listed branch. If the branch says "re-plan trigger", stop implementation and return to research for this hypothesis.
- No → continue to step 2.
- Check the
Deferreditems. Is this discovery the resolution-point of a deferred concern?- Yes → surface to user, decide whether to expand scope or keep it deferred.
- No → continue to step 3.
- Unlisted discovery = research gap. Stop. Do not patch the surprise ad-hoc. Surface to the user with: what was observed, why it contradicts the plan, what hypothesis class it falls under. Ask whether to re-research or to expand the discovery contract explicitly.
The plan's Inconclusive section is the only sanctioned channel for mid-implementation surprises.
3.2.1 Specific-example derivation gate
The Step 3.2 rule above covers behavioral / structural surprises. A parallel gate covers the introduction of a new specific example during implementation, review, or test addition — even when no "unexpected fact" has surfaced. This includes:
- A concrete Hamiltonian, fixture, or input case being added to satisfy a test plan that named only the abstract spec.
- A worked numerical case being chosen to instantiate a property the plan stated abstractly ("multi-sector W bond" → a particular choice of operators that supposedly realizes it).
- A protocol message, schema, or replay sequence being filled in for a placeholder.
- A test fixture acquiring concrete parameter values where the plan only constrained their qualitative properties.
For every such example, before adding the implementation:
- Check the derivationally cleared example set (extracted in Step 2 from the plan's
Derivationssection). If the example is on the list, it has already been derivationally verified during research; proceed. - If the example is not on the list, halt. Do not add it on the strength of its properties feeling obvious.
- Required action when halted: Surface to the user with: the proposed example, the deductive properties it is being relied on to satisfy (e.g., "this Hamiltonian must be U(1)-symmetric, must be Hermitian, must be non-diagonal in the chosen basis, must exercise the multi-sector path"), and the request to extend the plan's
Derivationssection before proceeding. The derivation itself is performed inresearch's Derivational hypotheses step, not in implementation.
A rejected derivational outcome is a plan bug — return to research and choose a different example.
3.2.2 Mechanism-substitution discipline
When the plan sketches a specific strategy (algorithm, data structure, unsafe pattern) and the implementer chooses a different one at execution time, the substitution must preserve every property of the original, not just the explicit motivation named in the sketch.
Procedure when substituting:
- Enumerate the original strategy's properties explicitly. Not just the named motivation — every property the original mechanism happens to achieve. E.g.
MaybeUninit+ transmute provides {no zero-init, no per-element heap alloc, caller-controlled placement, deterministic layout};Vec::with_capacity+ push provides {no zero-init} only. - Verify the substitute preserves each property. Any dropped property must be named in the plan-vs-actual diff and surfaced to the user — "substituting M with M' to avoid unsafe; M' loses Q. OK to ship?" — not silently discarded.
3.3 Quality items
Substantive rules for guards, fixtures, docstring consistency, textual drift, naming-as-claim, and plan-vs-actual reconciliation live in the rule sets todo-check applies. Honor whichever items Step 3.0's todo-check marked active. The gates in 3.2, 3.2.1, and 3.2.2 above layer on top.
3.4 Rejected commits
A commit a pre-commit hook rejects was not created. Skip a hook — by --no-verify or any other means — only where the user or the skill that invoked this one directs it, and only that hook. Otherwise fix what the hook reports, unless the fix would depart from the plan: then stop and surface the rejection to the user. After a skip or a fix, stage what the commit carries, including the hook's rewrites of those files, and create a new commit, never git commit --amend.
Step 4 — Run done-check
Invoke the done-check skill against the diff, passing the root stated at Step 3. Do not proceed until done-check's step 5 gate is satisfied over both domains — the audit table's ⚠ rows and the cross-cutting concerns reported under it. An audit that halts emits no table at all. It has surfaced something to the user, and this step does not complete.
Step 5 — Final output
- Plan-vs-actual diff — enumerate every divergence between the plan and the implementation diff together with what each divergence traces to, state whether every artifact the plan enumerated is present, and state the outcome of comparing the plan's impact list against the callers the implementation diff modified.
quality-listdiscovery-surfacinggoverns the trace vocabulary and that enumeration check;impact-verificationgoverns the comparison. - Conventional commit message(s), generated under the rules of
generate-conventional-commit-messagesif the skill is available. No HPC paths, no cluster context, no local environment details, no line numbers in body. - Hand off — do not commit unless the user explicitly authorized commits.
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.

