Help us improve
Share bugs, ideas, or general feedback.
From flywheel
Sets up zero-cost session handoffs for long-running coding projects spanning multiple sessions using Initializer and Coding Agent protocols. Auto-detects planning, multi-agent, and review tools.
npx claudepluginhub romanticamaj/flywheel --plugin flywheelHow this skill is triggered — by the user, by Claude, or both
Slash command
/flywheel:hubThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Long-running agent work succeeds through zero-cost session handoffs, not through one long session that burns out its context window. Flywheel uses a dual-prompt architecture: an **Initializer** (run once) sets up the project with tool detection and artifact generation, then a **Coding Agent** (run N times) executes a 10-step loop — each session implements one feature and leaves a machine-readab...
Orchestrates multi-agent coding tasks via Claude DevFleet: plans projects into mission DAGs, dispatches parallel agents to isolated git worktrees, monitors progress, and retrieves structured reports.
Orchestrates AI coding workflows with self-correction loops, pre-flight discipline rules, and cross-agent support for Claude Code and other agents.
Orchestrates multi-agent coding tasks via Claude DevFleet: plan projects, dispatch parallel agents in isolated git worktrees, monitor progress, and read structured reports.
Share bugs, ideas, or general feedback.
Long-running agent work succeeds through zero-cost session handoffs, not through one long session that burns out its context window. Flywheel uses a dual-prompt architecture: an Initializer (run once) sets up the project with tool detection and artifact generation, then a Coding Agent (run N times) executes a 10-step loop — each session implements one feature and leaves a machine-readable handoff for the next. Works out-of-the-box with zero dependencies (just Claude Code + filesystem), upgradable with framework tools at any time.
Run once per project or epic. Detects installed tools, prompts the user to choose per spoke, and creates all artifacts in .flywheel/.
See initializer-template.md for the full Initializer protocol — runtime detection algorithm, tool selection prompts, artifact generation, and initial commit sequence.
Each session follows a 10-step loop: validate config, read handoff log, read checklist, bootstrap, smoke test, plan the implementation, implement one feature, review (code review layers), verify (platform verification), commit + handoff + flow summary + user verification checkpoint.
See coding-agent-template.md for the full Coding Agent protocol — step-by-step instructions, error handling table, exit rule, and scope rule.
| Spoke | Skill | What it provides |
|---|---|---|
| Planning | flywheel:planning | Framework slot for planning tools, feature-checklist.json schema |
| Multi-Agent | flywheel:multi-agent | Role-based coordination + merge strategy |
| Review | flywheel:review-pipeline | 4-layer review pipeline with framework slots |
Each spoke is independent and defines its own contract, detection logic, and framework slots. The hub references them; they do not depend on each other.
/flywheel:init to set up the project..flywheel/ artifacts (config, checklist, init scripts, empty handoff log).feature-checklist.json./flywheel:relay to start a coding session — picks the next feature, implements it, reviews it, commits merge-ready code, and writes a handoff entry./flywheel:relay until the checklist is complete.Path: .flywheel/flywheel-config.json
{
"planning": {
"tool": "built-in",
"alternatives": ["planning-with-files", "openspec", "superpowers"]
},
"multi_agent": {
"tool": "claude-code-native",
"alternatives": ["gstack", "superpowers"]
},
"profile": {
"default": "adaptive",
"adaptive_rules": {
"1-2": "full",
"3-5": "standard",
"6+": "light"
},
"bump_rules": {
"first_feature": "full",
"security_sensitive": "full",
"has_dependencies": "+1 tier",
"was_blocked": "full",
"has_cross_model_tool": "+1 tier"
}
},
"review": {
"layers": ["cleanup", "peer-review", "cross-model", "e2e"],
"tools": {
"cleanup": "built-in",
"peer-review": "built-in",
"cross-model": null,
"e2e": "built-in"
},
"alternatives": {
"cleanup": ["superpowers:/simplify"],
"peer-review": ["gstack:/review", "superpowers:peer-reviewer"],
"cross-model": ["codex:review", "gstack:/codex", "gemini-cli"],
"e2e": ["gstack:/qa"]
},
"profiles": {
"full": { "cleanup": true, "peer-review": "full", "cross-model": true, "e2e": true },
"standard": { "cleanup": false, "peer-review": "top5", "cross-model": false, "e2e": true },
"light": { "cleanup": false, "peer-review": "verdict", "cross-model": false, "e2e": false },
"draft": { "cleanup": false, "peer-review": false, "cross-model": false, "e2e": false }
}
},
"verification": {
"platforms": {
"web": { "tool": "playwright", "alternatives": ["gstack:/qa", "built-in"] },
"ios": { "tool": "built-in", "alternatives": ["mobile-mcp", "ios-simulator-mcp", "maestro"] }
},
"profiles": {
"full": { "run": "all-platforms" },
"standard": { "run": "primary-only" },
"light": { "run": "built-in-only" },
"draft": { "run": "none" }
}
},
"source": {
"type": "file",
"paths": ["SPEC.md"],
"user_notes": "Also add rate limiting on all endpoints",
"resolved_at": "2026-03-27T00:00:00Z"
},
"scope_rule": "one-feature-per-session",
"exit_rule": "merge-ready",
"branch_naming": "feat/{id}-{slug}"
}
| Field | Type | Description |
|---|---|---|
planning.tool | string | Active planning tool or "built-in" |
planning.alternatives | string[] | Known planning tools for future upgrades |
multi_agent.tool | string | Active multi-agent tool or "claude-code-native" |
multi_agent.alternatives | string[] | Known multi-agent tools for future upgrades |
profile.default | string | "adaptive", "full", "standard", "light", or "draft" |
profile.adaptive_rules | object | Maps feature priority ranges to profiles |
profile.bump_rules | object | Conditions that override the adaptive selection |
review.layers | string[] | Fixed 4-layer pipeline: ["cleanup", "peer-review", "cross-model", "e2e"] |
review.tools | object | Per-layer tool choice; null means layer is skipped |
review.alternatives | object | Per-layer list of known tools for future upgrades |
review.profiles | object | Per-profile layer config: true/false/"full"/"top5"/"verdict" |
verification.platforms | object | Map of platform → { tool, alternatives }. Separate from review E2E. |
verification.platforms.<platform>.tool | string | Selected verification tool for this platform |
verification.platforms.<platform>.alternatives | string[] | Fallback tools for this platform |
verification.profiles | object | Per-profile verification dispatch: "all-platforms", "primary-only", "built-in-only", "none" |
source.type | string | How the checklist was sourced: "file", "user-input", "codebase", or "mixed" |
source.paths | string[] | Spec files used as input |
source.user_notes | string|null | Extra context from user conversation |
source.resolved_at | string | ISO 8601 timestamp |
scope_rule | enum | "one-feature-per-session" — enforces single-feature sessions |
exit_rule | enum | "merge-ready" — no WIP commits allowed |
branch_naming | template | Branch name pattern with {id} and {slug} placeholders |
verified.claude-progress.jsonl before exiting.coding-agent-template.md Stage Tracker and Step 8a enforcement rules.