skills/development-workflows/spark/SKILL.md
Plan-first brainstorming workflow that turns an idea into an approved Markdown implementation plan by default. Use when the user wants to brainstorm, design, scope, or plan a feature/spec before implementation. Spark explores project context, asks only blocking questions, writes the plan under the project root's .plannings/YYYY-MM-DD-feature-slug.md path, self-reviews it, and waits for user approval. Create an HTML or visual plan/spec only when the user explicitly asks for HTML, browser-viewable, or visual output; save the paired .html beside the Markdown plan.
npx skillsauth add bahayonghang/my-claude-code-settings sparkInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Turn rough ideas into an approved implementation plan. Spark is a planning skill, not an execution skill: it clarifies intent, records assumptions, writes a Markdown plan file, and stops for user approval.
Default output is a Markdown plan at <project-root>/.plannings/YYYY-MM-DD-<feature-slug>.md. Create an HTML or visual artifact only when the user explicitly asks for HTML, browser-viewable, visual, mockup, or comparable output.
Prefer the current native plan surface when the environment provides one. Do not force-enter a new mode just to run Spark.
If the environment does not support native plan mode, use the writing-plans planning method as the only fallback rubric. When using that fallback, override any default output path and still save Spark's plan to .plannings/YYYY-MM-DD-<feature-slug>.md.
Create a task for each item and complete them in order:
AskUserQuestion) when available for 2-4 mutually exclusive options; otherwise ask one concise plain-text question. Record non-blocking unknowns as assumptions instead of stopping.<project-root>/.plannings/YYYY-MM-DD-<feature-slug>.md using the slug rules below.<project-root>/.plannings/YYYY-MM-DD-<feature-slug>.html and follow the offline HTML contract.digraph spark_plan {
"Explore project context" [shape=box];
"Ask blocking questions" [shape=box];
"Default Markdown plan
.plannings/YYYY-MM-DD-<feature-slug>.md" [shape=box];
"Explicit HTML/visual branch?" [shape=diamond];
"Optional paired HTML
.plannings/YYYY-MM-DD-<feature-slug>.html" [shape=box];
"Self-review" [shape=box];
"User approves plan?" [shape=diamond];
"Wait for separate execution request" [shape=doublecircle];
"Explore project context" -> "Ask blocking questions";
"Ask blocking questions" -> "Default Markdown plan
.plannings/YYYY-MM-DD-<feature-slug>.md";
"Default Markdown plan
.plannings/YYYY-MM-DD-<feature-slug>.md" -> "Explicit HTML/visual branch?";
"Explicit HTML/visual branch?" -> "Optional paired HTML
.plannings/YYYY-MM-DD-<feature-slug>.html" [label="explicit request"];
"Explicit HTML/visual branch?" -> "Self-review" [label="default"];
"Optional paired HTML
.plannings/YYYY-MM-DD-<feature-slug>.html" -> "Self-review";
"Self-review" -> "User approves plan?";
"User approves plan?" -> "Default Markdown plan
.plannings/YYYY-MM-DD-<feature-slug>.md" [label="changes requested"];
"User approves plan?" -> "Wait for separate execution request" [label="approved"];
}
Understanding the idea:
Exploring approaches:
Design for isolation and clarity:
The Markdown plan path is always:
<project-root>/.plannings/YYYY-MM-DD-<feature-slug>.md
Rules:
YYYY-MM-DD format.<feature-slug> from the feature name when one is obvious.-v2 or a more specific noun..gitignore; .plannings/ is the expected local planning area.Use this structure unless the repository already has a stronger plan template:
# <Feature Name> Implementation Plan
- Date: YYYY-MM-DD
- Feature slug: <feature-slug>
- Status: Draft for user review
## Summary
## Goals
## Non-goals
## Current context
## Assumptions
## Recommended approach
## Alternatives considered
## Implementation steps
## Files and areas likely to change
## Risks and mitigations
## Test and acceptance criteria
## Approval gate
Implementation steps should be concrete enough that a fresh agent can execute them without redesigning the feature. Acceptance criteria must name observable checks, commands, or behaviors; avoid vague wording such as "confirm it works".
Only create a .html artifact when the user explicitly requests HTML, a browser-viewable plan/spec, visual output, mockups, layout comparisons, or a similar visual deliverable.
When the explicit branch is active:
<project-root>/.plannings/YYYY-MM-DD-<feature-slug>.html.assets/spec-template.html when a full HTML plan/spec is needed.h1, a main id="main", and clear headings.[placeholder], or lorem ipsum.spec-document-reviewer-prompt.md only for this HTML branch; the default Markdown plan uses the Markdown self-review below.visual-companion.md before starting the browser companion. Visual companion scratch files are separate from the default plan output.Before asking for approval, review the generated plan and fix issues inline:
After self-review, respond with:
Then stop. Do not implement until the user separately asks to execute the approved plan.
The browser-based companion is available only for explicit visual planning needs. Use it for mockups, diagrams, layout comparisons, and other genuinely visual choices. Keep textual requirements, scope decisions, and technical tradeoffs in the terminal.
Before starting the companion, read the detailed guide:
visual-companion.md
development
Use only when the user explicitly asks for swarm, subagents, parallel agents, dynamic workflow, multi-agent orchestration, 多智能体编排, or when the task truly needs coordinated research plus implementation plus review plus verification packets. Do not use for ordinary code review, planning-only work, single-line bugfixes, routine audits, or migrations unless orchestration is requested or at least two independent workflow dimensions are present.
development
Run a code quality review focused on maintainability, structure, abstraction quality, file growth, branching complexity, boundary cleanliness, and refactoring opportunities. Use when the user asks for code quality review, code review, maintainability review, architecture quality review, PR code quality feedback, 代码质量审查, 代码质量 review, 可维护性审查, 架构质量审查, or review comments about code structure. Do not use for pure security review, formatting-only review, performance profiling, or implementation tasks unless the user also asks for a code quality review.
development
Run a code quality review focused on maintainability, structure, abstraction quality, file growth, branching complexity, boundary cleanliness, and refactoring opportunities. Use when the user asks for code quality review, code review, maintainability review, architecture quality review, PR code quality feedback, 代码质量审查, 代码质量 review, 可维护性审查, 架构质量审查, or review comments about code structure. Do not use for pure security review, formatting-only review, performance profiling, or implementation tasks unless the user also asks for a code quality review.
tools
Modify the Beautiful Mermaid live editor itself rather than writing ordinary Mermaid diagrams. Use when the task mentions the Beautiful Mermaid repo, `editor.ts`, generated `editor.html`, config panel/options, themes or dark mode, zoom, PNG/SVG export, clipboard behavior, sample presets, or renderer wiring for the editor. Do not use for generic Mermaid syntax help or normal Markdown Mermaid authoring.