Add dependency management to issue workflows
Updated skills and commands to identify and formally link issue dependencies using tea CLI: Skills updated: - issue-writing: Document deps in description + link with tea CLI - backlog-grooming: Check for formal dependency links in checklist - roadmap-planning: Link dependencies after creating issues Commands updated: - create-issue: Ask about and link dependencies for new issues - plan-issues: Create in dependency order, link with tea issues deps add - groom: Check dependency status, suggest missing links 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -28,13 +28,16 @@ If title provided:
|
|||||||
1. Create an issue with that title
|
1. Create an issue with that title
|
||||||
2. Ask for description
|
2. Ask for description
|
||||||
3. Assign to appropriate milestone (see above)
|
3. Assign to appropriate milestone (see above)
|
||||||
|
4. Ask if this issue depends on any existing issues
|
||||||
|
5. If dependencies exist, link them: `tea issues deps add <new-issue> <blocker>`
|
||||||
|
|
||||||
## Batch Mode
|
## Batch Mode
|
||||||
|
|
||||||
If $1 is "batch":
|
If $1 is "batch":
|
||||||
1. Ask user for the plan/direction
|
1. Ask user for the plan/direction
|
||||||
2. Fetch available milestones
|
2. Fetch available milestones
|
||||||
3. Generate list of issues with titles, descriptions, and milestone assignments
|
3. Generate list of issues with titles, descriptions, milestone assignments, and dependencies
|
||||||
4. Show for approval
|
4. Show for approval
|
||||||
5. Create each issue with milestone
|
5. Create each issue with milestone (in dependency order)
|
||||||
6. Display all created issue numbers
|
6. Link dependencies between created issues: `tea issues deps add <issue> <blocker>`
|
||||||
|
7. Display all created issue numbers with dependency graph
|
||||||
|
|||||||
@@ -11,23 +11,27 @@ argument-hint: [issue-number]
|
|||||||
|
|
||||||
## If issue number provided ($1):
|
## If issue number provided ($1):
|
||||||
|
|
||||||
1. **Fetch the issue** details
|
1. **Fetch the issue** details with `tea issues <number> --comments`
|
||||||
2. **Evaluate** against grooming checklist
|
2. **Check dependencies** with `tea issues deps list <number>`
|
||||||
3. **Suggest improvements** for:
|
3. **Evaluate** against grooming checklist
|
||||||
|
4. **Suggest improvements** for:
|
||||||
- Title clarity
|
- Title clarity
|
||||||
- Description completeness
|
- Description completeness
|
||||||
- Acceptance criteria quality
|
- Acceptance criteria quality
|
||||||
- Scope definition
|
- Scope definition
|
||||||
4. **Ask user** if they want to apply changes
|
- Missing or incorrect dependencies
|
||||||
5. **Update issue** if approved
|
5. **Ask user** if they want to apply changes
|
||||||
|
6. **Update issue** if approved
|
||||||
|
7. **Link/unlink dependencies** if needed: `tea issues deps add/remove <issue> <dep>`
|
||||||
|
|
||||||
## If no argument (groom all):
|
## If no argument (groom all):
|
||||||
|
|
||||||
1. **List open issues**
|
1. **List open issues**
|
||||||
2. **Review each** against grooming checklist
|
2. **Review each** against grooming checklist (including dependencies)
|
||||||
3. **Categorize**:
|
3. **Categorize**:
|
||||||
- Ready: Well-defined, can start work
|
- Ready: Well-defined, dependencies linked, can start work
|
||||||
- Needs work: Missing info or unclear
|
- Blocked: Has unresolved dependencies
|
||||||
|
- Needs work: Missing info, unclear, or missing dependency links
|
||||||
- Stale: No longer relevant
|
- Stale: No longer relevant
|
||||||
4. **Present summary** table
|
4. **Present summary** table with dependency status
|
||||||
5. **Offer to improve** issues that need work
|
5. **Offer to improve** issues that need work (including linking dependencies)
|
||||||
|
|||||||
@@ -43,6 +43,6 @@ argument-hint: <feature-description>
|
|||||||
- Proceed anyway (with justification)
|
- Proceed anyway (with justification)
|
||||||
|
|
||||||
6. **Ask for approval** before creating issues
|
6. **Ask for approval** before creating issues
|
||||||
7. **Create issues** in order
|
7. **Create issues** in dependency order (blockers first)
|
||||||
8. **Update dependencies** with actual issue numbers after creation
|
8. **Link dependencies** using `tea issues deps add <issue> <blocker>` for each dependency
|
||||||
9. **Present summary** with links to created issues
|
9. **Present summary** with links to created issues and dependency graph
|
||||||
|
|||||||
@@ -33,10 +33,18 @@ For each issue, verify:
|
|||||||
- [ ] Clear boundaries (what's included/excluded)
|
- [ ] Clear boundaries (what's included/excluded)
|
||||||
|
|
||||||
### 5. Dependencies
|
### 5. Dependencies
|
||||||
- [ ] Dependencies identified
|
- [ ] Dependencies identified in description
|
||||||
|
- [ ] Dependencies formally linked (`tea issues deps list <number>`)
|
||||||
- [ ] No circular dependencies
|
- [ ] No circular dependencies
|
||||||
- [ ] Blocking issues are tracked
|
- [ ] Blocking issues are tracked
|
||||||
|
|
||||||
|
To check/fix dependencies:
|
||||||
|
```bash
|
||||||
|
tea issues deps list <number> # View current dependencies
|
||||||
|
tea issues deps add <issue> <blocker> # Add missing dependency
|
||||||
|
tea issues deps remove <issue> <dep> # Remove incorrect dependency
|
||||||
|
```
|
||||||
|
|
||||||
### 6. Labels
|
### 6. Labels
|
||||||
- [ ] Type label (bug/feature/etc)
|
- [ ] Type label (bug/feature/etc)
|
||||||
- [ ] Priority if applicable
|
- [ ] Priority if applicable
|
||||||
|
|||||||
@@ -104,7 +104,19 @@ Use labels to categorize:
|
|||||||
|
|
||||||
## Dependencies
|
## Dependencies
|
||||||
|
|
||||||
Reference related issues:
|
Identify and link dependencies when creating issues:
|
||||||
- "Depends on #N" - Must complete first
|
|
||||||
- "Blocks #N" - This blocks another
|
1. **In the description**, document dependencies:
|
||||||
- "Related to #N" - Informational link
|
```markdown
|
||||||
|
## Dependencies
|
||||||
|
- Depends on #12 (must complete first)
|
||||||
|
- Related to #15 (informational)
|
||||||
|
```
|
||||||
|
|
||||||
|
2. **After creating the issue**, formally link blockers using tea CLI:
|
||||||
|
```bash
|
||||||
|
tea issues deps add <this-issue> <blocker-issue>
|
||||||
|
tea issues deps add 5 3 # Issue #5 is blocked by #3
|
||||||
|
```
|
||||||
|
|
||||||
|
This creates a formal dependency graph that tools can query.
|
||||||
|
|||||||
@@ -80,6 +80,13 @@ In issue descriptions:
|
|||||||
- Depends on #13 (API setup)
|
- Depends on #13 (API setup)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
After creating issues, formally link dependencies:
|
||||||
|
```bash
|
||||||
|
tea issues deps add <issue> <blocker>
|
||||||
|
tea issues deps add 14 12 # Issue #14 depends on #12
|
||||||
|
tea issues deps add 14 13 # Issue #14 depends on #13
|
||||||
|
```
|
||||||
|
|
||||||
## Creating Issues
|
## Creating Issues
|
||||||
|
|
||||||
Use the gitea skill for issue operations.
|
Use the gitea skill for issue operations.
|
||||||
|
|||||||
Reference in New Issue
Block a user