agentleFS
drafthqdrafthq/draft/skills/status/SKILL.md

status

Skill40 starsChanged 4 months agoMITView on GitHub

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

177 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use off, list and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • StakeholderSenseiSkill

    off

    Disable polygraph for this repo (user-only escape hatch; all hooks no-op)

    Also in 4 projects that use this

  • SuShuhengSkill

    list

    Use when checking obshare-cli upload history, finding document tokens, or reviewing previous upload URLs and permission snapshots.

    Also in 8 projects that use this

  • kennethleungtySkill

    pause

    Pause — stop the music (alias for /stop)

    Also in 6 projects that use this

  • codebycoreySkill

    new

    Start a new change with a proposal. Use when starting a feature, creating a proposal, or beginning planned work.

    Also in 7 projects that use this

  • michaelenglandSkill

    import

    This skill should be used when the user wants to import an existing .pptx file into deckwright, bring in a PowerPoint that was created outside this tool, reverse-engineer a presentation for editing, or invoke /deckwright:import. Converts a .pptx into a PptxGenJS generation script so it can be edited and regenerated through the deckwright pipeline.

    Also in 5 projects that use this

  • genomewalkerSkill

    resume

    Resume a thread by loading its ~800-token context capsule

    Also in 15 projects that use this

The file

We split this skill into the rules it gives an agent

10 rules. 0 are common, 1 is distinctive, and 9 are very specific to this project.

  • 0

    Common

    Most of the 146 edited versions we read keep these.

  • 1

    Distinctive

    This author's own choices. Worth a look.

  • 9

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Not checking each active track's actual state

    line 15
  2. Very specific:

    Read draft/tracks.md for track list

    line 24
  3. Very specific:

    Check for project-wide draft/.ai-context.md (or legacy draft/architecture.md) for module status

    line 34
  4. Very specific:

    If directory has metadata.json but NOT in tracks.md → orphaned track

    line 39
  5. Very specific:

    If parse-reports.sh and freshness-check.sh are available, gather structured signals to enrich the status output (severity counts per track, …

    line 44
  6. Very specific:

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

    line 65
  7. Very specific:

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

    line 110
  8. Very specific:

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

    line 149
  9. Very specific:

    Read the .ai-context.md (or architecture.md) module definitions from ## Modules section

    line 151
  10. Very specific:

    If project-wide draft/.ai-context.md (or legacy draft/architecture.md) exists, show a project-level module summary after QUICK STATS

    line 158

“Common” is measured: kept by at least 6 in 10 of the 146 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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).
  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):

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

---
                      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:

[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)

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

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

No active tracks.

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

---

If Not Initialized

Draft not initialized in this project.

Run /draft:init to initialize.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.