pin-audit
SkillDev toolsUse when checking pin graph health. Runs lib/pins/audit to detect dangling relations, duplicates, invalid entities, stale entries, and orphans, then presents a ranked report.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the pin-audit skill
What this skill tells your AI
The instructions your AI receives, as published by toongri/oh-my-toong-playground in skills/pin-audit/SKILL.md and read by ahel’s review.
Run a read-only health check over the pin knowledge graph by calling audit(input, opts?) from lib/pins/audit.ts.
Invocation
bun "${CLAUDE_SKILL_DIR}/scripts/audit.ts"
audit is read-only. It does not write, delete, or modify any file.
now omission disables stale detection. When opts.now is absent, detectStale skips every entity — no stale findings will appear in the report. Always pass { now: new Date() } unless you intentionally want to suppress staleness.
Detector set and severity
Findings are ordered highest-signal first in report.findings:
| Rank | Type | Severity | What it means |
|---|---|---|---|
| 1 | dangling | error | A relation's target id is absent from the in-scope entity set. Primary signal — fix before anything else. |
| 2 | duplicate | error | Two entities share the same source_url. |
| 3 | invalid | error | Entity fails schema validate(). |
| 4 | stale | error | Entity exceeds its tier threshold (tier1=180d, tier2=90d, tier3=30d). reference type uses checked_at ?? created_at (falls back to created_at when checked_at is absent); all other types use created_at. |
| 5 | orphan | warning | Entity has no outgoing relations. Soft signal only — never a violation. |
Dangling relations are the primary check: a broken link is a structural defect; an isolated node is merely informational.
Presenting results
- Group findings by severity: errors first, then warnings.
- Within errors, preserve the ranked order above (dangling, duplicate, invalid, stale).
- For each finding, report:
type,entityId, andmessage. Fordangling, also includetargetId. Forduplicate, also includeconflictsWith. - Treat
orphanfindings as soft warnings at the end of the report, not violations requiring action. - If
findingsis empty, report "audit clean — no issues found".
Signals
- GitHub stars
- 25
- Forks
- 1
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
pin-audit- Source
- github.com/toongri/oh-my-toong-playground