spark
Skill25 starsChanged 3 months agoMITView on GitHub
Run the full SPARK loop end-to-end for one feature: Specify → Plan → Act → Review → Keep, pausing at every gate for the user's decision. Use when the user brings a feature idea and wants the whole agile team to take it from idea to release in one guided session — or wants to resume a feature that is somewhere mid-loop.
12 other projects use a version of this.
Adopted by
Most recently taken up by
- supabase/evalstheir own version, first seen Nov 8, 2026
- huuphuoc1396/android-claude-skillstheir own version, first seen Nov 1, 2026
- simota/agent-skillstheir own version, first seen Oct 23, 2026
- Noah0025/sparktheir own version, first seen Oct 20, 2026
- G1Joshi/Agent-Skillstheir own version, first seen Oct 13, 2026
- nimadorostkar/Claude-Skills-collectiontheir own version, first seen Oct 13, 2026
Used with
Projects with it also use Forge.
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.
ikennaokpalaSkillForge
Autonomous quality engineering swarm that forges production-ready code through continuous behavioral verification, exhaustive E2E testing, and self-healing fix loops. Combines DDD+ADR+TDD methodology with BDD/Gherkin specifications, 7 quality gates, defect prediction, chaos testing, and cross-context dependency awareness. Architecture-agnostic - works with monoliths, microservices, modular monoliths, and any bounded-context topology.
Also in 3 projects that use this
Other versions12 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 12
- supabase/evals★ 151same name
- tance-mang/chinese-webnovel-skills★ 97same name
- simota/agent-skills★ 96same name
- wishworldbetter/seedex-skills★ 50same name
- nimadorostkar/Claude-Skills-collection★ 33same name
- geeks-accelerator/in-bed-ai★ 26same name
- G1Joshi/Agent-Skills★ 15same name
- huuphuoc1396/android-claude-skills★ 1same name
- jord0-cmd/jord0.skills★ 1same name
- Noah0025/spark★ 1same name
2 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 repository12 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- backlogSkill
- campaignSkill
- charterSkill
- demo-daySkill
- go-liveSkill
- incrementSkill
- look-and-feelSkill
- next-stepsSkill
- peer-reviewSkill
- sprint-planSkill
- story-timeSkill
The file
We split this skill into the rules it gives an agent
7 rules. 0 are common, 1 is distinctive, and 6 are very specific to this project.
0
Common
Most of the 11 edited versions we read keep these.
1
Distinctive
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
- Very specific: line 85
Gather QA prerequisites early: Before /increment starts, ask how the app will be run for /demo-day (start command, URL) and confirm browser …
- Very specific: line 89
Unless the project already declared its QA method: if .spark/constitution.md §8 QA Method names both Browser-observable surface: no and a …
- Distinctive: line 94
Never: ask the user to choose, confirm or supply a substitute method, treat this as an error or a warning, or re-negotiate whether the …
- Very specific: line 130
Close the loop: After /go-live, summarize the whole journey: idea → what shipped, rounds needed, learnings kept.
- Very specific: line 137
Every gate needs the user's explicit decision in this conversation — including the final go for publishing in /go-live.
- Very specific: line 141
All ceremony rules apply unchanged.
- Very specific: line 143
If the session ends mid-loop, the artifacts *are* the state — any later /spark resumes from them.
“Common” is measured: kept by at least 6 in 10 of the 11 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
/spark — The Full Loop (Orchestrator)
You are conducting the entire SPARK loop for one feature. You don't do the phase work yourself — each ceremony's skill defines it. You sequence the ceremonies, enforce the gates, and keep the user in charge at every transition.
Input
- With an idea as argument → start a fresh loop at Specify.
- Without an argument → resume: pick the feature (single one in
.spark/→ use it; several → ask the user), read its artifacts' statuses, and continue at the first phase whose gate is not yet closed (see the phase map below). Load statuses first — pull an artifact's full text only for the phase you are resuming; other artifacts stay header-only (title, Status, IDs). The per-ceremony context budget is defined indocs/workflow.md§ Context Budget. - Without an argument, and no feature to resume (every existing feature
is
releasedorhanded-off, or.spark/is empty) → don't guess an idea. Tell the user there's nothing to resume. If.spark/constitution.mddoesn't exist, name/charteras the first step and offer it, ahead of anything else — never invoke it yourself; if they decline, offer/next-steps,/backlog(whendocs/exists) or their own idea, exactly as today. If a constitution already exists, offer/next-stepsto have the Product Owner propose one from the project's current state,/backlogto seed a whole backlog of issues fromdocs/, or ask them to bring their own idea, exactly as today.
The Phase Map
Determine the current position from artifact statuses in
.spark/<feature-name>/ — from the statuses, not the artifacts. What
places the loop is the Status row in each file's header table plus the
Status column of the task table in plan.md. Grep for those or read the
first few lines; a resume that reads a whole spec and plan to answer "which
phase am I in" spends thousands of tokens on a five-line question, and it
spends them in the context the rest of the loop still has to fit into.
| Artifact state | Next ceremony |
no spec.md | /story-time |
spec.md is draft, UI-facing, design review empty | /look-and-feel |
spec.md is draft otherwise | finish /story-time (approval) |
spec.md approved, no/unapproved plan.md | /sprint-plan |
plan.md approved, tasks not all done | /increment |
tasks done, review.md missing or not passed | /peer-review |
review.md passed, qa.md missing or not passed | /demo-day |
review.md + qa.md passed, no released/handed-off release | /go-live |
release released | loop closed — tell the user |
release handed-off | loop closed for this team — tell the user it's handed off, not yet approved elsewhere |
How You Conduct
- Set expectations once. At the start, tell the user the route ahead
and that you will stop at every gate for their decision. On a fresh loop,
if
.spark/constitution.mdis missing, mention that/chartercan set the project's standing principles once so every phase inherits them — offer it, but don't force it; a project can run without one. If a constitution already declares active lenses, just confirm which are on — the ceremonies read and pass them from the constitution themselves. If no constitution exists, give a one-line nudge: glance at the repo (signals in${CLAUDE_PLUGIN_ROOT}/lenses/README.md), name the likely type(s)/ characteristics you see, and note that/charterrecords them so the matching lenses — see${CLAUDE_PLUGIN_ROOT}/lenses/README.md's Available lenses table for the current set — activate for every phase. Without a constitution no lens is applied — the nudge only surfaces the choice; the constitution is the single source of truth. Companion offer (one line, never forced). On a fresh loop where.spark/does not exist, add the companion offer from${CLAUDE_PLUGIN_ROOT}/tools/README.md§ The companion offer: without a constitution, as one clause of the nudge above, at most once per session. With a constitution, only when that section's update rule says to re-offer;/charterrecords the answer, you do not. Name the install command; never run it. This is onboarding, not a gate: it blocks nothing. - Gather QA prerequisites early. Before
/incrementstarts, ask how the app will be run for/demo-day(start command, URL) and confirm browser tooling exists — a loop that stalls at QA for missing setup wastes the whole session. Unless the project already declared its QA method: if.spark/constitution.md§8QA Methodnames bothBrowser-observable surface: noand a substitute method, don't ask any of that and don't re-negotiate the method — say in one line which method QA will use and move on. Absent, incomplete, oryes→ ask exactly as above. Never ask the user to choose, confirm or supply a substitute method, treat this as an error or a warning, or re-negotiate whether the ceremony should be overridden. Fine, not a violation: stating in your own words that no declaration applies. Discouraged, capped at Minor: quoting the declaration's raw field values verbatim (specAC-1.3/NFR-4,C19). Like every other ceremony,/sparkonly ever reads it: creating or amending it is/charter's alone. - Run each ceremony by its own rules. For every phase, read
${CLAUDE_PLUGIN_ROOT}/skills/<ceremony>/SKILL.mdand follow it exactly — same agents, same templates, same gate procedure. You add nothing and skip nothing. - Stop at every gate. Present the phase's artifact and result, then get
the user's explicit decision: approve and continue, iterate this phase,
or stop here (a paused loop resumes later via
/spark). Never roll through a gate on momentum — an approval for the spec is not an approval for the plan. - Offer the clean handoff at heavy gates. The artifacts are the
state, which makes every closed gate a safe place to start again with an
empty context. After the user approves a gate that followed heavy work —
Act (
/increment), QA (/demo-day), and every fix round — tell them in one line: the conversation is still carrying everything that phase read, edited and logged, and none of it is needed for the next phase. They can/clearand continue with/spark, which resumes from the artifacts exactly where they stand. Before you offer it, make sure every status on disk is current — the resume reads those and nothing else. Offer it; never do it for them, and never present it as damage control. It's how the loop is built. - Handle the feedback loops. Review or QA findings route back through
/increment(fix-mode) and then re-run the phase that found them. Count the rounds: after 3 failed rounds of the same phase, stop and lay the situation before the user — the plan or the spec is probably wrong, and grinding harder won't fix that. Offer/sprint-plan(revision) or/story-time. - Keep the narrative. At each transition, give a one-paragraph state-of-the-loop: what just closed, what's next, what's still ahead. The user should never wonder where in the loop they are.
- Close the loop. After
/go-live, summarize the whole journey: idea → what shipped, rounds needed, learnings kept. Then offer/story-timefor the next idea, or/next-stepsif the user wants the Product Owner to propose one instead of bringing their own.
Rules
- Every gate needs the user's explicit decision in this conversation —
including the final go for publishing in
/go-live. If the user asked to "run it all without stopping", still honor the two hard stops: plan approval and the publish go. - All ceremony rules apply unchanged; on conflict, the ceremony's own SKILL.md wins for its phase.
- If the session ends mid-loop, the artifacts are the state — any later
/sparkresumes from them. Leave statuses accurate at all times.
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.

