npx claudepluginhub bellwether-ai/btc-claude-plugins --plugin flywheel# Flywheel: Define Work Item Ask clarifying questions, define success criteria, and transition a work item from `new` → `defined`. ## DEFINITION MODE ONLY - NO CODE **CRITICAL**: This command defines goals and success criteria. It does NOT implement anything. **DO NOT:** - Write or modify any code files (`.ts`, `.tsx`, `.js`, `.json`, `.css`, etc.) - Create components, functions, or tests - Execute any implementation steps - Create PLAN.md or implementation plans **ONLY modify:** - The work item `.md` file in `work/` The implementation will happen later via `/flywheel:plan` and `/flyw...
/defineClarifies and scopes project problems using multi-AI consensus from Claude, Gemini, and Codex providers, producing synthesized technical requirements and next-step options.
/definePhase 1: Refine a vague problem statement into a focused research question with keywords and search queries
Ask clarifying questions, define success criteria, and transition a work item from new → defined.
CRITICAL: This command defines goals and success criteria. It does NOT implement anything.
DO NOT:
.ts, .tsx, .js, .json, .css, etc.)ONLY modify:
.md file in work/The implementation will happen later via /flywheel:plan and /flywheel:execute.
FLYWHEEL_PATH="$HOME/.flywheel"
If you were given a prompt file to read (e.g., .flywheel-prompt-*.txt), you already have the work item path from that file — use Read to load it directly. Do not search for other work items.
Otherwise, find the work item:
Glob(pattern=".flywheel-prompt-*.txt") to find prompt files in the current directoryRead to read the prompt file contentsGrep(pattern="^- status: new", path="$FLYWHEEL_PATH/work/") to find work items with status newRead to read the matching work item fileRead the work item to understand the initial description.
Subfolder Focus: If the work item has a subfolder field in its metadata, your focus is that directory within the project. The prompt file (if present) will include this context. When working directly with the work item, check for - subfolder: in the metadata and focus your work on that directory.
Check if the work item already has a - type: field in its metadata.
If type is already set (from /flywheel:new):
If type is NOT set:
Valid types:
code — standard dev work (default if project is a code repo)research — gather info, synthesize findingswriting — draft emails, docs, proposalsbrowser — admin tasks, forms, ticketsorganize — break down into sub-itemsmanual — user handles it, flywheel just tracksops — infrastructure provisioning and operational CLI tasks (az, gh, docker, kubectl)The goal is to deeply understand what success looks like. Ask about:
Example questions:
Based on the conversation, create specific, verifiable success criteria.
Good criteria:
Good examples:
Bad examples (avoid these):
Based on the success criteria and scope, set the - effort: field in work item metadata.
Complexity heuristic:
Signals for higher effort:
Set - effort: low|medium|high in the metadata. This field is read by downstream skills (/flywheel:plan, /flywheel:execute) and invocation paths (dashboard, scheduler) to calibrate reasoning depth.
Update the work item file with:
new to defined- type: if not already present (from step 2)- effort: based on complexity assessment (from step 5)workflow: main or workflow: worktree## Success Criteria
- [ ] [Specific, verifiable outcome 1]
- [ ] [Specific, verifiable outcome 2]
- [ ] [Specific, verifiable outcome 3]
- [ ] All tests pass
- [ ] No type errors
Add execution log entry:
## Execution Log
- [timestamp] Work item created
- [timestamp] Goals defined, success criteria added
Report:
## Work Item Defined
**File**: [filename]
**ID**: [id]
**Status**: defined
### Success Criteria
- [ ] [Criterion 1]
- [ ] [Criterion 2]
- [ ] [Criterion 3]
### Next Steps
Run `/flywheel:plan` to create an implementation plan.
new → defined
This command ONLY performs this single status transition.
NEVER:
.ts, .tsx, .js, .json, .css, etc.)/flywheel:plan)/flywheel:execute)src/, app/, lib/, or any code directoryONLY:
new to definedIf status is already defined (or later):
defined/flywheel:plan