Files
awesome-copilot/plugins/acreadiness-cockpit/README.md
mvanderbend-msoft ebd22496dd Add acreadiness-cockpit plugin (AgentRC measure -> generate -> maintain) 🤖🤖🤖 (#1593)
* Add acreadiness-cockpit plugin

Adds a new plugin that drives Microsoft AgentRC from Copilot chat,
framing every interaction inside AgentRC's Measure -> Generate ->
Maintain loop.

Custom agent (agents/ai-readiness-reporter.agent.md):
  Runs `agentrc readiness --json`, interprets every result against
  the 9-pillar / 5-level maturity model, then renders a self-contained
  reports/index.html from a fixed HTML/CSS template (bundled with the
  acreadiness-assess skill) so every user gets an identically styled
  dashboard. Honours policies (disabled criteria, overrides, pass-rate
  thresholds) and surfaces extras separately.

Skills:
  - acreadiness-assess: Measure step. Wraps `agentrc readiness --json`
    and hands off to the @ai-readiness-reporter agent. Bundles the
    canonical report-template.html.
  - acreadiness-generate-instructions: Generate step. Wraps
    `agentrc instructions`. Defaults to .github/copilot-instructions.md
    (Copilot-native). Asks flat vs nested. For monorepos, emits per-area
    .github/instructions/<area>.instructions.md files with applyTo
    globs taken from agentrc.config.json.
  - acreadiness-policy: Maintain step. Helps pick, scaffold, or apply an
    AgentRC policy (criteria.disable, criteria.override, extras,
    thresholds) and wire it into CI via --fail-level.

Plugin (plugins/acreadiness-cockpit/):
  Declarative plugin.json referencing the agent and three skills.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Address PR review feedback

- Align documented slash-command names with plugin manifest:
  /acreadiness-assess, /acreadiness-generate-instructions,
  /acreadiness-policy (was /assess, /generate-instructions, /policy
  inside SKILL bodies and argument-hints).
- Move the literal % from the report template into the substituted
  values for {{passRate}} and {{threshold}} so an N/A value of '—'
  no longer renders as '—%'. Updated the agent placeholder contract
  accordingly.
- Point the report footer at the canonical plugin folder under
  github/awesome-copilot instead of the personal source fork.
- Add explicit HTML-escaping rules to the agent: HTML-escape every
  {{placeholder}} substitution, and replace </script with <\/script
  inside the embedded JSON block so untrusted repo content cannot
  break the markup or inject scripts.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-04 14:11:14 +10:00

77 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# acreadiness-cockpit
Drive [Microsoft AgentRC](https://github.com/microsoft/agentrc) from Copilot chat. Frames every interaction inside AgentRC's **Measure → Generate → Maintain** loop.
## What's in the plugin
### Custom agent
| Agent | What it does |
|---|---|
| `@ai-readiness-reporter` | Runs `agentrc readiness --json`, interprets every result against the 9-pillar / 5-level model, then renders a self-contained `reports/index.html` from a fixed HTML/CSS template so every user gets an identically styled dashboard. Honours policies (disabled criteria, overrides, pass-rate thresholds) and surfaces extras separately. |
### Skills
| Skill | Step | What it does |
|---|---|---|
| `/acreadiness-assess` | **Measure** | Runs the readiness scan and hands off to `@ai-readiness-reporter` to produce the static HTML dashboard. Accepts `--policy <path-or-pkg>` and `--per-area`. |
| `/acreadiness-generate-instructions` | **Generate** | Wraps `agentrc instructions`. Default output is `.github/copilot-instructions.md` (Copilot-native). Asks `flat` vs `nested`. For monorepos, also emits per-area `.github/instructions/<area>.instructions.md` files with `applyTo` globs. |
| `/acreadiness-policy` | **Maintain** | Pick, scaffold, or apply an AgentRC policy. Knows the schema (`criteria.disable`, `criteria.override`, `extras`, `thresholds`), the impact-weight table, and CI gating with `--fail-level`. |
## What gets produced
`reports/index.html` — a single self-contained HTML file rendered from a fixed template (`skills/acreadiness-assess/report-template.html`) so every user gets an identical look & feel. It contains:
- Maturity badge (L1L5) and overall score / grade (AF)
- Pass-rate vs threshold (when a policy sets one)
- Maturity progression table
- **Active policy** summary (disabled/overridden criteria, threshold)
- **Repo Health** breakdown (8 pillars), each with an **AI relevance** badge (High/Medium/Low), *what it measures*, *why it matters for AI*, *current state*, *recommendation*
- **AI Setup** breakdown (AI Tooling pillar)
- **Extras** (informational only — agents-doc, pr-template, pre-commit, architecture-doc)
- **Prioritised Remediation Plan** (🔴 Fix First / 🟡 Fix Next / 🔵 Plan)
- Embedded raw AgentRC JSON for reuse
## Prerequisites
- **Node.js 20+** on PATH (required by AgentRC)
- VS Code with Copilot agent plugins enabled
## Usage
In Copilot chat:
```text
/acreadiness-assess # measure → reports/index.html
/acreadiness-assess --policy ./policies/strict.json
/acreadiness-generate-instructions # asks flat or nested
/acreadiness-generate-instructions --strategy flat
/acreadiness-generate-instructions --strategy nested
/acreadiness-generate-instructions --areas # per-area applyTo files
/acreadiness-policy new my-policy
@ai-readiness-reporter
```
### Flat vs nested instructions
| | **Flat** *(default)* | **Nested** |
|---|---|---|
| Hub file | `.github/copilot-instructions.md` | `.github/copilot-instructions.md` |
| Detail files | — | `.github/instructions/<topic>.instructions.md` (each with `applyTo` glob) |
| Best for | Small / medium repos, single stack | Large or multi-stack repos, monorepos |
| Token cost | Whole file always loads | VS Code only loads topics whose `applyTo` matches |
When the main output is `.github/copilot-instructions.md`, the skill rewrites AgentRC's nested output to VS Code's native `.instructions.md` layout (which Copilot auto-discovers). With `--output AGENTS.md`, nested keeps AgentRC's default `.agents/` layout for agent-agnostic tooling.
### Concepts (cheat sheet)
- **Maturity**: L1 Functional → L2 Documented → L3 Standardized → L4 Optimized → L5 Autonomous
- **Pillars** (Repo Health): Style · Build · Testing · Docs · Dev Environment · Code Quality · Observability · Security
- **Pillars** (AI Setup): AI Tooling
- **Impact weights**: critical 5 · high 4 · medium 3 · low 2 · info 0
- **Grades**: A ≥ 0.9 · B ≥ 0.8 · C ≥ 0.7 · D ≥ 0.6 · F < 0.6
## License
MIT