/project-status
Cross-framework project status aggregator — discovers contributors from installed frameworks, runs declarative detection, produces a unified status report.
$ npx -y skills add jmagly/aiwg --skill project-status --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/project-status
Context preview
The summary Claude sees to decide when to auto-load this skill.
Cross-framework project status aggregator — discovers contributors from installed frameworks, runs declarative detection, produces a unified status report.
SKILL.md
project-status.SKILL.mdnamespace: aiwg
name: project-status
platforms: [all]
description: Cross-framework project status aggregator — discovers contributors from installed frameworks, runs declarative detection, produces a unified status report.
triggers:
- "help me know what is next"
- "tell me where this project stands and what to do next"
- "generate or refresh project status"
- "project status"
commandHint:
argumentHint: "[project-directory=.] [--json] [--guidance \"text\"]"
allowedTools: Read, Glob, Grep, Bash
model: haiku
category: aiwg-utility
modelRole: efficiency
modelTier: economy
<!-- AIWG-SKILL-CALLOUT --> > **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-name` by the platform. Reach them via: > > ```bash > 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](../../../addons/aiwg-utils/rules/skill-discovery.md).
Project Status (Cross-Framework Aggregator)
Task
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.
Parameters
- **`[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 blocks
Workflow
Step 1: Locate the registry and project root
Read `.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
Step 2: Discover candidate contributors
Two sources, processed in order:
1. **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.md`
Use `Glob` to discover, then `Read` to load the contributor file.
2. **Project-local contributors** — every `*.md` file in `<project-root>/.aiwg/contributors/status/`. These are user-authored contributors that do not require forking a framework.
Step 3: Validate and run detection
For each candidate file:
1. Parse YAML frontmatter. Skip with a warning if frontmatter is malformed or missing required fields (`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. 2. Run the contributor's `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. 3. For surviving contributors, the agent reads the contributor file's body to learn what to report and how to format it.
Step 4: Gather state per contributor
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.
Step 5: Render the unified report
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.
Step 6: Handle empty discovery
If discovery returns zero in-use contributors:
- **In a project that has frameworks installed but none are in use yet**:
surface "No active framework contributors detected. Run `intake-wizard` if this is a new project, or check `.aiwg/frameworks/registry.json` to confirm what's installed."
- **In a project with no `.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.
--json output
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": [
{ "Read more
namespace: aiwg name: project-status platforms: [all] description: Cross-framework project status aggregator — discovers contributors from installed frameworks, runs declarative detection, produces a unified status report. triggers: - "help me know what is next" - "tell me where this project stands and what to do next" - "generate or refresh project status" - "project status" commandHint: argumentHint: "[project-directory=.] [--json] [--guidance \"text\"]" allowedTools: Read, Glob, Grep, Bash model: haiku category: aiwg-utility modelRole: efficiency modelTier: economy
<!-- AIWG-SKILL-CALLOUT --> > **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-name` by the platform. Reach them via: > > ```bash > 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](../../../addons/aiwg-utils/rules/skill-discovery.md).
Project Status (Cross-Framework Aggregator)
Task
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.
Parameters
- **`[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 blocks
Workflow
Step 1: Locate the registry and project root
Read `.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
Step 2: Discover candidate contributors
Two sources, processed in order:
1. **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.md`
Use `Glob` to discover, then `Read` to load the contributor file.
2. **Project-local contributors** — every `*.md` file in `<project-root>/.aiwg/contributors/status/`. These are user-authored contributors that do not require forking a framework.
Step 3: Validate and run detection
For each candidate file:
1. Parse YAML frontmatter. Skip with a warning if frontmatter is malformed or missing required fields (`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. 2. Run the contributor's `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. 3. For surviving contributors, the agent reads the contributor file's body to learn what to report and how to format it.
Step 4: Gather state per contributor
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.
Step 5: Render the unified report
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.
Step 6: Handle empty discovery
If discovery returns zero in-use contributors:
- **In a project that has frameworks installed but none are in use yet**:
surface "No active framework contributors detected. Run `intake-wizard` if this is a new project, or check `.aiwg/frameworks/registry.json` to confirm what's installed."
- **In a project with no `.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.
--json output
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": [
{ "Multi-agent AI framework for Claude Code, Copilot, Cursor, Warp, and 6 more platforms 200+ agents, 109+ CLI commands, 400+ deployable agent/skill/command/rule artifacts, 8 core frameworks, 32 addons, and a 40-plugin Claude Code marketplace.
Repo: jmagly/aiwg
Other skills on aiwg.
- /agent-loop-ext
Crash-resilient external agent loop with state persistence and CI/CD integration
Open skill - /agent-loop
Detect requests for iterative autonomous agent loops and route to the appropriate loop executor
Open skill - /auto-test-execution
Automatically execute tests when code-generating agents modify source files, enforcing the execute-before-return pattern
Open skill - /cross-task-learner
Enable agent loops to learn from similar past tasks and share patterns across loops
Open skill - /debug-memory
Query and manage the executable feedback debug memory
Open skill - /execute-feedback
Execute tests on generated code and iterate until passing
Open skill

