joycraft-implement-feature
Skill15 starsChanged 51 days agoMITView on GitHub
Run a feature's entire spec queue from one invocation — sequential chain with per-spec wrap-up, fail-fast, session-end once at the end
In this repository70 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- joycraft-add-contextSkill
- joycraft-add-factSkill
- joycraft-bugfixSkill
- joycraft-collaborative-setupSkill
- joycraft-decideSkill
- joycraft-decomposeSkill
- joycraft-designSkill
- joycraft-gather-contextSkill
- joycraft-hardenSkill
- joycraft-implement-featureSkill
- joycraft-implement-level5Skill
- joycraft-implementSkill
- joycraft-interviewSkill
- joycraft-lockdownSkill
- joycraft-new-featureSkill
- joycraft-optimizeSkill
- joycraft-researchSkill
- joycraft-session-endSkill
- joycraft-setupSkill
- joycraft-spec-doneSkill
- joycraft-tuneSkill
- joycraft-verifySkill
- release-docs-syncSkill
- joycraft-add-contextSkill
- joycraft-add-factSkill
- joycraft-bugfixSkill
- joycraft-collaborative-setupSkill
- joycraft-decideSkill
- joycraft-decomposeSkill
- joycraft-designSkill
- joycraft-gather-contextSkill
- joycraft-hardenSkill
- joycraft-implement-featureSkill
- joycraft-implement-level5Skill
- joycraft-implementSkill
- joycraft-interviewSkill
- joycraft-lockdownSkill
- joycraft-new-featureSkill
- joycraft-optimizeSkill
- joycraft-researchSkill
- joycraft-session-endSkill
- joycraft-setupSkill
- joycraft-spec-doneSkill
- joycraft-tuneSkill
- joycraft-verifySkill
- release-docs-syncSkill
- joycraft-add-contextSkill
- joycraft-add-factSkill
- joycraft-bugfixSkill
- joycraft-collaborative-setupSkill
- joycraft-decideSkill
- joycraft-decomposeSkill
- joycraft-designSkill
- joycraft-gather-contextSkill
- joycraft-hardenSkill
- joycraft-implement-level5Skill
- joycraft-implementSkill
- joycraft-interviewSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
6 rules. About 0 are common, 3 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
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 21
Read the sibling README.md (the wave plan) for the intended order.
- Very specific: line 23
If no todo specs remain, skip to Step 4 and say why.
- Distinctive: line 37
When a spec fails (tests not green, or all remaining specs are blocked):
- Distinctive: line 39
Stop the chain: Start no further specs.
- Very specific: line 45
When no todo specs remain, run the once-per-feature finisher yourself: read and follow .github/skills/joycraft-session-end/SKILL.md.
- Very specific: line 49
Write this report to the style contract in docs/templates/reference/output-style.md.
≈ “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
At skill entry, run node docs/.joycraft/check.mjs check --json --session <session-id> once, reusing JOYCRAFT_SESSION_ID if supplied or one ID chosen for this conversation. If the checker is missing or fails, continue the requested skill quietly without retrying setup. Offer updates only for display: true; current, postponed, off, and unknown stay quiet. If automaticUpdate is present, finish this skill, then run its exact command once from the project root: the candidate must verify every safety gate before applying. Other updates require approval. After an offer or automatic attempt, record it with node docs/.joycraft/check.mjs acknowledge <available-version> --session <session-id>. Apply updates only at this workflow boundary; after success, reinvoke the skill or restart the session to load changed instructions.
Implement Feature (Whole-Queue Driver)
One invocation runs a feature's whole spec queue: /joycraft-implement-feature docs/features/<slug>/. You drive the queue sequentially in this conversation — Codex has no subagent boundary to give each spec a fresh context, so the chain shares context and compensates with disciplined per-spec wrap-ups. This is ordinary interactive use — one human invocation, no headless loop, no ToS/cost caveat.
Context honesty: for queues of heavy
isolated-mode specs, a shared-context chain is the wrong tool — true per-spec isolation comes from Pi'sjoycraft-implement-loop(fresh process per spec) or guided-manual (/new+ re-invoke per spec). Say so up front when you see a queue dominated byisolatedspecs, then proceed only if the user confirms.
Step 1: Load the Queue
- Resolve the specs directory: if the given path contains a
specs/subdirectory, use it; otherwise use the path itself. Look for.joycraft-spec-queue.jsonthere. No queue → stop:
No spec queue found in [path]. Run
/joycraft-decomposefirst — it writes the queue, the specs, and the wave plan.- Read the sibling
README.md(the wave plan) for the intended order. Waves marked parallel-safe still run sequentially here — parallelism needs isolation this harness chain doesn't have. - Report the plan before starting: feature slug, M specs, current statuses, the order you'll run them in. If the queue is dominated by
isolatedspecs, surface the context-honesty note above and get a confirmation. - If no
todospecs remain, skip to Step 4 and say why.
Step 2: The Chain — One Spec at a Time
Repeat until no todo specs remain:
- Find the next ready spec: the first
todowhosedepends_onare allin-review/done(read the queue JSON). - None ready but
todospecs remain → fail-fast (Step 3): report which specs are blocked and on what. - Execute the spec by following
.github/skills/joycraft-implement/SKILL.mdend to end — strict TDD (failing tests first, implement until green, every Acceptance Criterion met), then its per-spec wrap-up: bump toin-reviewin BOTH the queue JSON and the spec's frontmatter, terse discovery stub only if surprised, commitspec: <spec-name>. (Treatisolatedspecs the user approved into this chain ascheckpoint.) - Verify before advancing: queue shows
in-review,git logshows thespec:commit, tests green. Anything off → fail-fast (Step 3). - Report one line —
Spec complete: <name> (spec N of M)— and continue.
Step 3: Fail-Fast
When a spec fails (tests not green, or all remaining specs are blocked):
- Stop the chain. Start no further specs.
- Report: which spec failed and why, what reached
in-review, what remainstodo. Leave the queue exactly as it is — never mark anything to cover a failure. - Suggest the recovery path: fix in a fresh conversation (
/new, then/joycraft-implement <failed-spec>), then re-run/joycraft-implement-featurefor the remainder.
Step 4: Finish — Session-End Once
When no todo specs remain, run the once-per-feature finisher yourself: read and follow .github/skills/joycraft-session-end/SKILL.md. It owns the gates the chain deliberately skipped: full validation (must pass before anything graduates in-review → done), discovery consolidation, and push/PR per the project's AGENTS.md git autonomy rules.
Final Report
Write this report to the style contract in docs/templates/reference/output-style.md.
Feature run: <slug>
- Specs completed: N of M (now in-review/done) · failures: [none | <spec> — <reason>]
- Session-end: [ran — see its report | skipped: <reason>]
- Discoveries: [n stubs consolidated | none]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.

