Skill Inventory — Unified Audit, Atlas, Mesh Health & Unification
DITEMPA BUKAN DIBERI — Intelligence is forged, not given. The mesa above the terrain. See the whole. Find the missing. Route the right.
What This Skill Is
This is the meta-skill — a skill about skills. It provides:
- Inventory — live multi-surface counts (not a frozen number)
- Gap detection — missing, thin, dual-named, harness-divergent
- Routing — given a task and harness, which skill(s) to load
- Health scoring — freshness, collision, catalog vs view drift
- Cross-harness unification — AAA catalog ↔ CLI agent views
- Mesh sync — per-skill SYNC / DIVERGED / MISSING_FROM_X status
- Cross-surface contrast — 10-agent audit with rot classification
It does NOT execute, judge, or seal. It classifies, routes, and illuminates.
Iron rule: AAA is the catalog. Harnesses are views. Do not invent parallel catalogs.
When to Use
- Reviewing the overall capabilities, naming conventions, and performance of the active skill portfolio
- A new skill is drafted or proposed for installation
- An existing skill's SKILL.md is updated or modified
- Executing portfolio maintenance checks to clean up outdated APIs, dead links, or legacy documentation
- Tuning the triggering accuracy of skills when experiencing trigger drift
- Answering "are my agents in sync right now?"
- Auditing skill mesh, resolving dual names, rebinding harness skills
- Before claiming skill inventory is complete
When NOT to Use
- Creating a single new skill from scratch (use
skill-creator) - Linting individual skill trigger statements (use
skill-creatorlinter mode) - The task is a general system performance audit unrelated to skills
§0. MULTI-HARNESS UNIFICATION
Architecture
BOOTSTRAP_MANIFEST (9 universals) ← always first
↓
AAA/skills (catalog + V3 registry) ← sole named truth
+ .agents/skills (doctrine/stage) ← shared federation core
↓ symlink mesh
~/.grok | ~/.claude | ~/.codex ← views (+ harness-native)
↓ separate trees
Hermes categories | Kimi roles | OpenClaw owned
Live inventory (OBSERVED)
| Surface | Count | Role |
|---|---|---|
AAA ${AAA_HOME:-/root/AAA}/skills |
~108 active bodies | Catalog; archives excluded |
| V3 registry | 64 logical | Short-name registry |
| Alias table | 133 rows | 104 active + 29 tombstone |
.agents/skills |
~130 active bodies | Stage/domain doctrine |
Grok ~/.grok/skills |
~184 resolvable | View + native keepers |
| Claude / Codex / OpenCode | ~176 / 56 / 39 | Mesh/profile views |
| Kimi | ~7 | Role contrast/RSI skills |
Canonical artifacts
| Artifact | Path |
|---|---|
| Alias table | ${AAA_HOME:-/root/AAA}/skills/SKILL_ALIAS_TABLE.json |
| Mesh sync | ${AAA_HOME:-/root/AAA}/skills/scripts/skill-mesh-sync.sh |
| V3 registry | ${AAA_HOME:-/root/AAA}/skills/FEDERATED_SKILLS_REGISTRY_V3.yaml |
| Historical receipt | ${AAA_HOME:-/root/AAA}/skills/docs/SKILL-UNIFICATION-COMPLETE-2026-07-12.md |
| Current receipt | ${FORGE_WORK:-/root/forge_work}/2026-07-15/AAA-SKILL-TOOL-RECONCILIATION.json |
| Hermes bridge | ${AFORGE_HOME:-/root/A-FORGE}/forge_work/2026-07-12/HERMES-V3-DOMAIN-BRIDGE.md |
Resolve a V3 short name
python3 -c "import json;d=json.load(open('${AAA_HOME:-/root/AAA}/skills/SKILL_ALIAS_TABLE.json'));
print([a for a in d['aliases'] if a['v3_name']=='meta-atlas'][0])"
Mesh hygiene
# dry-run
bash ${AAA_HOME:-/root/AAA}/skills/scripts/skill-mesh-sync.sh
# apply missing links
bash ${AAA_HOME:-/root/AAA}/skills/scripts/skill-mesh-sync.sh --apply
# CI / pre-seal
bash ${AAA_HOME:-/root/AAA}/skills/scripts/skill-mesh-sync.sh --check
BOOT gate
BIND → GROUND → ROUTE → RECALL → VERIFY → SEAL → KNOW → READY
Only after READY may domain skills load.
§1. CROSS-SURFACE INVENTORY (10 Surfaces)
| # | Surface | Path | Type |
|---|---|---|---|
| 1 | AAA canonical | /root/AAA/skills/ |
SOT |
| 2 | kimi | /root/.kimi-code/skills/ |
copy |
| 3 | opencode | /root/.arifos/agents/opencode/skills/ |
symlink |
| 4 | grok | /root/.grok/skills/ |
symlink |
| 5 | claude | /root/.claude/skills/ |
symlink |
| 6 | codex | /root/.codex/skills/ |
symlink |
| 7 | hermes | /root/.hermes/skills/ |
copy |
| 8 | hermes-asi | /usr/local/lib/hermes-agent/skills/ |
copy |
| 9 | openclaw-ws | /root/.openclaw/workspace/skills/ |
copy |
| 10 | openclaw-bundled | bundled | built-in |
Cross-surface compare
# Dump each surface
comm -23 <(ls /root/AAA/skills/ | sort) <(ls /root/.kimi-code/skills/ | sort) # orphans: AAA has, kimi lacks
comm -13 <(ls /root/AAA/skills/ | sort) <(ls /root/.kimi-code/skills/ | sort) # drift: kimi has, AAA lacks
Classification Matrix
| Verdict | Condition | Action |
|---|---|---|
| ✅ PROMOTE | kimi/agent has it, AAA lacks, universal | Copy to AAA, register V3, add alias |
| 📦 ARCHIVE | agent has it, AAA has better version | Move to _retired/<date>/ |
| 🔧 HARNESS-NATIVE | agent-specific | OK — don't promote |
| 🔲 NEED MIRROR | AAA has it, agent lacks | Copy/symlink to agent |
| ⚠️ DUAL-NAME | Same skill, different names | Alias table entry or symlink |
| ☠️ VOID | Zero invocations, zero evidence | SKILL.md → SKILL.md.VOID |
§2. MESH SYNC PROTOCOL
Compare command
find /root/AAA/skills /root/.hermes/skills /root/.kimi-code/skills -maxdepth 2 -name 'SKILL.md' | xargs grep '^version:' | sort
PITFALL: -maxdepth 1 returns empty on this mesh — skill dirs nest one level deep. Use -maxdepth 2.
Health report format
skill_name | AAA_version | hermes_version | kimi_version | status
Status values
| Status | Meaning |
|---|---|
SYNC |
Present in all trees, same version |
DIVERGED |
Present in ≥2 trees with different versions |
MISSING_FROM_X |
Absent from tree X but present in AAA |
Escalation protocol
| Detection | Action | Owner |
|---|---|---|
DIVERGED |
Flag — log the row | AUDIT agent |
DIVERGED > 3 sessions |
Fix — align to AAA version | A-FORGE |
MISSING_FROM_X |
Propagate from AAA | A-FORGE |
MISSING_FROM_aaa |
Flag + reverse-propagate | AUDIT → A-FORGE |
§3. ROT CLASSIFICATION
| Rot Class | Description |
|---|---|
doc-rot |
References external URLs/paths no longer accessible |
api-rot |
SDK/CLI packages past compatibility versions |
trigger-rot |
Triggering criteria overlap with other skills |
unused-rot |
No telemetry execution within threshold |
archive-void-rot |
Physically archived but still discoverable |
drift-rot |
Exists on agent surface but NOT in AAA (or vice versa) |
dual-name-rot |
Same skill has different names across surfaces |
Age thresholds
| Days Since Forge | Status | Action |
|---|---|---|
| 0-7 | FRESH | No action |
| 8-14 | CURRENT | Review on next session |
| 15-30 | AGING | Verify references still valid |
| 30+ | STALE | Audit needed, consider archive or refresh |
§4. ROUTING TABLE
| Intent Pattern | Skill to Load |
|---|---|
| "seismic" / "well log" / "petrophysics" / "basin" | geox-constitution + domain geox-* |
| "NPV" / "IRR" / "capital" / "investment" | wealth-capital-thermodynamics |
| "sleep" / "fatigue" / "vitality" / "dignity" | well-substrate-readiness |
| "build MCP tool" / "forge tool" | mcp-mastery |
| "GitHub PR" / "CI broken" / "issue triage" | github-operations |
| "create a skill" / "new skill" | skill-creator |
| "what skill should I load" / "skill gap" | THIS SKILL |
§5. HEALTH SCORING
Per-skill health check
skill_health = {
"name": str, "version": str, "forged_date": str,
"days_since_forge": int, "references_count": int,
"phantom_refs": int, "has_prompt": bool, "has_test": bool,
"organ_coverage": float,
}
§6. ANTI-PATTERNS
| Anti-Pattern | Remedy |
|---|---|
Copy skill bodies into every ~/.X/skills |
Symlink to AAA / .agents |
| Second "Grok catalog" of 100+ natives | Keep ≤12 harness keepers |
| Route by V3 short name without path | Resolve via alias table |
| Trust frozen counts | Re-probe disk |
| Skill overload (5+ for simple task) | Use this meta-skill for minimum set |
| Phantom reliance | Run gap register and forge missing |
| Stage skipping | Always start with 000-init |
§7. PRE-SEAL CHECKLIST
skill-mesh-sync.sh --checkexits 0- V3 logical count is 64; alias rows separately classified
- No live primary resolves through a tombstone row
- No source-less broken alias remains active
- Harness-native keepers remain real directories
- This skill points to a dated live receipt
§8. INDEPENDENT VERIFICATION LANE (WAJIB 2)
A-FORGE planning, execution, AND verification in the same trust chain is a primary substrate defect. The required separation:
A-FORGE executes mutation
↓
Independent observe-lane verifier reads resulting reality
↓
Kernel checks evidence against original success criteria
↓
Only then may completion be recorded to VAULT999
Verifier hard rules
The verifier MUST:
- NOT have performed the mutation
- Use independently obtained state
- Receive original success criteria, NOT executor's rewritten summary
- Be unable to modify the state it is checking
- Return: VERIFIED, MISMATCH, INCONCLUSIVE, or STALE
- NEVER issue constitutional approval — only the kernel may SEAL
Kernel rejection rules
The kernel MUST reject "completion" when:
- Verifier identity == executor identity
- Evidence originated ONLY from the executor
- Verifier had mutation permission over the target
- Evidence is older than freshness_requirement
- Original success criteria are missing
- Results cannot be independently reproduced
§9. BOUNDED INDEPENDENT AUDIT PROTOCOL
Subagents are optional, scope-bounded evidence collectors. They do not inherit authority, cannot validate one another recursively, and never replace a live source-of-truth probe.
Rules
- Route uncertainty to the owning evidence source first
- Spawn only when scopes are independent and handoff cost < direct inspection
- Do not ask one model to recursively agree with copies of itself
- The root agent compares evidence, labels contradictions/UNKNOWNs
- Irreversible SEAL still requires real human/external witness path
References
contracts/AAA_SKILL.md— full orthogonal + subagent contract speccontracts/HERMES_ROLE.md— polymorphic runtimeBOOTSTRAP_MANIFEST.json— signed manifest with 9 skillsFEDERATED_SKILLS_REGISTRY_V3.yaml— 64 canonical skillsSKILL_ALIAS_TABLE.json— 133 rows (104 active + 29 tombstone)