| name | equill-labs-update |
| description | Regenerate eQuill Labs content from GitHub with optional guidance. Stops for human review before build and before commit. |
equill-labs-update
Purpose
Orchestrates the eQuill Labs content pipeline end-to-end: fetch GitHub repo data for jparkerweb, apply curation overrides, write AI blurbs for changed repos only, render validated Markdown into the Astro content collection, build the static site, and stop for human review and commit. Every AI write is grounded in a README span, and the skill never commits or pushes on the user's behalf.
Blurbs are written as robust, thorough descriptions (a multi-sentence overview per project, not a one-liner — see 03-write-blurbs.md rule (d)). At render time, each project's README ## Installation section is appended verbatim to its content body as the final section, so the published page carries the repo's own install instructions below the description.
When to use
The user runs /equill-labs-update with an optional guidance prompt (e.g., /equill-labs-update emphasize AI agents). Use this skill whenever the site's project content needs to be synced with the latest state of jparkerweb's public GitHub repositories, or when the user wants to surface different projects without hand-editing individual content files.
Phases
- Fetch GitHub snapshot
- Curate in-memory list
- Write AI blurbs
- Render content collection
- Propose diffs for hand-authored files
- Review gate
- Build
- Commit gate
See prompts/ for phase details. Phases 5–8 are orchestrated by 05-review-gate.md.
Inputs
- Optional user guidance (free-form string): tone direction (e.g., "lean more technical"), emphasis (e.g., "feature AI agent projects"), exclusions (e.g., "hide obsidian plugins for this run"). Guidance can reorder, filter, or adjust tone — it can never invent facts about repos.
Outputs
data/github-snapshot.json (updated)
data/ai-cache.json (appended with new blurbs)
data/build-manifest.json (regenerated)
src/content/projects/**.md (added/modified/removed)
data/proposals/*.diff (optional — only when guidance implies hand-authored file edits)
docs/** (built output, after user approval)
Invariants
The skill never writes to:
src/components/**
src/layouts/** (includes the Umami analytics <script> in BaseLayout.astro — never strip, move, or modify it; see AGENTS.md → Analytics)
src/pages/** (.astro files)
src/content/pages/**
site/featured.json
Edits to any of the above are surfaced as .diff files under data/proposals/ for the user to apply manually with git apply. The skill also never calls git commit, git push, or git apply.
Review-gate interaction pattern
Before running npm run build, the skill must:
- Print the diff stat summary:
git diff --stat followed by category counts (e.g., N content files, M data files, K proposal diffs).
- Print the literal text:
Reply 'approved' to build, 'reject' to revert, 'abort' to stop.
- Parse only those three literal replies. Any other text → re-prompt with the same instruction. Do not accept fuzzy matches like
yes, ok, lgtm, or y.
- On
approved: run npm run build, then proceed to the commit-gate.
- On
reject: print the git restore command set for the changed files and exit 0 without building.
- On
abort: exit 1 immediately, no cleanup.
Commit-gate interaction pattern
After a successful build, the skill must:
- Run and display
git status --short.
- Print a suggested commit message in the form:
content: refresh GitHub snapshot (N added, M modified) — where N and M come from the change-set counts.
- Print the literal text:
Review the diff, commit when ready. The skill stops here — commits are manual.
- Exit. Do not call
git commit, git push, or any git-mutating command.
See prompts/ for phase details.