Skip to content
Back to skills

Status

ASecurity

Display current progress of Draft tracks and active tasks. Shows phases, completion percentages, and blocked items.

  • 40 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 22, 2026
ai-agentsbash

Security analysis

A100/100

Scanned September 22, 2026

npx -y skills add drafthq/draft --skill status --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Status?

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

Security grade badge for Status
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/drafthq-status/badge)](https://www.skillsdirectory.com/skills/drafthq-status)

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: status
description: Display current progress of Draft tracks and active tasks. Shows phases, completion percentages, and blocked items.
---

# Draft Status

Display a comprehensive overview of project progress.

## Red Flags - STOP if you're

- Reporting status without actually reading the files
- Making up progress percentages
- Skipping blocked items in the report
- Not checking each active track's actual state
- Summarizing without evidence from the files

**Always read before reporting.**

---

## Gather Data

1. Read `draft/tracks.md` for track list
2. For each active track, read:
   - `draft/tracks/<id>/metadata.json` for stats. If `metadata.json` is malformed or unreadable, display `(metadata unavailable)` for that track's statistics instead of failing.
   - `draft/tracks/<id>/plan.md` for task status
   - `draft/tracks/<id>/architecture.md` for module status (if exists)
   - `metadata.json:scope_includes` / `scope_excludes` for the track's
     scope footprint. Surface these in the status output so reviewers can
     spot overlap at a glance. Conflicts are detected by
     `scripts/tools/check-scope-conflicts.sh` (see
     [core/shared/template-contract.md](../../core/shared/template-contract.md)).
3. Check for project-wide `draft/.ai-context.md` (or legacy `draft/architecture.md`) for module status
4. **Detect orphaned tracks:**
   - Scan `draft/tracks/` for all directories
   - For each directory, check if it has `metadata.json`
   - Cross-reference with `draft/tracks.md` entries
   - If directory has metadata.json but NOT in tracks.md → orphaned track
   - Collect list of orphaned track IDs for warning section

### Optional: report rollup & freshness signals

If `parse-reports.sh` and `freshness-check.sh` are available, gather structured signals to enrich the status output (severity counts per track, stale `draft/` docs). Resolve via the canonical tool resolver (see [core/shared/tool-resolver.md](../../core/shared/tool-resolver.md)):

```bash
DRAFT_TOOLS="${DRAFT_PLUGIN_ROOT:-$(cat ~/.cache/draft/plugin-root 2>/dev/null)}/scripts/tools"
[ -d "$DRAFT_TOOLS" ] || DRAFT_TOOLS="$(ls -d ~/.claude/plugins/cache/*/draft/*/scripts/tools 2>/dev/null | sort -V | tail -1)"
[ -d "$DRAFT_TOOLS" ] || DRAFT_TOOLS="$(ls -d ~/.claude/plugins/marketplaces/*draft*/scripts/tools 2>/dev/null | tail -1)"
[ -d "$DRAFT_TOOLS" ] || DRAFT_TOOLS="$PWD/scripts/tools"

# Per-track report severity rollup (bughunt, review, tech-debt, etc.):
[ -x "$DRAFT_TOOLS/parse-reports.sh" ] && \
  bash "$DRAFT_TOOLS/parse-reports.sh" --root draft/

# Stale draft/ docs (sha256 drift since last index):
[ -x "$DRAFT_TOOLS/freshness-check.sh" ] && [ -f draft/.state/freshness.json ] && \
  bash "$DRAFT_TOOLS/freshness-check.sh" --state draft/.state/freshness.json
```

Surface non-zero severity counts inline with each track. Surface stale-doc warnings in a "STALE DOCS" section after BLOCKED ITEMS. Both signals are best-effort — skip silently if scripts or state are absent.

## Output Format

Check each track's `metadata.json` `type` field to determine display format.

### Standard (multi-phase) tracks

```yaml
---
                      DRAFT STATUS
---
PROJECT: [from product.md title]

ACTIVE TRACKS
---
[track-id-1] Feature Name
  Status: [~] In Progress
  Phase: 2/3 (Phase 2: [Phase Name])
  Tasks: 5/12 complete
  ├─ [x] Task 1.1: Description
  ├─ [x] Task 1.2: Description
  ├─ [~] Task 2.1: Description ← CURRENT
  ├─ [ ] Task 2.2: Description
  └─ [!] Task 2.3: Blocked - [reason]

[track-id-2] Another Feature
  Status: [ ] Not Started
  Phase: 0/2
  Tasks: 0/6 complete

```

### Quick-mode tracks (metadata.json `type` is `"quick"`)

Quick-mode tracks use flat task numbering (`Task 1:`, `Task 2:`) without phases. Display them with a flat task list instead of the phase-grouped tree:

```json
[track-id-3] Quick Feature
  Status: [~] In Progress
  Type: quick
  Tasks: 2/5 complete
  ├─ [x] Task 1: Description
  ├─ [x] Task 2: Description
  ├─ [~] Task 3: Description ← CURRENT
  ├─ [ ] Task 4: Description
  └─ [ ] Task 5: Description
```

Do **not** show `Phase: X/Y` for quick-mode tracks — they have no phases.

### Remaining sections (shared by both formats)

```text
MODULES (if architecture.md exists)
---
Module A [x] Complete (Coverage: 96.2%)
Module B [~] In Progress - 3/5 tasks
Module C [ ] Not Started

BLOCKED ITEMS
---
- [track-id-1] Task 2.3: [blocked reason]

ORPHANED TRACKS
---
⚠ The following tracks have metadata.json but are missing from tracks.md:
- draft/tracks/orphan-track-id/

Recovery options:
1. Add to tracks.md manually if track is valid
2. Remove orphaned track directory if no longer needed

RECENTLY COMPLETED
---
- [track-id-3] - Completed [date]

QUICK STATS
---
Active Tracks: 2
Total Tasks: 18
Completed: 5 (28%)
Blocked: 1
---
```

## Module Reporting

When `.ai-context.md` or `architecture.md` exists for a track (track-level or project-level):

1. Read the `.ai-context.md` (or `architecture.md`) module definitions from `## Modules` section
2. For each module, determine status from its status marker:
   - `[ ]` Not Started
   - `[~]` In Progress — count completed vs total tasks mapped to this module
   - `[x]` Complete — include coverage percentage if recorded
   - `[!]` Blocked — include reason
3. Display in the MODULES section of the track report
4. If project-wide `draft/.ai-context.md` (or legacy `draft/architecture.md`) exists, show a project-level module summary after QUICK STATS

---

## If No Tracks

```yaml
---
                      DRAFT STATUS
---
PROJECT: [from product.md title]

No active tracks.

Get started:
  /draft:new-track "Your feature description"

---
```

## If Not Initialized

```text
Draft not initialized in this project.

Run /draft:init to initialize.
```

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.