omcustom:sauron-watch

SkillDev tools

Full R017 verification (5+3 rounds) before commit

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the omcustom:sauron-watch skill

What this skill tells your AI

The instructions your AI receives, as published by baekenough/oh-my-customcode in .claude/skills/sauron-watch/SKILL.md and read by ahel’s review.

Execute full R017 verification process with 5 rounds of manager agent verification and 3 rounds of deep review.

Purpose

Ensure complete synchronization of agents, skills, documentation, and project structure before committing changes.

Workflow

Phase 1: Manager Agent Verification (5 rounds)

Round 1-2: Basic Checks
□ mgr-supplier:audit - Check all agent dependencies and skill refs
□ mgr-updater:docs - Verify documentation sync
□ Fix any issues found
Round 3-4: Re-verify + Update

Conditional skip (R023 shift-left, no loss): If Round 1-2 returned 0 issues (both mgr-supplier:audit and mgr-updater:docs clean), SKIP Round 3-4 entirely — there is nothing to re-verify. If Round 1-2 found ANY issue (including auto-fixed ones), Round 3-4 MUST run in full to confirm the fix.

□ mgr-supplier:audit - Re-verify after fixes
□ mgr-updater:docs - Re-run and apply any detected changes
□ Fix any remaining issues
Round 5: Final Count Verification

Deterministic-script substitution (R023 shift-left, no loss): The items below marked [script] are already covered by existing deterministic scripts (verify-template-sync.sh, verify-wiki-sync.sh, verify-version-sync.sh, validate-docs.ts, pre-commit count-coverage hook). For those items, RUN the script and consume its PASS/FAIL result instead of re-deriving the same check via an LLM re-spawn. Items without [script] have no deterministic equivalent (semantic/philosophy checks) and MUST still be verified directly.

□ [script] Agent count matches: CLAUDE.md vs actual .md files (pre-commit coverage / validate-docs.ts)
□ [script] Skill count matches: CLAUDE.md vs actual SKILL.md files (pre-commit coverage / validate-docs.ts)
□ Memory field distribution correct
□ [script] Hook/context/guide/rule counts match (validate-docs.ts / verify-version-sync.sh)
□ All frontmatter valid
□ All skill refs exist
□ All memory scopes valid (project|user|local)
□ Routing patterns updated
□ [script] R006 Context Fork Criteria list matches actual SKILL.md frontmatter
  (run `bash .github/scripts/verify-fork-list.sh`)
□ [script] templates/ mirror byte-identical to source (verify-template-sync.sh)
□ [script] wiki pages current vs source (verify-wiki-sync.sh)

Phase 2: Deep Review (3 rounds)

Deep Round 1: Workflow Alignment
□ Agent workflows match purpose
□ Command definitions match implementations
□ Routing skill patterns are valid
□ All routing skills have complete agent mappings
Structural Lint Rules

In addition to workflow alignment checks, verify these structural invariants:

Lint 1: Routing Coverage

For each agent in .claude/agents/*.md:
  Check if agent name appears in at least one routing skill:
    - secretary-routing/SKILL.md
    - dev-lead-routing/SKILL.md
    - de-lead-routing/SKILL.md
    - qa-lead-routing/SKILL.md

  If not found in any routing skill:
    WARN: "{agent} is unreachable — not referenced in any routing skill"

Lint 2: Orphan Skill Detection

For each skill in .claude/skills/*/SKILL.md:
  Check if skill name appears in:
    - Any agent's skills: [] frontmatter field
    - Any routing skill's content
    - CLAUDE.md command table (for user-invocable skills)

  If not referenced anywhere:
    WARN: "{skill} is orphaned — not referenced by any agent or routing skill"

Lint 3: Circular Dependency Check

Build dependency graph:
  For each agent → extract skills: [] references
  For each skill → extract agent references in body

  Detect cycles: agent-A → skill-X → agent-A
  If cycle found:
    ERROR: "Circular dependency: {cycle path}"

Lint 4: Context Fork Cap Verification

