feat: Antigravity-compatible skills distribution (spike)#87
Conversation
Extend scripts/build-antigravity.mjs and dist/antigravity/ to bring PR #87 toward merge-ready (still draft, not merged). Build hardening: - parameterized output root so the build can target temp dirs - determinism self-test: build twice into temp dirs, assert byte-identical - --check flag: rebuild into temp, diff against committed dist, nonzero on drift - --audit flag: regenerate the heuristic discovery audit Verification artifacts: - SKILL_DISCOVERY_AUDIT.md: heuristic token-overlap audit (8/8 fixture prompts in top 3, 6/8 ranked #1) plus description lint; labeled heuristic throughout - RULES_CANDIDATES.md: documents design-standards, security-baseline, vertical-site-conventions as v2 Rule candidates (not converted) - PORT_NOTES.md: phase-2 results (steps 1 to 4) and an owner smoke-test recipe Real discovery check: Pi CLI (same .agents/skills contract) accepts the tree and loads all 102 skills without crashing; full runtime triggering remains the owner's live Antigravity smoke test. Determinism and --check both PASS. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Phase 2: hardening + discovery verificationPushed Automated verification (all green)
Real discovery check (best effort, partial)No Antigravity CLI exists in this environment. As a directory-contract proxy, the Pi CLI ( New in this phase
Remaining gate before mergeOwner's live smoke test in Antigravity: install |
Add scripts/build-codex.mjs, a dependency-free Node ESM build step that produces a Codex distribution of the 102-skill catalog under dist/codex/. - Walks skills/<name>/ and copies each into dist/codex/.agents/skills/<name>/, preserving the references/ subtree byte for byte (488 files). - Normalizes SKILL.md frontmatter to the portable core (name + description); moves category, catalog_summary, display_order into a per-skill sidecar (references/_claude-frontmatter-extras.yaml) so the port is reversible. - Leaves SKILL.md bodies untouched. - Detects MCP references and emits dist/codex/agents/openai.yaml as a commented wiring template (Ahrefs MCP powers the SEO audit suite; no real config is fabricated). - Includes a validation pass (PASS/FAIL per check): non-empty name/description, skill-count parity, reference-file coverage, clean frontmatter. Adds dist/codex/PORT_NOTES.md and dist/codex/README.md. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add a dependency-free Node ESM build (scripts/build-antigravity.mjs) that transforms the 102-skill claude-skills catalog into an Antigravity layout under dist/antigravity/.agents/skills/. Transform: - one folder per source skill, references/ subtree copied byte-for-byte - frontmatter trimmed to the portable core (name, description) - RampStack-only keys (category, catalog_summary, display_order) moved to a per-skill references/_claude-frontmatter-extras.yaml sidecar (lossless) - SKILL.md body preserved byte-for-byte All 102 skills map to Antigravity Skills (0 Rules, 0 Workflows). Includes PORT_NOTES.md and README.md. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Extend scripts/build-antigravity.mjs and dist/antigravity/ to bring PR #87 toward merge-ready (still draft, not merged). Build hardening: - parameterized output root so the build can target temp dirs - determinism self-test: build twice into temp dirs, assert byte-identical - --check flag: rebuild into temp, diff against committed dist, nonzero on drift - --audit flag: regenerate the heuristic discovery audit Verification artifacts: - SKILL_DISCOVERY_AUDIT.md: heuristic token-overlap audit (8/8 fixture prompts in top 3, 6/8 ranked #1) plus description lint; labeled heuristic throughout - RULES_CANDIDATES.md: documents design-standards, security-baseline, vertical-site-conventions as v2 Rule candidates (not converted) - PORT_NOTES.md: phase-2 results (steps 1 to 4) and an owner smoke-test recipe Real discovery check: Pi CLI (same .agents/skills contract) accepts the tree and loads all 102 skills without crashing; full runtime triggering remains the owner's live Antigravity smoke test. Determinism and --check both PASS. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Rebased onto origin/main after PR #90 (102 skills, all descriptions under 1024 chars) and rebuilt. Only the three skills whose descriptions were shortened upstream change in the dist: - creative-direction (900 chars) - integration-orchestrator (968 chars) - logo-design (976 chars) Frontmatter still trims to name + description; the other three keys stay sidecar'd. determinism and --check both PASS. No emitted description exceeds 1024 chars; creative-brief-selector present; RULES_CANDIDATES.md intact. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
5e56b55 to
c9b7fab
Compare
Summary
Feasibility spike: a repeatable build that transforms the
claude-skillscatalog into a Google Antigravity-compatible distribution underdist/antigravity/.agents/skills/.Lane discipline: only
scripts/build-antigravity.mjsanddist/antigravity/were created.skills/treated as read-only source. Zero new dependencies (Node built-infs/pathonly, frontmatter parsed by hand).Catalog
find skills -name SKILL.md | wc -l)SKILL.md+references/Frontmatter normalization
Every source SKILL.md carries 5 keys. The build keeps the portable core and sidecars the rest:
namedescriptioncategoryreferences/_claude-frontmatter-extras.yamlcatalog_summarydisplay_orderSidecaring (vs dropping) keeps the port lossless and reversible. Each emitted SKILL.md ends with exactly
name+description; the body below the frontmatter is preserved byte-for-byte (verified across all 102).Validation results
All Step 4 checks PASS:
---delimiters + non-emptyname/descriptionon all 102 emitted SKILL.md: PASSreferences/file has an emitted counterpart (488 matched): PASSname/description: PASSTaxonomy classification (Skills / Rules / Workflows)
All 102 entries are on-demand procedural knowledge with trigger-rich descriptions, so all map to Antigravity Skills. Emitted: 102 Skills, 0 Rules, 0 Workflows.
design-standards,security-baseline, andvertical-site-conventionsare flagged in PORT_NOTES as candidates a team could later promote to always-on Rules; left as Skills here to keep the transform mechanical and reversible.Install
Feasibility
Feasible and low-risk: the catalog is uniform, the transform is a frontmatter trim plus recursive copy, and all structural validation passes.
🤖 Generated with Claude Code