Structured development workflows for Claude Code using tk tickets.
One ticket = one branch = one PR. Each workflow guides you from idea to shipped code in an isolated worktree.
# Start a new feature
/create-feature
# Fix a bug
/create-bug
# Resume work on an existing ticket
/work-ticket p-1234Set up the complete powers workflow on a new machine:
Install tk:
# Follow tk installation instructionsgit clone https://github.com/DustinReynoldsPE/powers.git ~/code/powers
cd ~/code/powersLink the global Claude config files to use this repo's versions:
# Backup existing configs
mv ~/.claude/CLAUDE.md ~/.claude/CLAUDE.md.backup 2>/dev/null
mv ~/.claude/settings.json ~/.claude/settings.json.backup 2>/dev/null
# Create symlinks
ln -s ~/code/powers/CLAUDE.global.md ~/.claude/CLAUDE.md
ln -s ~/code/powers/settings.global.json ~/.claude/settings.json
ln -s ~/code/powers/statusline.sh ~/.claude/statusline.sh
chmod +x ~/.claude/statusline.shThis gives you:
- Development workflow instructions in every session
- Pre-approved permissions for common operations
- Consistent behavior across machines
In Claude Code:
/plugin marketplace add DustinReynoldsPE/powers
/plugin install powers@DustinReynoldsPE/powers
Restart Claude Code. You should see the workflow commands in /skills.
| Command | Description |
|---|---|
/create-feature |
Full feature workflow: brainstorm → worktree → plan → execute → test → finish branch |
/create-feature --subagent |
Same workflow with fresh subagent per plan task and two-stage review |
/create-bug |
Lean bug workflow: investigate → fix → test → finish branch |
/work-ticket <id> |
Resume work on existing ticket based on type and state |
| Command | Description |
|---|---|
/tk-list |
List tickets with optional filters |
/tk-ready |
Show tickets ready to work on (no blockers) |
/tk-ticket |
Create a single ticket manually |
| Command | Description |
|---|---|
/investigate |
Disciplined debugging methodology — structured intake, logging-first, 3-patch rule |
| Command | Description |
|---|---|
/brainstorm |
Socratic design refinement before implementation |
| Agent | Description |
|---|---|
plan-reviewer |
Validates implementation plans against the codebase (read-only, returns structured review) |
Every feature and bug fix follows a branch isolation pattern:
- Create ticket —
tk createcaptures the work item - Create worktree —
git worktree add .claude/worktrees/<ticket-id> -b <ticket-id>isolates work on a dedicated branch - Work in isolation — plan, implement, and test inside the worktree
- Finish branch — choose how to land the work:
- Create PR (recommended) — push branch, open PR via
ghfor review - Merge locally —
git merge --no-ffinto main - Keep as-is — leave branch in place for later
- Discard — delete branch and worktree
- Create PR (recommended) — push branch, open PR via
For large features with 4+ plan tasks, use --subagent to dispatch a fresh subagent per task with two-stage review (spec compliance, then code quality). This prevents context drift on long-running implementations.
- Phases always run, scaled to task size
- Ask on decisions, not confirmations — proceed unless blocked
- Document decisions with
**Decision:**and(auto)or(human)tags - Capture learnings in
## Learningssection for later mining - Never hack around blockers — stop and surface issues
Workflows end by advancing tickets to the test stage, not done. This signals that:
- The agent has completed implementation
- Code is committed and pushed (or PR is open)
- Human (or agent) testing is required before advancing to
done
To advance a ticket after verification:
tk advance <ticket-id> --to doneUse tk pipeline --stage test to see tickets awaiting verification.
Powers includes hooks that capture session knowledge before it's lost to context compaction or session end.
PreCompact hook — Prompts Claude to produce a structured session summary (tickets, decisions, problems, discoveries, incomplete work) while it still has full context.
SessionEnd hook — Extracts the summary from the session transcript and pushes it to the learnings repo.
Summaries are processed nightly by the Manager repo's extraction pipeline:
- Catch-up: summarize any missed sessions
- Extract: create tickets from unresolved problems, discoveries, incomplete work
- Detect patterns: identify recurring themes across sessions and projects
- Generate rollups: daily, weekly, monthly, annual summaries
The nightly job runs from the Manager repo. Requires Bash 5+ (brew install bash).
Run manually:
~/code/manager/scripts/nightly-pipeline.shInstall as launchd job (runs daily at 2am):
cp ~/code/manager/scripts/com.smacbeth.learnings-nightly.plist ~/Library/LaunchAgents/
launchctl load ~/Library/LaunchAgents/com.smacbeth.learnings-nightly.plistCheck logs:
tail -f ~/code/manager/logs/nightly-pipeline.logUninstall:
launchctl unload ~/Library/LaunchAgents/com.smacbeth.learnings-nightly.plist
rm ~/Library/LaunchAgents/com.smacbeth.learnings-nightly.plistSee docs/LEARNING-EXTRACTION-DESIGN.md for the full system design.
agents/
plan-reviewer.md # Plan validation agent
skills/
create-feature/ # /create-feature workflow
create-bug/ # /create-bug workflow
work-ticket/ # /work-ticket resume logic
brainstorming/ # /brainstorm design sessions
investigate/ # /investigate debugging methodology
using-git-worktrees/ # Branch isolation per ticket
finishing-branch/ # 4-option branch completion (PR/merge/keep/discard)
subagent-execution/ # Per-task subagent dispatch with two-stage review
using-powers/ # Session start context
tk-list/ # Ticket listing
tk-ready/ # Ready tickets
tk-ticket/ # Single ticket creation
hooks/
hooks.json # Hook registration (SessionStart, PreCompact, SessionEnd)
session-start.sh # Injects using-powers context
extract-session-summary.sh # Extracts summaries to learnings repo
run-hook.cmd # Cross-platform hook runner
docs/
TICKET-CONVENTIONS.md # Ticket structure patterns
LEARNING-EXTRACTION-DESIGN.md # Learning extraction system design
templates/
PROJECT.md # Project config template
CLAUDE.global.md # Global agent instructions
settings.global.json # Global permissions
/plugin marketplace add powers-dev file://./.claude-plugin/marketplace.json
/plugin install powers-dev@powers/plugin update powers
MIT