Count skills with context: fork in frontmatter:
  grep "context: fork" .claude/skills/*/SKILL.md

  If count > 12:
    ERROR: "Context fork cap exceeded: {count}/12"
  If count >= 8:
    WARN: "Context fork usage high: {count}/12 — only {12-count} slots remaining"

All structural lints are advisory (WARN level) except circular dependencies and fork cap exceeded (ERROR level — should block commit).

Deep Round 2: Reference Verification
□ All skill references exist
□ All agent frontmatter valid
□ memory field values valid (user | project | local)
□ No orphaned agents
□ No circular references
Deep Round 3: Philosophy Compliance
□ R006: Agent design rules (including memory field spec)
□ R007: Agent identification rules
□ R008: Tool identification rules
□ R009: Parallel execution rules
□ R010: Orchestrator coordination rules
□ R011: Memory integration (native-first architecture)
□ All MUST rules enforced, SHOULD rules recommended
Spec Density Check (Advisory)

Check each agent's body-to-skill ratio to detect agents with too much inline implementation detail:

For each agent in .claude/agents/*.md:
  agent_body_LOC = count non-frontmatter, non-blank lines in agent body
  referenced_skills = extract skills from frontmatter skills: field
  total_skill_LOC = sum of LOC in each referenced SKILL.md

  if total_skill_LOC > 0:
    spec_density = agent_body_LOC / total_skill_LOC
    if spec_density > 0.5:
      WARN: "{agent} has spec density {spec_density:.2f} — consider extracting inline details to skills"
  else:
    if agent_body_LOC > 50:
      INFO: "{agent} has {agent_body_LOC} LOC with no skill references — consider creating skills"

Thresholds:

DensityStatusMeaning
≤ 0.3GoodAgent properly delegates to skills
0.3-0.5OKAcceptable inline detail
> 0.5WARNINGToo much implementation in agent body

This check is advisory only — it does not block commits.

Phase 2.5: Documentation Accuracy

□ Every agent name in CLAUDE.md matches actual filename
□ All counts cross-verified against filesystem
□ Every slash command has corresponding skill
□ Every agent reachable through routing skills

Phase 3: Fix Issues

□ Auto-fix: count mismatches, missing fields, outdated refs
□ Report: missing files, invalid scopes, philosophy violations
□ Re-run verification if major fixes made

Phase 4: Commit Ready

□ All verification passed
□ Ready to delegate to mgr-gitnerd for commit

Output Format

[mgr-sauron:watch]

Starting full R017 verification...

═══════════════════════════════════════════════════════════
 PHASE 1: Manager Agent Verification (5 rounds)
═══════════════════════════════════════════════════════════

[Round 1/5] mgr-supplier:audit
  ✓ 50 agents checked, 0 issues

[Round 2/5] mgr-updater:docs
  ✓ Documentation sync: OK

[Round 3/5] Re-verify: mgr-supplier:audit
  ✓ All dependencies valid

[Round 4/5] Re-verify: mgr-updater:docs
  ✓ No changes needed

[Round 5/5] Final count verification
  ✓ Agents: 41/41 match
  ✓ Skills: 55/55 match
  ✓ All frontmatter valid
  ✓ All skill refs valid
  ✓ All memory scopes valid

═══════════════════════════════════════════════════════════
 PHASE 2: Deep Review (3 rounds)
═══════════════════════════════════════════════════════════

[Round 1/3] Workflow alignment
  ✓ All routing skills have complete agent mappings
  ✓ Command definitions match implementations

[Round 2/3] Reference verification
  ✓ All skill references valid
  ✓ No orphaned agents

[Round 3/3] Philosophy compliance
  ✓ R006 separation enforced
  ✓ R009 parallel execution enabled
  ✓ R010 orchestrator coordination documented
  ✓ R007/R008 identification rules present

═══════════════════════════════════════════════════════════
 VERIFICATION COMPLETE
═══════════════════════════════════════════════════════════

Status: ✓ ALL CHECKS PASSED

Ready to commit. 커밋할까요?

Related

  • R017: Sync Verification Rules
  • mgr-gitnerd: Git operations agent

Signals

GitHub stars
34
Forks
6
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
omcustom-sauron-watch
Source
github.com/baekenough/oh-my-customcode