beliefs
Manage the belief registry — track claims, detect staleness, resolve conflicts, query contradictions
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Manage the belief registry — track claims, detect staleness, resolve conflicts, query contradictions
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | beliefs |
| description | Manage the belief registry — track claims, detect staleness, resolve conflicts, query contradictions |
| argument-hint | [init|check-refs|check-stale|contradictions|deduplicate|add|add-nogood|resolve|nogoods|compact|list|show|update|hash-sources|install-skill|status] [args...] |
| allowed-tools | Bash(beliefs *), Bash(./beliefs *), Bash(uvx *beliefs*), Read, Grep, Glob |
You are managing a belief registry using the beliefs CLI tool. The registry tracks claims across repositories in beliefs.md and contradictions in nogoods.md.
Try these in order until one works:
beliefs $ARGUMENTS (if installed via uv/pip)./beliefs $ARGUMENTS (if in the repo directory)uvx --from git+https://github.com/benthomasson/beliefs beliefs $ARGUMENTS (fallback)initRun beliefs init to create beliefs.md and nogoods.md in the current directory. Use --repos to register repositories for cross-reference resolution. Bare names default to ~/git/<name>; use name:path for explicit paths.
Example: /beliefs init with repos myproject and shared-lib at ~/code/shared-lib
becomes: beliefs init --repos myproject shared-lib:~/code/shared-lib
statusRun all three checks and summarize:
beliefs check-refs
beliefs check-stale
beliefs compact --budget 300
Present a brief status report: how many claims, how many OK/WARN/FAIL/STALE, and the compact summary.
check-refsRun beliefs check-refs. For any FAIL or WARN results, explain what's wrong and suggest fixes.
check-staleRun beliefs check-stale. For any STALE results, explain the contradiction found and recommend whether to update the claim or dismiss the false positive.
addRun beliefs add with the provided flags. If the user gives a natural language description instead of flags, convert it:
Example: /beliefs add The auth system now uses JWT tokens, see backend/auth-refactor.md
becomes: beliefs add --id auth-uses-jwt --text "The auth system now uses JWT tokens" --source backend/auth-refactor.md
resolveRun beliefs resolve CLAIM_A CLAIM_B. Explain the entrenchment scores and the resolution.
add-nogoodWhen you encounter a failure, a known-bad approach, or discover that a combination of things doesn't work, record it:
beliefs add-nogood --description "What doesn't work" --resolution "What to do instead"
If the user gives natural language, convert it:
--affectsExample: /beliefs add-nogood Python 3.14 breaks pydantic-core, use 3.13
becomes: beliefs add-nogood --description "Python 3.14 incompatible with pydantic-core" --resolution "Use Python 3.13"
Record nogoods when:
Nogoods are append-only. Never delete a nogood. Add resolutions, don't remove entries. The ID is auto-generated (nogood-NNN).
nogoodsRun beliefs nogoods with any provided flags (e.g., --affecting CLAIM_ID). Summarize the results.
listRun beliefs list with optional --status IN|OUT|STALE filter. Present the results as a quick summary.
showRun beliefs show CLAIM_ID. Present the full claim detail.
updateRun beliefs update CLAIM_ID with provided flags. Supports --status, --stale-reason, --superseded-by, --add-assumes, --add-depends-on. If the user gives natural language, convert to flags.
compactRun beliefs compact with any provided flags (e.g., --budget N, --no-truncate). Output the summary directly.
contradictionsRun beliefs contradictions to find IN beliefs that may contradict each other. Uses embedding similarity if fastembed is installed, otherwise falls back to keyword overlap.
# Basic scan (keyword or embedding similarity)
beliefs contradictions
# Lower threshold to catch more pairs
beliefs contradictions --threshold 0.5
# Verify candidates with LLM judge
beliefs contradictions --verify
beliefs contradictions --verify --model gemini
If contradictions are found, suggest resolving them with beliefs resolve or beliefs update --status OUT.
deduplicateRun beliefs deduplicate to find groups of near-duplicate IN beliefs. Groups by embedding similarity (if fastembed available) or keyword Jaccard overlap. Ranks each group by entrenchment score and suggests which to keep.
# Preview duplicate groups
beliefs deduplicate
# Stricter matching (fewer groups)
beliefs deduplicate --threshold 0.9
# Actually retire duplicates (sets status=OUT, superseded_by=keeper)
beliefs deduplicate --apply
hash-sourcesRun beliefs hash-sources. This backfills SHA-256 content hashes for all claims that have a source file but no stored hash. Use --force to re-hash claims that already have a hash (e.g., after confirming a source change is expected and re-registering).
After hashing, check-stale will detect when source files change, flagging claims whose source content has diverged from what was recorded at registration time.
When ftl-reasons is installed (reasons CLI on PATH), the following beliefs commands print a deprecation notice and should be avoided in favor of their reasons equivalents:
| Deprecated command | Use instead |
|---|---|
beliefs add | reasons add |
beliefs add-batch | reasons import-beliefs |
beliefs update | reasons retract / reasons assert |
beliefs check-stale | reasons check-stale |
beliefs hash-sources | reasons hash-sources |
These commands still work but beliefs.md is now a read-only view generated from reasons export-markdown. Use reasons as the primary store.
Commands not deprecated (no reasons equivalent):
beliefs check-refs — cross-reference verificationbeliefs compact — budget-based context summarybeliefs resolve — entrenchment scoring for conflict resolutionbeliefs contradictions — embedding/keyword contradiction detectionbeliefs deduplicate — duplicate group detectionbeliefs check-circular — circular dependency detectionbeliefs nogoods / beliefs add-nogood — nogood trackingbeliefs check-refs to verify it