feat: add reviews content collection
Move all 24 review entries from skills-review/catalog.js +
skills-review/submitted-catalog.js into a typed Astro content collection at
src/content/reviews/. Each entry is a Markdown file with frontmatter for the
review metadata (id, author, focus, wins, improve, extras, name, description)
and a body that holds the 'improved' SKILL.md content.
Re-point scripts/build-skill-review.mjs at the new collection. The generator
reads each .md file, parses its YAML frontmatter, and writes
skill-reviews/improved/{id}/SKILL.md in the same shape the legacy catalog
produced — verified byte-identical via 'git diff --exit-code skill-reviews/'.
The 'name' field is preserved separately from 'id' because two entries
renamed the skill during review (id angular-accessibility-root → name
angular-accessibility; id confectionary-skill-hub → name confectionery-orders).
Without it the generator output would drift on those two files.
Does not yet delete skills-review/catalog.js or submitted-catalog.js —
verify.mjs and the legacy review-desk page both still read them, so they
stay as a mirror until task 16 rewires the page to the collection. Adding a
new submission today requires editing both the .md file (new source of
truth) and the legacy catalog.js (until task 16).
Done-when:
- 24 entries under src/content/reviews/ ✓
- verify.mjs's id:' count assertion still passes ✓
- git diff --exit-code skill-reviews/ clean after regenerating ✓
- astro check passes (22 files: 0 errors, 0 warnings, 2 hints) ✓
Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
---
|
||||
author: 'Marcos Silva'
|
||||
description:
|
||||
'Review a Confluence-ready draft and its posting context before publication.
|
||||
Use when a user wants an evidence-backed PASS, REVISE, or BLOCK verdict; this
|
||||
skill never publishes or edits a page.'
|
||||
extras:
|
||||
'Publish a compact machine-readable finding schema so the dry-run script and
|
||||
human review agree.'
|
||||
focus:
|
||||
'Review a Confluence draft before publishing and provide an evidence-backed
|
||||
verdict.'
|
||||
id: 'page-reviewer'
|
||||
improve:
|
||||
- 'Make connector-dependent checks conditional and state the fallback when the
|
||||
connector is unavailable.'
|
||||
- 'Clarify which internal links and hostnames are permitted instead of using a
|
||||
broad suffix exception.'
|
||||
- 'Add deterministic fixtures for secrets, title collisions, and invalid
|
||||
macros.'
|
||||
name: 'page-reviewer'
|
||||
path: '../submitted-skills/Marcos%20Silva/skills/page-reviewer/SKILL.md'
|
||||
status: 'Strong non-mutating gate'
|
||||
title: 'Page reviewer'
|
||||
wins:
|
||||
- 'Clear PASS / REVISE / BLOCK model with anchored findings.'
|
||||
- 'Non-mutating scope and optional PlantUML checks are well defined.'
|
||||
---
|
||||
|
||||
# page-reviewer
|
||||
|
||||
## Inputs
|
||||
|
||||
Draft body, intended space/title/parent, and any available approved connector
|
||||
context.
|
||||
|
||||
## Workflow
|
||||
|
||||
1. Run deterministic local checks for content safety, storage structure, links,
|
||||
and diagram markup.
|
||||
2. If an approved connector is available, check title and target context;
|
||||
otherwise report that check as unavailable.
|
||||
3. Anchor every finding to a line or section and issue PASS, REVISE, or BLOCK.
|
||||
|
||||
## Rules
|
||||
|
||||
- Never publish, edit, or treat placeholders as safe secrets.
|
||||
- Distinguish allowed internal destinations from unverified hosts using the
|
||||
project policy.
|
||||
- A missing required validation is a stated limitation, not a pass.
|
||||
|
||||
## Output
|
||||
|
||||
Return verdict, scope, findings (severity, anchor, evidence, action), checks
|
||||
run, and the next safe step.
|
||||
Reference in New Issue
Block a user