status
|
git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace /tmp/status && cp -r /tmp/status/plugins/ai-agency/hyperflow/skills/status ~/.claude/skills/statusSKILL.md
# Status
Read-only snapshot of the current hyperflow project, with live progress on every active task file. Standalone — does not auto-chain and is never invoked by other skills. Invoked manually via `/hyperflow:status`.
The skill has two sections:
1. **Static snapshot** — version, profile freshness, memory count
2. **In-flight work** — per-task live progress (sub-tasks done/total, tokens, wall-clock, ETA)
## What to read
### Static snapshot
| Field | Source | Fallback |
|-------|--------|----------|
| Version | Latest git tag matching `v*` + tag commit date | `(missing)` |
| Profile | `.hyperflow/profile.md` file modification time | `(missing)` |
| Memory | Line count of `.hyperflow/memory/index.md` minus header rows | `(none)` |
| Active tasks | Files matching `.hyperflow/tasks/*.md` | `(none)` |
| Active features | Folders matching `.hyperflow/features/*/feature.md` | `(none)` |
### Active features (multi-phase work)
For every `.hyperflow/features/*/feature.md` (see [feature-phases.md](../hyperflow/feature-phases.md)), parse its
`## Status` block and the phase roster, then for each `phase-<n>-*/phase.md` show the phase status + Progress bar:
```
── Feature: checkout-redesign ── (2 / 3 phases)
✓ phase-1-data-layer completed
▸ phase-2-api in_progress ████░░░░ 2/5 tasks · running: T3-handlers
phase-3-ui pending depends on phase-2
```
The per-phase bar uses the same parsing as the per-task-file section below (each `phase.md` carries the same
`## Status` block shape). Omit this section when no `.hyperflow/features/*/` exist.
### In-flight work (per task file)
For every `.hyperflow/tasks/*.md`, parse its `## Status` block (written by `/hyperflow:plan` at creation and updated by `/hyperflow:dispatch` after each sub-task PASS — see plan/SKILL.md Step 10):
| Field | Source | Behaviour |
|-------|--------|----------|
| Slug | basename of the task file minus `.md` | always present |
| Done / total | `Sub-tasks: <done> / <total>` from Status block | falls back to counting `[x]` vs `[x]`+`[ ]` checkboxes if Status missing |
| Done sub-task names | lines with `[x]` from the `## Batches` section | listed under the bar |
| Running sub-task | the first `[~]` checkbox (dispatch marks `~` while a sub-task is mid-flight) | `(idle)` if none |
| Pending sub-task count | count of `[ ]` checkboxes | shown as `N pending` |
| Tokens used | `Tokens used:` line from Status block | `(not tracked yet)` if Status absent |
| Wall-clock | `Wall-clock:` line from Status block | `(not started)` if no `Started:` |
| ETA | `ETA:` line from Status block | `(computing)` if <3 sub-tasks done |
## How to compute each field
### Version
```bash
tag=$(git tag --sort=-v:refname | grep -E '^v[0-9]' | head -1)
released=$(git log -1 --format=%ci "$tag" 2>/dev/null | cut -d' ' -f1)
```
If `$tag` is empty → print `(missing)`.
### Profile freshness
```bash
profile=".hyperflow/profile.md"
now=$(date +%s)
mtime=$(stat -f %m "$profile" 2>/dev/null || stat -c %Y "$profile" 2>/dev/null)
hours=$(( (now - mtime) / 3600 ))
```
- File absent → `(missing)`
- `hours <= 24` → `fresh (analyzed Xh ago)`
- `hours > 24` → `stale (analyzed Xh ago)`
### Memory entry count
Count table-body rows in `.hyperflow/memory/index.md` (lines starting with `|`, minus header + separator):
```bash
count=$(grep -c '^|' .hyperflow/memory/index.md 2>/dev/null)
entries=$(( count - 2 ))
```
If file absent or count ≤ 0 → `(none)`.
### Active tasks list
```bash
tasks=$(ls .hyperflow/tasks/*.md 2>/dev/null)
```
If no files → show `(none)` and skip the In-flight section entirely.
### Per-task Status parsing
For each `.hyperflow/tasks/<slug>.md`:
```bash
# Extract Status block fields
sub_done=$(grep '^Sub-tasks:' "$file" | sed -E 's|.*: *([0-9]+) */ *([0-9]+).*|\1|')
sub_total=$(grep '^Sub-tasks:' "$file" | sed -E 's|.*: *([0-9]+) */ *([0-9]+).*|\2|')
tokens=$(grep '^Tokens used:' "$file" | sed 's|^Tokens used: *||')
wall=$(grep '^Wall-clock:' "$file" | sed 's|^Wall-clock: *||')
eta=$(grep '^ETA:' "$file" | sed 's|^ETA: *||')
started=$(grep '^Started:' "$file" | sed 's|^Started: *||')
```
If the Status block is missing or malformed (old-style task file from before this format), fall back to counting checkboxes directly:
```bash
done=$(grep -c '^- \[x\]' "$file" 2>/dev/null)
running=$(grep -c '^- \[~\]' "$file" 2>/dev/null)
pending=$(grep -c '^- \[ \]' "$file" 2>/dev/null)
total=$(( done + running + pending ))
```
### Done sub-task names (for the indented list)
```bash
grep '^- \[x\]' "$file" | sed -E 's|^- \[x\] *||' | head -5
```
Show up to the **last 3 completed** + the **currently running** sub-task. If there are more than 3 done, prefix the list with `… (N earlier done)`.
### Running sub-task
The dispatch skill marks the in-flight sub-task with `[~]` while the worker is running. After PASS + commit, dispatch flips `[~]` → `[x]`.
```bash
running=$(grep '^- \[~\]' "$file" | sed -E 's|^- \[~\] *||' | head -1)
```
If no `[~]` line exists → the dispatch is either between sub-tasks (idle for milliseconds) or has handed control back. Show `(idle — last update Xm Ys ago)` based on `Last update:` timestamp.
### Progress bar
20-char ASCII bar based on `done / total`:
```
[████████████░░░░░░░░] 12/20 60%
```
Use `█` (filled) and `░` (empty). No emoji or color icons.
## Output format
Print the block below verbatim. If no in-flight tasks, omit the `── In-flight work ──` section.
```
── Hyperflow Status ─────────────────────────────────────────
Version v3.0.0 (released 2026-05-16)
Profile fresh (analyzed 2h ago)
Memory 12 entries
Active tasks 2
── In-flight work ───────────────────────────────────────────
Task: implement-auth
Progress [███████████░░░░░░░░░] 8/14 57%
Last done T7: Reset email worker
Running T8: Login UI (Implementer · 14s elapsed)
Pending 6 sub-tasks
Tokens thinking 89.2k · worker 142.0k · total 231.2k
Wall-clock|
Engineering lead — hand Apex any task and it routes internally. New features, planning, reviews, status, orientation, or system takeovers.
Plan and scope a project — discovery, challenge assumptions, present S/M/L options with token and cost estimates. Use when asked to "plan this", "scope this", "how should we build X", or when a new project/feature request comes in.
Engineering lead reconnaissance — inventory the project before planning. Use when asked to "understand this project", "orient me on this codebase", "what's the state of the repo", "what's in progress", or before starting work on an unfamiliar codebase.
Cross-cutting review of recent work — catches gaps between specialists. Use when asked to "review what we built", "check the work", "pre-launch review", or after completing a significant chunk of work.
CTO-level project status from git and codebase state. Use when asked "where are we", "project status", "what's done", or at the start of a work session.
System takeover — take ownership of an existing codebase or inherited system. Use when "we acquired this", "previous team left", "take over this system", "inherited this codebase".
Knowledge engineer — architecture docs, ADRs, diagrams, changelogs, onboarding, and reports.