agentic/code/addons/aiwg-utils/skills/project-status/SKILL.md
Cross-framework project status aggregator — discovers contributors from installed frameworks, runs declarative detection, produces a unified status report.
npx skillsauth add jmagly/aiwg project-statusInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Skill access pattern (post-kernel-pivot, 2026.5+)
Skill names referenced in this document are AIWG skills, not slash commands. Most are not kernel-listed and cannot be invoked as
/skill-nameby the platform. Reach them via:aiwg discover "<capability>" aiwg show skill <name>Only kernel-listed skills (
aiwg-doctor,aiwg-refresh,aiwg-status,aiwg-help,use,steward) are directly invokable as slash commands. See skill-discovery rule.
Produce a unified status report covering every installed framework, addon, or
extension that ships a kind: status contributor and is in active use on this
project.
This is the cross-framework aggregator described in ADR-023 §Reference
contributor frontmatter. It replaces the prior SDLC-only project-status
behavior. SDLC-specific reporting now lives in the SDLC framework's status
contributor at agentic/code/frameworks/sdlc-complete/status/contributor.md —
when SDLC is the only contributor in use, the resulting report is functionally
equivalent to the prior behavior.
[project-directory] (optional): Path to project root. Default: current directory .--json (optional): Emit machine-readable JSON instead of human-readable markdown--guidance "text" (optional): Extra context the agent should weigh while interpreting contributor blocksRead .aiwg/frameworks/registry.json from the project root. The registry lists
installed frameworks/addons/extensions by id. If the file is missing, treat
it as zero installed frameworks — discovery still finds project-local
contributors.
cat ./.aiwg/frameworks/registry.json 2>/dev/null
Two sources, processed in order:
Framework-shipped contributors — for each id in the registry, look up
its source path under the AIWG installation. Try in order:
<AIWG_ROOT>/agentic/code/frameworks/<id>/status/contributor.md<AIWG_ROOT>/agentic/code/addons/<id>/status/contributor.md<AIWG_ROOT>/agentic/code/extensions/<id>/status/contributor.mdUse Glob to discover, then Read to load the contributor file.
Project-local contributors — every *.md file in
<project-root>/.aiwg/contributors/status/. These are user-authored
contributors that do not require forking a framework.
For each candidate file:
kind, domain, description, detect.glob).
The schema is published at
<AIWG_ROOT>/agentic/code/addons/aiwg-utils/skills/project-status/contributor.schema.json
— aiwg validate-metadata enforces it at deploy time, so most files
reaching this step are valid.detect.glob patterns against the project root using
Glob. Deduplicate matches. If unique match count is less than
detect.minCount (default 1), the contributor is installed but not in
use — silently filter out.For each in-use contributor, follow its body's guidance to read source files and compute reported state. Contributors are descriptive — they tell the agent what to look at; they do not run code.
Keep blocks compact. Per ADR-023 §Output voice, contributors emit observed state (counts, dates, phase names). Do not synthesize prescriptive "recommended commands" inside a contributor's block.
Default (markdown) output shape:
Project: <project-name> (<detected-domain-summary>)
├─ <Domain 1>: <one-line summary> (origin: <framework-id>)
│ ├─ <fact 1>
│ ├─ <fact 2>
│ └─ <fact N>
├─ <Domain 2>: <one-line summary> (origin: <framework-id>)
│ └─ ...
└─ <Domain K>: <one-line summary> (origin: project-local)
└─ ...
Every block carries an origin: stamp — the framework id (e.g.
sdlc-complete, media-curator) or the literal project-local. This lets
the user see at a glance whether a finding came from a framework's
contributor or a project-specific override.
If discovery returns zero in-use contributors:
intake-wizard if this is a new project, or check
.aiwg/frameworks/registry.json to confirm what's installed.".aiwg/: defer to the heuristic fallback
described in <AIWG_ROOT>/agentic/code/addons/aiwg-utils/skills/project-status/heuristic-fallback.md
(added by issue #941). When that file is not yet present, surface a
short "No project state detected" message.Returns a structured array of contributor blocks. Stable shape:
{
"project_root": "/abs/path",
"contributors": [
{
"origin": "sdlc-complete",
"domain": "SDLC",
"summary": "Construction phase, iteration 12, 3 open risks",
"detail": [
{ "label": "Phase", "value": "Construction (entered 2026-04-01)" },
{ "label": "Iteration", "value": "12 of 18 planned" }
]
}
],
"skipped": [
{ "origin": "media-curator", "reason": "detection-no-match" }
]
}
Downstream tooling (CI status badges, dashboards) consumes this shape directly.
Per ADR-023 §Failure mode:
schema-violation; aggregation continues.detection-error.When --json is set, skips appear under the skipped array. In markdown
output, skips are summarized under a ─ Skipped contributors footer when
non-empty.
aiwg index build, aiwg run …)
from this skill. Status reporting is read-only. If a contributor needs
built indexes, surface their absence rather than building them mid-report.kind: status frontmatteraiwg validate-metadata; demonstrates the discovery algorithm in codedata-ai
Report which research-corpus radar sidecars are overdue for refresh. Computes staleness (days since last refresh vs the cadence window) for every radar, sorted most-overdue-first. Runs via `aiwg corpus radar-status`.
data-ai
Aggregate research-corpus radar sidecars into a corpus or per-cluster freshness report — totals, overdue count, per-cluster / per-GRADE / per-trajectory breakdowns, an overdue table, and per-radar rationale snippets. Runs via `aiwg corpus radar-report`.
testing
Scaffold radar/freshness sidecars for research-corpus REFs. Pulls title/authors from the citation sidecar and GRADE from the analysis doc, defaults the refresh cadence from GRADE and the cluster from a corpus-local map, and stamps documentation/radar/REF-XXX-radar.md. Runs via `aiwg corpus radar-init`.
data-ai
Compute an entity's publication trajectory — per-year paper counts, topic drift, hot-streak detection (≥3 consecutive A-grade years), and career phase. Runs via `aiwg corpus profile-temporal`.