231 lines
4.3 KiB
Markdown
231 lines
4.3 KiB
Markdown
# /sdd:story-blocked
|
|
|
|
Marks story as blocked and logs the reason.
|
|
|
|
## Implementation
|
|
|
|
**Format**: Imperative (comprehensive)
|
|
**Actions**: Multi-step status update with tracking
|
|
**Modifications**: Updates story file, adds progress log entry
|
|
|
|
### Input Parameters
|
|
```
|
|
/sdd:story-blocked [STORY-ID] [reason]
|
|
```
|
|
- `STORY-ID` (optional): Defaults to current active story
|
|
- `reason` (optional): Prompted if not provided
|
|
|
|
### Execution Steps
|
|
|
|
#### 1. Identify Target Story
|
|
- If `STORY-ID` provided, locate story file across all directories
|
|
- Otherwise, determine current active story from git branch
|
|
- Verify story exists and is not already completed
|
|
|
|
#### 2. Capture Blocking Details
|
|
|
|
Prompt user for:
|
|
|
|
```
|
|
🚫 BLOCKING ISSUE
|
|
================
|
|
|
|
Story: [ID] - [Title]
|
|
Blocked since: [timestamp]
|
|
|
|
Reason for block:
|
|
- [ ] Waiting on external dependency
|
|
- [ ] Need clarification on requirements
|
|
- [ ] Technical issue/bug
|
|
- [ ] Waiting for code review
|
|
- [ ] Infrastructure/environment issue
|
|
- [ ] Missing access/permissions
|
|
- [ ] Other: [specify]
|
|
|
|
Detailed description:
|
|
[What exactly is blocking progress]
|
|
|
|
What's needed to unblock:
|
|
[Specific action or information needed]
|
|
|
|
Who can help:
|
|
[Person/team who can resolve]
|
|
|
|
Estimated resolution:
|
|
[When might this be resolved]
|
|
```
|
|
|
|
#### 3. Update Story File
|
|
|
|
Modifications to make:
|
|
1. Update YAML frontmatter:
|
|
```yaml
|
|
status: blocked
|
|
blocked_since: [ISO timestamp]
|
|
blocked_reason: [selected reason]
|
|
```
|
|
|
|
2. Add progress log entry:
|
|
```markdown
|
|
## [Timestamp] - BLOCKED
|
|
|
|
**Reason**: [selected reason]
|
|
**Details**: [detailed description]
|
|
**Needed to unblock**: [requirements]
|
|
**Can help**: [person/team]
|
|
**Estimated resolution**: [timeframe]
|
|
|
|
**Completed before block**:
|
|
- [List work finished before blocking]
|
|
```
|
|
|
|
3. Add `[BLOCKED]` tag to story title if not present
|
|
|
|
#### 4. Suggest Alternative Work
|
|
|
|
```
|
|
💡 WHILE BLOCKED, YOU COULD:
|
|
|
|
Related work:
|
|
- [ ] Write tests for completed parts
|
|
- [ ] Document what's built so far
|
|
- [ ] Refactor existing code
|
|
|
|
Other stories:
|
|
- [Story X]: Ready to start
|
|
- [Story Y]: Quick bug fix
|
|
|
|
Improvements:
|
|
- Update documentation
|
|
- Fix technical debt
|
|
- Review other PRs
|
|
```
|
|
|
|
#### 5. Track Blocked Time
|
|
|
|
Calculate and display:
|
|
|
|
```
|
|
⏱️ BLOCKED TIME TRACKING
|
|
|
|
This story:
|
|
- Previously blocked: [X hours total]
|
|
- Current block: Started [timestamp]
|
|
|
|
All stories this week:
|
|
- Total blocked time: [X hours]
|
|
- Main block reasons: [Top 3]
|
|
```
|
|
|
|
Update story metadata:
|
|
```yaml
|
|
blocked_time_total: [X hours]
|
|
blocked_instances: [count]
|
|
```
|
|
|
|
#### 6. Create Follow-up Reminder
|
|
|
|
```
|
|
📅 FOLLOW-UP SCHEDULED
|
|
|
|
Check status in: [X hours/days]
|
|
Reminder for: [date/time]
|
|
|
|
Auto-check will:
|
|
- Verify if still blocked
|
|
- Suggest escalation if needed
|
|
- Track resolution time
|
|
```
|
|
|
|
Add to story metadata:
|
|
```yaml
|
|
follow_up_date: [ISO timestamp]
|
|
```
|
|
|
|
#### 7. Pattern Detection
|
|
|
|
If same blocking reason appears multiple times:
|
|
|
|
```
|
|
⚠️ PATTERN DETECTED
|
|
|
|
This is the [Nth] time blocked by:
|
|
[Similar blocking reason]
|
|
|
|
Consider:
|
|
- Process improvement
|
|
- Better communication
|
|
- Different approach
|
|
```
|
|
|
|
Add note to project context or retrospective file.
|
|
|
|
### Output Format
|
|
|
|
#### Block Confirmation
|
|
|
|
```
|
|
✅ STORY BLOCKED
|
|
===============
|
|
|
|
Story: [STORY-ID] - [Title]
|
|
Blocked since: [timestamp]
|
|
Reason: [selected reason]
|
|
|
|
📊 BLOCK REPORT
|
|
==============
|
|
|
|
Current blocks:
|
|
1. [Story ID]: [Reason] - [Duration]
|
|
2. [Story ID]: [Reason] - [Duration]
|
|
|
|
This week's blocks:
|
|
- External deps: [X hours]
|
|
- Clarifications: [X hours]
|
|
- Technical: [X hours]
|
|
|
|
Impact:
|
|
- Velocity reduced by [X]%
|
|
- [X] stories delayed
|
|
```
|
|
|
|
#### Unblock Procedure
|
|
|
|
For future reference:
|
|
|
|
When running `/sdd:story-continue` or `/sdd:story-unblock`:
|
|
```
|
|
✅ UNBLOCKED!
|
|
============
|
|
|
|
Was blocked for: [total time]
|
|
Resolution: [what resolved it]
|
|
|
|
Actions taken:
|
|
- Remove [BLOCKED] tag
|
|
- Update status to previous state
|
|
- Log resolution in progress
|
|
- Resume work
|
|
```
|
|
|
|
#### Escalation Path
|
|
|
|
If blocked > 4 hours:
|
|
```
|
|
⚠️ ESCALATION RECOMMENDED
|
|
========================
|
|
|
|
Blocked for: [X hours]
|
|
|
|
Actions:
|
|
- Notify: [escalation contact]
|
|
- Consider: Alternative approach
|
|
- Document: For retrospective
|
|
```
|
|
|
|
### Notes
|
|
- Modifies story YAML frontmatter and progress log
|
|
- Tracks blocking time in metadata
|
|
- Suggests productive alternatives
|
|
- Does not automatically switch stories (waits for user decision)
|
|
- Creates follow-up reminder for resolution checking |