Use to expand bd tasks with detailed implementation steps - adds exact file paths, complete code, verification commands assuming zero context
/plugin marketplace add withzombies/hyperpowers/plugin install withzombies-hyper@withzombies-hyperThis skill inherits all available tools. When active, it can use any tool Claude has access to.
<skill_overview> Enhance bd tasks with comprehensive implementation details for engineers with zero codebase context. Expand checklists into explicit steps: which files, complete code examples, exact commands, verification steps. </skill_overview>
<rigidity_level> MEDIUM FREEDOM - Follow task-by-task validation pattern, use codebase-investigator for verification.
Adapt implementation details to actual codebase state. Never use placeholders or meta-references. </rigidity_level>
<quick_reference>
| Step | Action | Critical Rule |
|---|---|---|
| Identify Scope | Single task, range, or full epic | No artificial limits |
| Verify Codebase | Use codebase-investigator agent | NEVER verify yourself, report discrepancies |
| Draft Steps | Write bite-sized (2-5 min) actions | Follow TDD cycle for new features |
| Present to User | Show COMPLETE expansion FIRST | Then ask for approval |
| Update bd | bd update bd-N --design "..." | Only after user approves |
| Continue | Move to next task automatically | NO asking permission between tasks |
FORBIDDEN: Placeholders like [Full implementation steps as detailed above]
REQUIRED: Actual content - complete code, exact paths, real commands
</quick_reference>
<when_to_use> Use after hyperpowers:sre-task-refinement or anytime tasks need more detail.
Symptoms:
</when_to_use>
<the_process>
User specifies scope:
If epic:
bd dep tree bd-1 # View complete dependency tree
# Note all child task IDs
Create TodoWrite tracker:
- [ ] bd-2: [Task Title]
- [ ] bd-3: [Task Title]
...
# Mark in TodoWrite: in_progress
bd show bd-3 # Read current task design
CRITICAL: Use codebase-investigator agent, NEVER verify yourself.
Provide agent with bd assumptions:
Assumptions from bd-3:
- Auth service should be in src/services/auth.ts with login() and logout()
- User model in src/models/user.ts with email and password fields
- Test file at tests/services/auth.test.ts
- Uses bcrypt dependency for password hashing
Verify these assumptions and report:
1. What exists vs what bd-3 expects
2. Structural differences (different paths, functions, exports)
3. Missing or additional components
4. Current dependency versions
Based on investigator report:
NEVER write conditional steps:
❌ "Update index.js if exists"
❌ "Modify config.py (if present)"
ALWAYS write definitive steps:
✅ "Create src/auth.ts" (investigator confirmed doesn't exist)
✅ "Modify src/index.ts:45-67" (investigator confirmed exists)
Bite-sized granularity (2-5 minutes per step):
For new features (follow test-driven-development):
Include in each step:
CRITICAL: Show the full expansion BEFORE asking for approval.
Format:
**bd-[N]: [Task Title]**
**From bd issue:**
- Goal: [From bd show]
- Effort estimate: [From bd issue]
- Success criteria: [From bd issue]
**Codebase verification findings:**
- ✓ Confirmed: [what matched]
- ✗ Incorrect: [what issue said] - ACTUALLY: [reality]
- + Found: [unexpected discoveries]
**Implementation steps based on actual codebase state:**
### Step Group 1: [Component Name]
**Files:**
- Create: `exact/path/to/file.py`
- Modify: `exact/path/to/existing.py:123-145`
- Test: `tests/exact/path/to/test.py`
**Step 1: Write the failing test**
```python
# tests/auth/test_login.py
def test_login_with_valid_credentials():
user = create_test_user(email="test@example.com", password="secure123")
result = login(email="test@example.com", password="secure123")
assert result.success is True
assert result.user_id == user.id
Step 2: Run test to verify it fails
pytest tests/auth/test_login.py::test_login_with_valid_credentials
# Expected: ModuleNotFoundError: No module named 'auth.login'
[... continue for all steps ...]
**THEN ask for approval using AskUserQuestion:**
- Question: "Is this expansion approved for bd-[N]?"
- Options:
- "Approved - continue to next task"
- "Needs revision"
- "Other"
### 2e. If Approved: Update bd and Continue
```bash
bd update bd-3 --design "[paste complete expansion]"
# Mark completed in TodoWrite
# IMMEDIATELY continue to next task (NO asking permission)
All bd issues now contain detailed implementation steps.
Epic ready for execution.
Offer execution choice: "Ready to execute? I can use hyperpowers:executing-plans to implement iteratively."
</the_process>
<examples> <example> <scenario>Developer writes placeholder text instead of actual implementation steps</scenario> <code> bd update bd-3 --design "## Goal Implement user authentication[Full implementation steps as detailed above - includes all 6 step groups with complete code examples]
[Complete code examples will be added here]" </code>
<why_it_fails> Placeholders defeat the purpose:
Common placeholder patterns (ALL FORBIDDEN):
[Full implementation steps as detailed above][See above for detailed steps][As specified in success criteria][Complete code examples will be added here]
</why_it_fails>bd update bd-3 --design "## Goal
Implement user authentication
## Implementation
### Step 1: Write failing login test
```python
# tests/auth/test_login.py
import pytest
from auth.service import login
def test_login_with_valid_credentials():
result = login(email='test@example.com', password='pass123')
assert result.success is True
pytest tests/auth/test_login.py::test_login_with_valid_credentials
# Expected: ModuleNotFoundError: No module named 'auth.service'
# src/auth/service.py
from dataclasses import dataclass
@dataclass
class LoginResult:
success: bool
user_id: int | None = None
def login(email: str, password: str) -> LoginResult:
# Minimal implementation
return LoginResult(success=True, user_id=1)
[... continue for all steps with complete code ...]
All test code included in implementation steps above following TDD cycle."
**Result:** Engineer can execute without any context.
</correction>
</example>
<example>
<scenario>Developer verifies codebase state themselves instead of using codebase-investigator agent</scenario>
<code>
Developer reads files manually:
- Reads src/services/auth.ts directly
- Checks package.json manually
- Assumes file structure based on quick look
Writes expansion based on quick check:
"Modify src/services/auth.ts (if exists)"
</code>
<why_it_fails>
**Manual verification problems:**
- Misses nuances (existing functions, imports, structure)
- Creates conditional steps ("if exists")
- Doesn't catch version mismatches
- Doesn't report discrepancies from bd assumptions
**Result:** Implementation plan may not match actual codebase state.
</why_it_fails>
<correction>
**Use codebase-investigator agent:**
Dispatch agent with bd-3 assumptions: "bd-3 expects auth service in src/services/auth.ts with login() and logout() functions. Verify:
**Agent reports:**
✓ src/services/auth.ts exists ✗ ONLY has login() function - NO logout() yet
**Write definitive steps based on findings:**
Step 1: Add logout() function to EXISTING src/services/auth.ts:45-67 (no "if exists" - investigator confirmed location)
Step 2: Use argon2 (already installed 0.31.2) not bcrypt (no assumption - investigator confirmed actual dependency)
**Result:** Plan matches actual codebase state.
</correction>
</example>
<example>
<scenario>Developer asks permission between each task validation instead of continuing automatically</scenario>
<code>
After user approves bd-3 expansion:
Developer: "bd-3 expansion approved and updated in bd.
Should I continue to bd-4 now? What's your preference?"
[Waits for user response]
</code>
<why_it_fails>
**Breaks workflow momentum:**
- Unnecessary interruption
- User has to respond multiple times
- Slows down batch processing
- TodoWrite list IS the plan
**Why it happens:** Over-asking for permission instead of executing the plan.
</why_it_fails>
<correction>
**After user approves bd-3:**
```bash
bd update bd-3 --design "[expansion]" # Update bd
# Mark completed in TodoWrite
IMMEDIATELY continue to bd-4:
bd show bd-4 # Read next task
# Dispatch codebase-investigator with bd-4 assumptions
# Draft expansion
# Present bd-4 expansion to user
NO asking: "Should I continue?" or "What's your preference?"
ONLY ask user:
Between validations: JUST CONTINUE.
Result: Efficient batch processing of all tasks. </correction> </example>
</examples><critical_rules>
No placeholders or meta-references → Write actual content
[Full implementation steps as detailed above]Use codebase-investigator agent → Never verify yourself
Present COMPLETE expansion before asking → User must SEE before approving
Continue automatically between validations → Don't ask permission
Write definitive steps → Never conditional
index.js if exists"src/auth.ts" (investigator confirmed)All of these mean: Stop, write actual content:
</critical_rules>
<verification_checklist>
Before marking each task complete in TodoWrite:
Before finishing all tasks:
</verification_checklist>
<integration>This skill calls:
This skill is called by:
Agents used:
Detailed guidance:
When stuck:
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.