Discover and link related issues as dependencies. Searches for issues that should be connected and recommends dependency relationships to establish proper work order.
You are an expert at discovering hidden dependencies between issues and establishing proper work order.
Use this skill when:
Teams often have hundreds of issues without explicit dependencies. This makes it hard to:
**Common scenario:** You have 500 backlog issues but don't realize ENG-123 must be done before ENG-456 can start.
Use search with dependency filters to discover relationships:
```bash
linear search "authentication" --team ENG --format full
linear search "authentication" --has-dependencies --team ENG
linear search --has-blockers --state "Todo" --team ENG
linear search --has-circular-deps --team ENG
```
Search for issues by theme:
```bash
linear search "auth" --team ENG --format full
linear search "database" --team ENG --format full
linear search "API" --team ENG --format full
```
For each group, look for:
Link dependencies using `--blocked-by`:
```bash
linear issues update ENG-456 --blocked-by ENG-123
linear issues update ENG-789 --blocked-by ENG-456
linear issues update ENG-500 --blocked-by ENG-123,ENG-456
```
Check your work:
```bash
linear deps --team ENG
linear search --has-circular-deps --team ENG
linear deps --team ENG | grep "blocks:"
```
Issues often reference each other in descriptions:
```bash
linear search "ENG-123" --team ENG
```
Group issues by technology/feature:
```bash
linear search "OAuth" --team ENG
linear issues update ENG-457 --blocked-by ENG-450 # OAuth provider = ENG-450
```
Work in "Blocked" state often needs explicit blockers:
```bash
linear search --state "Blocked" --team ENG
linear issues update ENG-200 --blocked-by ENG-199
```
High priority work blocked by low priority:
```bash
linear search --priority 1 --team ENG
linear search --priority 1 --has-blockers --team ENG
```
Identify and link core infrastructure first:
```bash
linear search "migration" --team ENG
linear search "API foundation" --team ENG
```
Tag issues to make discovery easier:
Run discovery weekly:
```bash
linear search --team ENG --limit 50
linear search --has-blockers --team ENG
```
When linking dependencies, add a comment explaining why:
```bash
linear issues update ENG-456 --blocked-by ENG-123
linear issues comment ENG-456 --body "Blocked by ENG-123 because we need OAuth provider before implementing login flow"
```
```bash
linear search "<keyword>" --team <TEAM>
linear search --has-dependencies --team <TEAM>
linear search --has-blockers --team <TEAM>
linear search --has-circular-deps --team <TEAM>
linear search --blocked-by <ISSUE-ID>
linear search --blocks <ISSUE-ID>
```
```bash
linear issues update <ISSUE> --blocked-by <BLOCKER>
linear issues update <ISSUE> --blocked-by <BLOCKER1>,<BLOCKER2>
linear issues update <ISSUE> --depends-on <DEPENDENCY>
linear issues update <ISSUE> --blocked-by ""
```
```bash
linear deps <ISSUE-ID>
linear deps --team <TEAM>
linear issues blocked-by <ISSUE-ID>
linear issues blocking <ISSUE-ID>
linear issues dependencies <ISSUE-ID>
```
**Goal:** Discover and link all authentication-related dependencies.
```bash
linear search "auth" --team ENG --format full > auth_issues.txt
linear search "OAuth login" --team ENG
linear issues update ENG-451 --blocked-by ENG-450
linear issues update ENG-452 --blocked-by ENG-450
linear issues update ENG-453 --blocked-by ENG-450
linear search "session" --team ENG
linear issues update ENG-460 --blocked-by ENG-451
linear deps --team ENG
linear search --has-circular-deps --team ENG
linear search --state "Blocked" --team ENG
```
After running discovery, present findings as:
```
DEPENDENCY DISCOVERY REPORT: Team ENG
════════════════════════════════════════
DISCOVERED RELATIONSHIPS (12)
────────────────────────────────────────
Foundation Work:
ENG-450 OAuth provider setup
→ blocks 3 features: ENG-451, ENG-452, ENG-453
ENG-460 Session management
→ blocks 2 features: ENG-461, ENG-462
Feature Work:
ENG-451 OAuth login
→ blocks 1 enhancement: ENG-470
RECOMMENDATIONS
────────────────────────────────────────
1. Prioritize ENG-450 (blocks 3 features)
2. Link ENG-475 to ENG-450 (mentioned in description)
3. Review circular dependency: ENG-480 ↔ ENG-481
COMMANDS TO RUN
────────────────────────────────────────
linear issues update ENG-475 --blocked-by ENG-450
linear issues update ENG-480 --blocked-by "" # Break cycle
```
For large backlogs (100+ issues), automate discovery:
1. **Export all issues**: `linear search --team ENG --limit 250 > backlog.txt`
2. **Group by keyword**: Use grep to find related issues
3. **Create dependency map**: Document relationships in a spreadsheet
4. **Batch link**: Run update commands for each discovered relationship
5. **Verify**: `linear deps --team ENG` to check the final graph
❌ **Don't over-link**: Only link true dependencies, not "nice to have" relationships
❌ **Don't create cycles**: Always verify no circular dependencies
❌ **Don't link to closed issues**: Check issue state before linking
❌ **Don't assume**: If unsure whether A blocks B, ask the team
After running link-deps, you should have:
Run `linear deps --team <TEAM>` and you should see a clear tree structure with minimal orphaned issues.
Leave a review
No reviews yet. Be the first to review this skill!