charter
Establish or amend the project constitution — the standing principles and constraints that bind every SPARK phase. Use once at project start to give the team…
Have the Product Owner survey the project's current state — shipped features, in-flight work, open findings, standing goals — and propose one concrete next feature ready to hand to /story-time or /spark. Use when the user has no idea in hand and asks "what should we build next",
$ npx -y skills add a-lottes/aSPARK --skill next-steps --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/next-stepsContext preview
The summary Claude sees to decide when to auto-load this skill.
Have the Product Owner survey the project's current state — shipped features, in-flight work, open findings, standing goals — and propose one concrete next feature ready to hand to /story-time or /spark. Use when the user has no idea in hand and asks "what should we build next",
name: next-steps description: > Have the Product Owner survey the project's current state — shipped features, in-flight work, open findings, standing goals — and propose one concrete next feature ready to hand to /story-time or /spark. Use when the user has no idea in hand and asks "what should we build next", when a loop just closed and the next cycle needs a starting point, or when the backlog feels stale and needs a grounded suggestion instead of a guess.
You are running an **advisory** ceremony, not a gated one. The Product Owner looks at where the project actually stands and proposes what to build next — the user picks, tweaks, or discards it. Nothing here gets written to `.spark/` and nothing needs approval; the output is a recommendation to carry into `/story-time` or `/spark`.
None required. Optionally the user may point at a theme or constraint (e.g. "something small", "focus on the API") — pass it through to the agent as a steer, not a fixed answer.
1. **Gather the loop state yourself — don't delegate this.** The `product-owner` agent cannot run `git` or walk `.spark/`. Collect a brief before invoking it:
what actually shipped and when.
`review.md`, `qa.md` where present, read each artifact's **Handoff** block first — a bounded read, not the whole file. Status, Summary/ Verdict and Open items are enough to classify the feature as **shipped** (released), **shipped-pending-approval** (`handed-off` — closed for this team, never resumed), **in-flight** (mid-loop, no open blocking findings), or **stalled** (open review/QA findings, or untouched for a while).
these are open points, not just status flags. The block's Open field already names the Blocker/Major IDs; read the specific finding's row in §3 Findings only for the ones you need described in the brief, not the whole report.
Project Profile sections are the standing goals a proposal should serve.
— before proposing anything — and continue to step 2 only on the user's explicit skip; never invoke `/charter` yourself. This holds whether the repo is empty or already has shipped history: a codebase without a constitution has as much reason to start there as an empty one. On an empty `.spark/` with trivial git history and no constitution, still name `/charter` rather than only saying "there's nothing to propose from" — the honest move used to be asking the user for an idea outright; now it's pointing at the ceremony built for exactly that gap.
say so plainly — there is no "state" to read yet — and ask the user for the first idea rather than fabricate one. This is unrelated to whether `/charter` was offered or skipped — bullet 1 above already sends a skip straight to step 2, with whatever brief step 1 could gather; this bullet only covers the separate case where that brief would be empty regardless. **A repo where a constitution already exists is untouched by either bullet above and falls straight through to step 2**, exactly as it did before this feature — the Product Owner's own propose-mode rule already asks for missing context when the brief is too thin (see its `## Proposing the Next Feature` step 6), so nothing here needs to intercept that case. 2. **Delegate to the Product Owner.** Invoke the `product-owner` agent in its *propose* mode (see its `## Proposing the Next Feature` section): give it the brief from step 1 verbatim (shipped list, in-flight/stalled features with their open points, constitution excerpt or "none"), plus any user steer. Point it at `.spark/constitution.md` if present. 3. **Relay, don't guess.** If the agent asks clarifying questions before it can propose anything sensible (e.g. the constitution is missing and the product's purpose is unclear), put them to the user, then re-invoke with the answers. 4. **Present the result as a conversation, not a report dump.** Show the recommended feature with its one-paragraph rationale (what gap it closes, why now, rough size, what it displaces), plus up to two alternatives the agent considered and rejected. Lead with the recommendation, not the list. 5. **Let the user decide.** They may: accept the recommendation as-is, ask for a different angle (re-invoke the agent with the steer), pick an alternative, or reject all of them and bring their own idea instead. 6. **Hand off on confirmation.** Once the user has settled on an idea (whichever source), ask whether to continue straight into `/story-time <idea>` or the full `/spark <idea>` loop, and invoke it if they say yes. Do not invoke either automatically — this skill only produces the idea.
recommendation in conversation, not an artifact.
user says which one (or their own idea) to run with.
not skipped past.
exists, the agent must weigh *finishing it* against *starting something new* as one of the candidates — half-shipped work is a real cost.
A gated agile delivery process for Claude Code: an AI product team (PO, Designer, EM, Reviewer, QA, Release) where every feature must pass a quality gate before it moves on — including real-browser QA.
Repo: a-lottes/aSPARK
Establish or amend the project constitution — the standing principles and constraints that bind every SPARK phase. Use once at project start to give the team…
Hands-on QA in a real browser: the QA Tester clicks through the running app, verifies every acceptance criterion from the spec, explores beyond the happy path…
Start the Keep phase of the SPARK loop: the Release Manager runs fresh pre-flight checks, writes the user-facing changelog, prepares tag/PR/ deploy, publishes…
Start the Act phase of the SPARK loop: build the increment strictly following the approved plan, task by task, with progress tracked in the plan. Use after the…
Run the Designer over a spec (design risks, usability heuristics, accessibility) or over an implemented UI (screenshots, running app). Use after /story-time…
Start the Review phase of the SPARK loop: the Reviewer audits the diff produced by /increment — plan conformance, correctness, edge cases, security, test…