You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- 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>
Copy file name to clipboardExpand all lines: agents/ai-readiness-reporter.agent.md
+5-1Lines changed: 5 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -173,6 +173,10 @@ Hard rules — do **not** deviate:
173
173
- Do not add tabs, toggles, theme switches, dark/light variants, or extra navigation. The report is a single, unified view.
174
174
- Do not add external CSS, fonts, JS frameworks, or analytics. The file must open with `file://` and have zero network dependencies.
175
175
- Preserve the embedded `<script type="application/json" id="raw-data">…</script>` block so the report is self-describing.
176
+
-**Escape every substituted value** before inserting it into the template:
177
+
- HTML-escape `&`, `<`, `>`, `"`, and `'` in all `{{placeholder}}` substitutions destined for HTML body content or attribute values (e.g. `{{repoName}}`, `{{pillarCurrent}}`, `{{pillarRecommendation}}`, `{{policySummary}}`, `{{rawJsonPretty}}`).
178
+
- For `{{rawJsonCompact}}` (which lives inside the `<script type="application/json">` block), replace any `</script` substring with `<\/script` to prevent the script tag from being closed early. Do NOT HTML-escape inside this block — the JSON must remain valid.
179
+
- Never substitute raw user-controlled strings (filenames, commit messages, recommendations) without escaping. A repo with `<img onerror=…>` in a filename must NOT produce executable HTML in the report.
176
180
177
181
Placeholders the template uses (all required unless marked optional):
|`{{level}}` / `{{levelName}}`| AgentRC maturity level number + name |
184
188
|`{{overallPct}}` / `{{grade}}`| overall score as integer percent + letter grade |
185
-
|`{{passRatePct}}` / `{{thresholdPct}}`| pass rate vs policy threshold (use `—` if N/A) |
189
+
|`{{passRate}}` / `{{threshold}}`| pass rate vs policy threshold, fully-formatted (e.g. `85%` or `—` if N/A). The literal `%` is part of the substituted value, not the template.|
186
190
|`{{policyName}}` / `{{policySummary}}`| only if a policy is active; otherwise omit the policy section |
187
191
|`{{rawJsonCompact}}` / `{{rawJsonPretty}}`| embed the AgentRC JSON envelope |
Copy file name to clipboardExpand all lines: skills/acreadiness-assess/SKILL.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,10 +1,10 @@
1
1
---
2
2
name: acreadiness-assess
3
3
description: 'Run the AgentRC readiness assessment on the current repository and produce a static HTML dashboard at reports/index.html. Wraps `npx github:microsoft/agentrc readiness` and hands off rendering to the @ai-readiness-reporter custom agent. Supports policies (--policy) for org-specific scoring. Use when asked to assess, audit, or score the AI readiness of a repo.'
4
-
argument-hint: "[--policy <path-or-pkg>] [--per-area] — e.g. /assess, /assess --policy ./policies/strict.json"
4
+
argument-hint: "[--policy <path-or-pkg>] [--per-area] — e.g. /acreadiness-assess, /acreadiness-assess --policy ./policies/strict.json"
5
5
---
6
6
7
-
# /assess — AI-readiness assessment
7
+
# /acreadiness-assess — AI-readiness assessment
8
8
9
9
Use this skill whenever the user asks for an **AI-readiness assessment**, a **readiness check**, an **audit**, or wants to **see how AI-ready** their repository is.
10
10
@@ -18,7 +18,7 @@ This skill is the *Measure* step in AgentRC's **Measure → Generate → Maintai
18
18
- If the user provided `--policy <source>`, capture it.
19
19
- Otherwise check `agentrc.config.json` for a `policies` array.
20
20
- If neither, run with no policy (built-in defaults).
21
-
- For a primer on policies, suggest the `policy` skill.
21
+
- For a primer on policies, suggest the `acreadiness-policy` skill.
22
22
23
23
3.**Run the readiness scan** in the repo root with structured output:
24
24
```bash
@@ -37,7 +37,7 @@ This skill is the *Measure* step in AgentRC's **Measure → Generate → Maintai
37
37
- Produces a **Prioritised Remediation Plan** (🔴 Fix First / 🟡 Fix Next / 🔵 Plan).
38
38
- Embeds the raw AgentRC JSON for reuse.
39
39
40
-
5.**Tell the user where the report lives** (`reports/index.html`) and how to open it. Summarise in chat: maturity level, overall score, top three lowest pillars, and the single highest-leverage next action (almost always: run the `generate-instructions` skill).
40
+
5.**Tell the user where the report lives** (`reports/index.html`) and how to open it. Summarise in chat: maturity level, overall score, top three lowest pillars, and the single highest-leverage next action (almost always: run the `acreadiness-generate-instructions` skill).
# /generate-instructions — write AI agent instructions
7
+
# /acreadiness-generate-instructions — write AI agent instructions
8
8
9
9
Use this skill whenever the user wants to **create**, **regenerate**, or **refresh** their custom instructions for AI coding agents (Copilot, Claude, etc.). This is the *Generate* step in AgentRC's **Measure → Generate → Maintain** loop and the single highest-leverage action for the **AI Tooling** pillar.
Copy file name to clipboardExpand all lines: skills/acreadiness-policy/SKILL.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,10 +1,10 @@
1
1
---
2
2
name: acreadiness-policy
3
3
description: 'Help the user pick, write, or apply an AgentRC policy. Policies customise readiness scoring by disabling irrelevant checks, overriding impact/level, setting pass-rate thresholds, or chaining org baselines with team overrides. Use when the user asks about strict mode, AI-only scoring, custom weights, CI gating, or wants org-wide standardisation.'
4
-
argument-hint: "[show | new <name> | apply <path-or-pkg>] — e.g. /policy show, /policy new strict-frontend"
4
+
argument-hint: "[show | new <name> | apply <path-or-pkg>] — e.g. /acreadiness-policy show, /acreadiness-policy new strict-frontend"
5
5
---
6
6
7
-
# /policy — AgentRC policies
7
+
# /acreadiness-policy — AgentRC policies
8
8
9
9
Use this skill when the user asks about **policies**, **strict mode**, **custom scoring**, **disabling checks**, **org standards**, or **CI gating** of readiness.
0 commit comments