R76.H5 — Verification: colibri-sigma-orchestrator skill stub
Acceptance check
1. Files exist at canonical + mirror paths
$ ls -la .agents/skills/colibri-sigma-orchestrator/
-rw-r--r-- 1 Kamal 197121 9350 Apr 18 16:05 SKILL.md
$ ls -la .claude/skills/colibri-sigma-orchestrator/
-rw-r--r-- 1 Kamal 197121 9350 Apr 18 17:49 SKILL.md
Both files present. Sizes match: 9350 bytes each. ✓
2. Byte-identical canon vs mirror
$ diff .agents/skills/colibri-sigma-orchestrator/SKILL.md \
.claude/skills/colibri-sigma-orchestrator/SKILL.md
$ echo "exit: $?"
exit: 0
diff returns zero — files are byte-identical. ✓
3. Line count budget
$ wc -l .agents/skills/colibri-sigma-orchestrator/SKILL.md
137 .agents/skills/colibri-sigma-orchestrator/SKILL.md
137 lines — well under the 200-line budget. ✓
4. YAML frontmatter safety
$ head -20 .agents/skills/colibri-sigma-orchestrator/SKILL.md
---
name: colibri-sigma-orchestrator
description: "Colibri Sigma Orchestrator (T1) contract-reference skill — …"
round: R76
updated: 2026-04-18
---
The description: value is double-quoted and survives the multiple inline colons (Phase A:, Greek letter alpha:, ADR-005:, Contract at docs/…:). Body H1 + blockquote parse cleanly. gray-matter compatibility is preserved. ✓
5. Gate triplet (npm build + lint + test)
Build (npm run build):
> colibri@0.0.1 build
> tsc
Exit 0. ✓
Lint (npm run lint):
> colibri@0.0.1 lint
> eslint src
Exit 0. ✓
Test (npm test):
Test Suites: 26 passed, 26 total
Tests: 1085 passed, 1085 total
Snapshots: 0 total
Time: 24.338 s
1085 / 1085 passing — one additional test over the R75 Wave I baseline of 1084 (the skill-schema.test.ts corpus-size assertion was updated from 22 → 23 to reflect the new canonical skill added by this task). No regressions. Known pre-existing startup smoke flake was not triggered on the verification run. ✓
6. Test assertion update
The skill-schema.test.ts corpus-size test previously asserted corpus.length === 22 (R75 Wave F post-rename baseline). Adding the sigma-orchestrator skill makes the canonical count 23, so the assertion was bumped:
// Before:
it('finds the expected number of colibri-* skills (22 after repo-facing-polish rename)', () => {
expect(corpus.length).toBe(22);
});
// After:
it('finds the expected number of colibri-* skills (23 after R76.H5 sigma-orchestrator add)', () => {
expect(corpus.length).toBe(23);
});
This is the single intended code change to tests. ✓
Scope compliance
- No edits to
docs/agents/sigma-orchestrator.md(authoritative, read-only). - No Sigma MCP tools created (agent runtime deferred per ADR-005).
- No edits to
src/source (onlysrc/__tests__/skill-schema.test.tsassertion bumped — test contract, not domain code). - No edits to other skills’ SKILL.md files.
- No edits in Obsidian vault mirror zone.
.claude/settings.local.jsonnot staged.- Stack uses
mkdir -p+cp— works on Git Bash for Windows.
Documented downstream drift (out-of-scope for this task)
The addition of the 23rd canonical skill creates stale “22” references in several docs. These are NOT regressions of this task’s surface but are now factually wrong after merge:
| File | Line | Stale claim |
|---|---|---|
.agents/README.md |
7 | “on-disk inventory is now 22 colibri-* skills” |
.agents/README.md |
15 | “22 canonical Colibri skill definitions” |
.agents/README.md |
20 | ”## Skills (22 colibri-*)” |
CLAUDE.md |
159 | “22 canonical colibri-* skills in skills/” |
AGENTS.md |
27 | ”## Skills (22 canonical colibri-*)” |
.claude/README.md |
18, 27 | “22 canonical skills” |
README.md |
158 | “22 canonical colibri-* skill definitions” |
docs/world-schema.md |
242 | “22 colibri-* skills in .agents/skills/” |
docs/3-world/execution/index.md |
69, 127 | “22 canonical skills” |
docs/reference/cross-reference.md |
238 | “22 canonical colibri-* skills” |
docs/colibri-system.md |
54 | “22 canonical colibri-*” |
docs/reference/glossary.md |
95, 281 | “22 canonical skills” / “22 canonical colibri-* skills” |
docs/guides/quick-start.md |
57 | “22 canonical colibri-* skills” |
This is pure documentation drift of the same class as the .claude/skills/ mirror drift memory already tracks (see MEMORY.md drift section). Out-of-scope for R76.H5 per the task prompt’s “Do NOT touch other skills / docs wholesale” boundary, but a single follow-up hygiene PR can do a batch 22 → 23 replacement after merge. This is identical in shape to the R75 Wave F 21 → 22 bump in docs/verification/chore-rename-repo-facing-polish-verification.md:165-166.
Residual drift (unchanged)
.claude/skills/mirror drift documented in MEMORY.md (Wave H) — not addressed by this task.- Pre-existing
startup — subprocess smokeflake documented — not regressed. .claude/settings.local.jsonpersistent git drift — not touched.
Completion summary
All acceptance criteria met. Gate triplet green. Canon + mirror byte-identical. YAML parses safely. Line budget respected. The one test assertion change is the necessary corollary of adding a canonical skill, documented in the commit message. Documentation “22” drift noted above for a follow-up hygiene pass.