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:
Marcos Paulo
2026-09-05 06:21:58 +00:00
parent f241c5581a
commit db4ae19c0a
26 changed files with 1350 additions and 15 deletions
+40
View File
@@ -0,0 +1,40 @@
---
author: 'Vinicius Nascimento'
description:
'Record the start of a Long Day Factory lunch break. Use when the user
explicitly says they are starting lunch.'
extras: 'Share one state schema and add a test for duplicate lunch starts.'
focus: 'Record the beginning of a lunch break.'
id: 'lunch-time'
improve:
- 'Treat “going to lunch” as write authorization but keep queries
non-mutating.'
- 'Use a package-relative script path.'
- 'Prevent overwriting an existing open lunch without confirmation.'
name: 'lunch-time'
path: '../submitted-skills/Vinicius%20Nascimento/skills/lunch-time/SKILL.md'
status: 'Good companion set'
title: 'Lunch time'
wins:
- 'Narrow purpose and clear relationship to the suite.'
- 'Handles missing start state gracefully.'
---
# lunch-time
## Workflow
1. Confirm the request records a lunch start now.
2. Check for a started shift and an existing open lunch.
3. If an open lunch exists, ask before replacing it; otherwise run
`bash scripts/lunch.sh`.
## Rules
- This command changes local state; do not run it for a question about lunch
time.
- Use `references/state.md` for recovery rules.
## Output
Confirm the lunch timestamp and any missing or conflicting state.