pin-audit

SkillDev tools

Use 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.

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:

RankTypeSeverityWhat it means
1danglingerrorA relation's target id is absent from the in-scope entity set. Primary signal — fix before anything else.
2duplicateerrorTwo entities share the same source_url.
3invaliderrorEntity fails schema validate().
4staleerrorEntity 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.
5orphanwarningEntity 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

  1. Group findings by severity: errors first, then warnings.
  2. Within errors, preserve the ranked order above (dangling, duplicate, invalid, stale).
  3. For each finding, report: type, entityId, and message. For dangling, also include targetId. For duplicate, also include conflictsWith.
  4. Treat orphan findings as soft warnings at the end of the report, not violations requiring action.
  5. If findings is 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