Audit: chore-rename-repo-facing-polish

1. Purpose

Inventory the outlier skill repo-facing-polish and all cross-references in the corpus before renaming it to colibri-repo-facing-polish.

2. Outlier directory inventory

2.1 Canon: .agents/skills/repo-facing-polish/

.agents/skills/repo-facing-polish/
├── SKILL.md              ← frontmatter: name: repo-facing-polish
├── agents/
│   └── openai.yaml
└── references/
    └── checklist.md

Frontmatter (SKILL.md lines 1–4):

---
name: repo-facing-polish
description: Polish a repository's public GitHub surface and release hygiene. Greek: α (alpha) — System Core. Use when Claude needs to fix or improve CI checks, GitHub Pages, README and root docs, changelog and release notes, tags and releases, or repository metadata such as description, homepage, and topics.
---

Kebab-case validation: repo-facing-polish matches /^[a-z][a-z0-9-]+$/ — valid. This rename is for corpus uniformity, not a validation fix.

2.2 Mirror: .claude/skills/repo-facing-polish/

.claude/skills/repo-facing-polish/
└── SKILL.md              ← frontmatter: name: repo-facing-polish

The mirror contains only SKILL.md — no agents/ or references/ subdirs. This is expected pre-existing structural divergence (mirror ≠ byte-identical full canon; only SKILL.md is mirrored by convention).

2.3 SKILL.md byte comparison

diff .agents/skills/repo-facing-polish/SKILL.md .claude/skills/repo-facing-polish/SKILL.mdempty diff (byte-identical SKILL.md files).

Mirror byte-identity status (SKILL.md): CONFIRMED ✓

Note: The mirror does NOT mirror agents/ or references/ subdirs — this is a known structural asymmetry, not new drift. Only SKILL.md is kept in sync by the mirror convention.

3. Skill count baseline

Directory Count Breakdown
.agents/skills/ total 22 21 colibri-* + 1 repo-facing-polish
.claude/skills/ total 22 same + README.md is not a skill dir

After rename: 22 colibri-* + 0 outliers.

4. Full grep sweep — all hits on repo-facing-polish

Run from worktree root, excluding .git, node_modules, .worktrees:

grep -rn "repo-facing-polish" . --exclude-dir=.git --exclude-dir=node_modules --exclude-dir=.worktrees

4.1 Hit classification table

File Line Content summary Classification
.agents/README.md 58 - repo-facing-polish — Polish repo's public GitHub surface (body list) LIVE — update
.agents/README.md 7 Header note “21 … MEMORY.md and older docs cite 22” LIVE — context note, will update with count fix
.agents/README.md 15 Table row: skills/ = “22 canonical Colibri skill definitions (colibri-* prefix)” LIVE — already says colibri-*; remains accurate post-rename
.agents/README.md 20 ## Skills (21 colibri-*) header LIVE — update to 22
.agents/skills/repo-facing-polish/agents/openai.yaml 4 $repo-facing-polish reference in default_prompt LIVE — update to colibri-repo-facing-polish (inside the renamed dir)
.agents/skills/repo-facing-polish/SKILL.md 2 name: repo-facing-polish LIVE — update frontmatter
.agents/spawns/colibri-research/r2/source-universe-ams.md 335 Table row in historical research spawn HISTORICAL — spawns are read-only; leave
.claude/README.md 55 repo-facing-polish in canonical-22 table; also stale ams-* section LIVE — update skill name in table + fix stale ams-* section
.claude/skills/README.md 14 “Extra file: .claude/skills/repo-facing-polish/SKILL.md — not in .agents/…” LIVE — update to reflect rename and remove the “extra file” note
.claude/skills/repo-facing-polish/SKILL.md 2 name: repo-facing-polish LIVE — update frontmatter
docs/audits/p0-6-2-skill-crud-audit.md 171, 175, 286 Historical audit doc referencing old name HISTORICAL — frozen audit record; leave
docs/packets/p0-6-2-skill-crud-packet.md 691, 739 Historical packet doc HISTORICAL — frozen packet record; leave
docs/packets/r75-plan-red-packet.md 346 Historical plan-red packet listing 12 heritage skills including repo-facing-polish HISTORICAL — frozen record; leave
docs/PLAN-RED.md 269 Active restructuring plan table row LIVE — update to colibri-repo-facing-polish
docs/verification/p0-6-2-skill-crud-verification.md 136 Historical verify doc; mentions skip log for name mismatch HISTORICAL — frozen verify record; leave
docs/world-schema.md 251 Skills listing in world-schema tree LIVE — update to colibri-repo-facing-polish
src/__tests__/skill-schema.test.ts 488 expect(corpus.length).toBe(21) — sweeps colibri-* only TEST — must update to 22 post-rename

4.2 Summary counts

Category Count
LIVE — update (rename or count fix) 12
TEST — update count assertion 1
HISTORICAL — leave untouched 7

5. .agents/README.md inconsistency (V2 known issue)

The README has a documented body/table inconsistency:

  • Line 7 body note: says “21 colibri-*” on-disk (authoritative claim)
  • Line 15 table: says skills/ = “22 canonical Colibri skill definitions (colibri-* prefix)”
  • Line 20 section header: ## Skills (21 colibri-*)

After rename:

  • All three must consistently read 22 colibri-* skills
  • The “stale count in the memory layer” footnote (line 7) should be reframed

6. .claude/README.md stale ams-* section

.claude/README.md lines 57–66 reference ams-* redirect stubs (4 stubs listed). Per MEMORY.md and .claude/skills/README.md, these stubs were removed in R75 PLAN-RED. The .claude/README.md table entry for repo-facing-polish (line 55) also needs updating. The stale ams-* section can be updated to note stubs were removed.

7. openai.yaml internal reference

.agents/skills/repo-facing-polish/agents/openai.yaml line 4 uses $repo-facing-polish — this is a skill invocation reference that will need updating to $colibri-repo-facing-polish after the directory rename.

8. Test gate impact

src/__tests__/skill-schema.test.ts:488 asserts corpus.length == 21 where corpus = all colibri-* directories in .agents/skills/. After the rename, colibri-repo-facing-polish joins the family and corpus length becomes 22. This assertion must be updated to 22.

No other test files hardcode repo-facing-polish by name.

9. Invariants confirmed pre-rename

  • Total SKILL.md count: 22 (will remain 22)
  • colibri-* count: 21 → 22 after rename
  • SKILL.md byte-identity between canon and mirror: ✓ (pre-rename)
  • Kebab-case passes for both old and new name
  • No imports in TypeScript source reference the skill name string directly

10. Residual risks

  • .claude/README.md has a stale ams-* stub section that should be cleaned up (in scope for Step 4 since we’re already touching the file)
  • Historical records in docs/audits/, docs/packets/, docs/verification/ mention old name — intentionally left as is (frozen records)
  • Spawn file .agents/spawns/colibri-research/r2/source-universe-ams.md — read-only HERITAGE; left unchanged

Back to top

Colibri — documentation-first MCP runtime. Apache 2.0 + Commons Clause.

This site uses Just the Docs, a documentation theme for Jekyll.