Skip to content
Back to skills

Tracking Issue

ASecurity

Analyze complex problems structurally — map actors, find root causes, create tracking issue with parallel task decomposition

  • 36 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 2, 2026
ai-agentsgobashgitapi

Works with

  • api

Security analysis

A100/100

Scanned September 2, 2026

npx -y skills add fagemx/edda --skill tracking-issue --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Tracking Issue?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Tracking Issue
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/fagemx-tracking-issue/badge)](https://www.skillsdirectory.com/skills/fagemx-tracking-issue)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: tracking-issue
description: Analyze complex problems structurally — map actors, find root causes, create tracking issue with parallel task decomposition
context: fork
---

# Tracking Issue — Structural Problem Analysis

When you encounter a complex bug or architectural problem that touches multiple modules, don't jump to fixing. First build a complete mental model, then create a structured tracking issue that decomposes the problem into parallel fixable tasks.

**Inspired by**: vm0 lancy's pattern — "畫完全景再動手"

Your args are: `$ARGUMENTS`

Parse the args:
- A description of the problem, bug report, or area of concern
- Optionally a GitHub issue number to investigate

---

## Phase 1: Map the System

### 1a: Identify All Actors

List every component/module/service that participates in the problem area.

```markdown
### Actors in the system
| Actor | Role | Entry point |
|-------|------|-------------|
| API handler | Creates/triggers the operation | `src/routes/X.ts` |
| Engine | Executes business logic | `src/X-engine.ts` |
| DB layer | Persists state | `src/db.ts` |
| Background job | Async processing | `src/loop-runner.ts` |
| External service | Bridge call | `src/X-bridge.ts` |
```

For each actor, find the actual code:
```bash
# Search for the relevant entry points
grep -rn "function\|class\|export" src/ --include="*.ts" | grep -i "<keyword>"
```

### 1b: Trace All Interaction Paths

For each pair of actors that interact, trace the code path:

```markdown
### Interaction paths
| From | To | Trigger | Code path |
|------|----|---------|-----------|
| API | Engine | POST /api/X | routes/X.ts:25 → engine.doX() |
| Engine | DB | state change | engine.ts:50 → db.run() |
| Cron | Engine | timer | loop-runner.ts:100 → engine.check() |
```

### 1c: Draw Timeline

For the problem scenario, draw a timeline showing what happens and where things go wrong:

```markdown
### Race/Failure Timeline

T0:     Actor A does X (state = S1)
T0+1s:  Actor B reads state (sees S1)
T0+2s:  Actor A completes (state = S2)
T0+3s:  Actor B acts on stale S1 ← BUG: should see S2
Result: Inconsistent state
```

---

## Phase 2: Find Structural Root Causes

Don't list symptoms. Find the **structural patterns** that cause the problems.

Common structural root causes:
- **Missing guards**: state transitions without `WHERE status = ?` conditions
- **Dimension mismatch**: checking per-X but enforcing per-Y
- **Stale reads**: reading state outside transaction, acting later
- **Missing atomicity**: multi-step mutation without transaction
- **Implicit ordering**: assuming A happens before B without enforcement
- **Missing heartbeat**: long operation without liveness signal

For each root cause found:
```markdown
### Root Cause N: <name>

**Pattern**: <what's structurally wrong>
**Evidence**: <file:line references>
**Blast radius**: <which actors/paths are affected>
**Fix pattern**: <one-sentence description of the fix approach>
```

---

## Phase 3: Design Fix Strategy

### 3a: Define the Reference Pattern

Find the ONE place in the codebase where this problem is already handled correctly. That's the reference pattern to generalize.

```markdown
### Reference Pattern
<file:line> already does this correctly because:
- It uses conditional update: `WHERE status IN (...)`
- It runs inside a transaction
- It checks return value

The fix generalizes this pattern to all N other sites.
```

### 3b: Decompose into Tasks

Each task must be:
- **Independent** — can be developed and merged without other tasks
- **Verifiable** — has a concrete test or check
- **Right-sized** — completable in one session

```markdown
## Tasks

| # | Issue | Description | Fixes | Independent? |
|---|-------|-------------|-------|-------------|
| 1 | #NNN | Add guards to all state transitions | #bug1, #bug2 | Yes |
| 2 | #NNN | Align dimension X with Y | #bug3 | Yes |
| 3 | #NNN | Add heartbeat to long pipeline | #bug4 | Yes (enhanced by #1) |
```

### 3c: Dependency & Ordering

```markdown
## Dependency & Ordering

All N tasks are **independent** and can be developed in parallel.

[If there are dependencies:]
Task 1 provides the strongest safety net and should be prioritized —
it prevents the widest class of bugs. Task 3's effectiveness is
enhanced by Task 1 (defense-in-depth).
```

---

## Phase 4: Create the Tracking Issue

Create the GitHub tracking issue:

```bash
gh issue create --title "fix: <problem area> — tracking issue" --body "$(cat <<'EOF'
## Overview

<2-3 sentences: what's broken and why>

<N> bug issues identified. They stem from <M> structural problems:

1. **<Root cause 1>** — <one sentence>
2. **<Root cause 2>** — <one sentence>

## Architecture Context

### Actors in the system
<table from Phase 1>

### Core pattern that works correctly
<reference pattern from Phase 3a>

## Tasks

<table from Phase 3b>

## Dependency & Ordering

<from Phase 3c>

## Bug Issues

| Bug Issue | Severity | Description | Fixed By |
|-----------|----------|-------------|----------|
| #NNN | Medium | ... | Task 1 |

EOF
)"
```

Then create individual task issues:

```bash
gh issue create --title "fix: <task description>" --body "..."
```

---

## Phase 5: Report

Display summary to user:

```markdown
## Tracking Issue Created

**Tracking**: #NNN — <title>
**Root causes**: N structural problems identified
**Tasks**: M independent fix tasks created
**Bug coverage**: K bug issues will be fixed

### Root Causes
1. <name> — <one sentence>

### Tasks (can run in parallel)
- #NNN — <description>

### Recommended order
<which to do first and why>
```

---

## Key Principles

1. **Never fix symptoms** — always find the structural root cause
2. **One pattern to fix many bugs** — if you're writing N different fixes for N bugs, you haven't found the pattern yet
3. **Reference from existing code** — the codebase usually already has the right pattern somewhere, just not everywhere
4. **Independence enables parallelism** — design tasks so they can be merged in any order
5. **Tracking issue is the source of truth** — all context lives there, not in individual bug issues

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.