evidence-ledger
Skill1 starsChanged 17 days agoMITView on GitHub
Persistent per-project evidence tracking system and source-cited claim verification gate for multi-client agency workflows. Maintains an append-only evidence-ledger.md per project tracking decisions (with options considered and evidence trail), client commitments (with deadlines and delivery proof), verified claims (with confidence taxonomy and receipts), and status facts (with blocker tracking). Six commands: /evidence onboard, /evidence status, /evidence decide, /evidence commit, /evidence audit, /evidence brief. Enforces the doctrine: 'No source, no claim. No verification path, no release.' Uses a 4-tier confidence taxonomy ([RAW], [FETCH], [SEARCH], [INFER]), academic DOI receipts, empirical vs speculative classification, and automatic staleness detection.
We split this skill into the rules it gives an agent
19 rules. 0 are common, 5 are distinctive, and 14 are very specific to this project.
0
Common
Most of the 3 edited versions we read keep these.
5
Distinctive
This author's own choices. Worth a look.
14
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 56
Every invocation resolves to exactly one mode.
- Distinctive: line 81
Do NOT use this skill when:
- Very specific: line 177
Check for existing ledger: If .agents/context/evidence-ledger.md exists, report the existing entry count and offer to regenerate the …
- Very specific: line 184
Create
evidence-ledger.md: Write to .agents/context/evidence-ledger.md with: - Distinctive: line 208
List attention items: All overdue commitments, stale claims, active blockers.
- Very specific: line 229
Assess impact scope: If the decision involves infrastructure, billing, auth, data migration, external vendor commitment, or production …
- Very specific: line 230
Supersession: If this replaces a prior decision, mark the old entry [SUPERSEDED by EVD-{new}].
- Very specific: line 232
Optionally invoke
updatedocs: if the decision changes documented architecture. - Very specific: line 270
Park active workstream: If an active workstream is detected, invoke context-anchor to drop a named anchor before the deep audit.
- Very specific: line 273
If [RAW]: Record execution command, timestamp, and stdout snippet.
- Very specific: line 274
If [FETCH]: Verify canonical DOI link or specification URL, access date, and quoted excerpt (see references/academic-citation-protocol.md).
- Very specific: line 275
If [SEARCH]: Record query string and at least 2 independent corroborating domains.
- Very specific: line 276
If [INFER]: Explicitly document the deduction logic: *"Premise A + Premise B ⟹ Conclusion"*.
- Distinctive: line 280
Artifact Remediation: Update the target document — replace ungrounded statements with verified receipts or remove them entirely.
- Very specific: line 281
Failure triage: If any entries were QUARANTINED or REDACTED, invoke dead-letter to categorize failures and generate retry packets or …
- Very specific: line 294
Park active workstream: If an active workstream is detected, invoke context-anchor to park it.
- Very specific: line 345
Global User Truth: Read from ~/.memory/USER.md via get_context(query=...).
- Very specific: line 346
Local Project Constraints: Read and write project-specific facts to ./.memory/ and CURRENT.md (or .agents/context/current.md).
- Distinctive: line 364
Before certifying a project's evidence state:
“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
📜 Evidence Ledger — Persistent Project Evidence Tracking & Claim Verification Gate
Maintains a single source of truth per project: decisions, client commitments, verified claims, and status facts — all backed by receipts. Enforces the non-negotiable verification doctrine: "No source, no claim. No verification path, no release."
Modes
Every invocation resolves to exactly one mode. Load only the matched reference:
| Mode | Trigger phrases | Behavior | Reference |
academic-citation-protocol | "evidence-ledger academic-citation-protocol", "academic-citation-protocol" | Academic Citation & Claim Receipt Protocol | references/academic-citation-protocol.md |
claim-verification-taxonomy | "evidence-ledger claim-verification-taxonomy", "claim-verification-taxonomy" | Claim Verification Taxonomy & Epistemological Grounding | references/claim-verification-taxonomy.md |
evidence-entry-schema | "evidence-ledger evidence-entry-schema", "evidence-entry-schema" | Evidence Entry Schema | references/evidence-entry-schema.md |
skill-orchestration | "evidence-ledger skill-orchestration", "skill-orchestration" | Skill Orchestration Map | references/skill-orchestration.md |
staleness-rules | "evidence-ledger staleness-rules", "staleness-rules" | Staleness Rules | references/staleness-rules.md |
audit | "ledger integrity audit", "audit claims", "verify evidence" | Trace every shipped claim to a sourced, dated ledger entry; flag unsourced, stale, or contradicted entries. | references/audit.md |
When to Use
Trigger Conditions
Execute this skill when:
- Onboarding a Project (
/evidence onboard): Setting up evidence tracking on a new or existing project by mining context files for initial entries. - Checking Project Health (
/evidence status): Getting a quick factual snapshot of any project — what's verified, what's stale, what needs attention. - Recording a Technical Decision (
/evidence decide): Capturing what was decided, what alternatives were considered, and what evidence supported the winner. - Recording a Client Commitment (
/evidence commit): Tracking what was promised to a client, when it's due, and whether it was delivered with proof. - Auditing Technical & Statistical Claims (
/evidence audit): Verifying documentation, proposals, or deliverables for ungrounded assertions, hallucinated benchmarks, or missing citations. - Context-Switching Between Projects (
/evidence brief): Generating a structured briefing to quickly understand a project's current factual state before diving in. - Sweeping Commitments & Deadlines (
/evidence sweep): Running autonomous sweeps over project artifacts and issues to auto-detect client commitments, 48h clock-stop triggers, and stamp overdue alerts (bun skills/context-orchestration/evidence-ledger/scripts/commitment-sweep.ts).
Anti-Triggers
Do NOT use this skill when:
- Writing pure fictional or creative narrative copy.
- Executing internal mechanical code refactors where automated test suites provide binary feedback.
- The project has no
.agents/context/directory and the user has not requested evidence tracking.
Quick Reference
The 4-Tier Confidence Taxonomy
┌───────────────┬─────────────────────────────────────────────────────────────┐
│ Tier Tag │ Definition & Verification Requirement │
├───────────────┼─────────────────────────────────────────────────────────────┤
│ [RAW] │ Verbatim output from local executed command or local file │
│ [FETCH] │ Direct quote from authoritative primary URL, RFC, or DOI │
│ [SEARCH] │ Corroborated fact supported by 2+ independent search hits │
│ [INFER] │ Agent logical deduction; MUST state premises explicitly │
└───────────────┴─────────────────────────────────────────────────────────────┘Evidence Entry Categories
| Category | Purpose | Key Fields |
DECISION | Technical choice with alternatives evaluated | Options Considered, Trade-offs, Supersedes |
COMMITMENT | Client promise with deadline | Promised To, Deadline, Delivery Evidence |
CLAIM | Factual assertion requiring verification | Verification Receipt |
STATUS | Current state fact (blockers, environment) | Blocking |
Status Lifecycle
| Status | Meaning |
ACTIVE | Current and relevant (decisions, status facts) |
VERIFIED | Proven with receipt (claims) |
FULFILLED | Delivered with proof (commitments) |
PROMISED | Deadline in the future, not yet delivered (commitments) |
OVERDUE | Past deadline, no delivery evidence (commitments) |
STALE | No update within staleness window (claims >30d, blockers >14d) |
SUPERSEDED | Replaced by a newer entry |
QUARANTINED | Failed verification, awaiting remediation |
REDACTED | Removed — ungrounded and unredeemable |
Empirical vs. Speculative Demarcation
[EMPIRICAL]: Grounded in reproducible measurement ([RAW]) or primary literature ([FETCH]). Stated as factual observation.[SPECULATIVE]: Grounded in deduction, extrapolation, or forward projections ([INFER]). Must explicitly state hypotheses and premises.
Source Trust Dimension (provenance — WHOSE source, distinct from HOW obtained)
Alongside the confidence tier, tag who vouches for the source. This is
orthogonal: a [FETCH] can come from a signed or an unsigned artifact. Use when
importing third-party material (skills, patches, research, vendor claims) where
supply-chain provenance matters, not just factual correctness.
| Tag | Meaning | Handling |
[SIGNED] | Distributor/publisher-signed (e.g. SLSA L2). Content verified to match what the publisher shipped. | Lower provenance risk. Still review behavior before adoption — signing is not a warranty of correctness. |
[UNVERIFIED] | No signature or unknown chain of custody. Contents may not match the publisher's intent. | Treat as untrusted until raw-source review. Do not ship into a deliverable without provenance note. |
[ADAPTED] | Third-party method/mechanism folded into a muse skill as a tool-independent idea (not copied wholesale). | Record the source URL + the adaptation decision in the entry's Evidence field. |
Record the tag in the entry's Confidence line (e.g. [FETCH] / [UNVERIFIED]) so
provenance is auditable alongside factuality. This is what makes external skill
adoption recoverable: a folded pattern keeps its original source citation.
Skill Orchestration
Each command declares which sibling skills run before, after, or alongside it. See references/skill-orchestration.md for full integration details.
| Command | Pre-Hook (runs-before) | Post-Hook (runs-after) | Optional Companion |
/evidence onboard | — | audit → verify imported entries | updateagents → sync AGENTS.md |
/evidence status | — | — | coach → standup scoring · periodic-retreat → quarterly review |
/evidence decide | — | secretary → hash-approval for high-stakes | updatedocs → sync architecture docs |
/evidence commit | — | — | updatedocs → sync project docs |
/evidence audit | context-anchor → park workstream | dead-letter → quarantine failures | updatedocs → remediate · coupling-router → multi-module |
/evidence brief | context-anchor → park workstream | handoff → dispatch packet | — |
Execution semantics: Pre/post hooks fire when their stated condition applies. Optional companions are offered but not required. The agent decides at runtime. See references/skill-orchestration.md for conditions.
Procedure
Command 1 — /evidence onboard (Initialize a Project Ledger)
Trigger: First use on a project, "set up evidence tracking", "initialize evidence"
Post-hook: audit (always) · updateagents (optional)
Steps
- Check for existing ledger: If
.agents/context/evidence-ledger.mdexists, report the existing entry count and offer to regenerate the dashboard only. Do not duplicate entries. - Scan existing context files: Extract factual entries from:
.agents/context/decisions.md→DECISIONentries.agents/context/current.md→STATUSentries.agents/context/product.md→CLAIMentries (key product assertions).agents/context/architecture.md→DECISIONentries (tech choices)README.md,CHANGELOG.md→ milestoneCLAIMentries
- Create
evidence-ledger.md: Write to.agents/context/evidence-ledger.mdwith:- Dashboard header (regenerated from entries)
- Each imported entry assigned a sequential
EVD-IDand tagged with[IMPORTED]provenance
- Run
auditon imported entries to catch stale, contradictory, or dead-linked imports. Findings becomeSTATUSentries withQUARANTINEDstatus. - Optionally run
updateagentsto register the ledger in the project'sAGENTS.md. - Report: "Initialized evidence ledger with {N} entries imported from existing context. {M} entries quarantined by audit."
Command 2 — /evidence status (Project Health Snapshot)
Trigger: "What's the state of this project?", "evidence status", "project health"
Optional: coach (standup) · periodic-retreat (quarterly)
Steps
- Read
.agents/context/evidence-ledger.md. - Regenerate Dashboard from current entries:
- Count by category: DECISION, COMMITMENT, CLAIM, STATUS
- Count by status: ACTIVE, VERIFIED, FULFILLED, PROMISED, OVERDUE, STALE, SUPERSEDED, QUARANTINED
- Health score:
(VERIFIED + FULFILLED + ACTIVE decisions) / (total − SUPERSEDED − REDACTED) × 100 - Staleness check: Flag COMMITMENT past deadline without delivery evidence →
OVERDUE. Flag CLAIM >30 days unverified →STALE. Flag STATUS blocker >14 days →STALE. (Seereferences/staleness-rules.md.)
- Show recent activity (last 5 entries).
- List attention items: All overdue commitments, stale claims, active blockers.
- Write regenerated dashboard back to
evidence-ledger.md.
Command 3 — /evidence decide (Record a Technical Decision)
Trigger: "We decided to use X", "record decision", "why did we choose X?"
Post-hook: secretary (high-stakes) · Optional: updatedocs
Steps
- Extract or ask for:
- What was decided? (one-sentence statement)
- What options were considered? (minimum 2 alternatives)
- What evidence supports the winner? (must have ≥1
[RAW]/[FETCH]/[SEARCH]source) - What trade-offs are acknowledged?
- Assign next sequential
EVD-ID. - Classify confidence tier and epistemological class.
- Append entry to the evidence log in
evidence-ledger.md. - Assess impact scope: If the decision involves infrastructure, billing, auth, data migration, external vendor commitment, or production deployment → invoke
secretaryfor Socratic stress-test and SHA-256 hash-approval before finalizing status toACTIVE. If routine → status isACTIVEimmediately. - Supersession: If this replaces a prior decision, mark the old entry
[SUPERSEDED by EVD-{new}]. - Regenerate dashboard.
- Optionally invoke
updatedocsif the decision changes documented architecture.
Command 4 — /evidence commit (Record a Client Commitment)
Trigger: "We promised the client...", "record commitment", "track deliverable"
Optional: updatedocs
Steps
- Extract or ask for:
- What was promised? (one-sentence statement)
- Who was it promised to? (client name / stakeholder)
- When is it due? (deadline as ISO date)
- What's the proof of the promise? (email, Slack screenshot, proposal, contract — must be
[RAW]or[FETCH]) - Delivery evidence (if already fulfilled — PR link, deployment URL, client sign-off)
- Assign
EVD-ID, append entry to evidence log. - Set status:
PROMISED— deadline in the future, no delivery evidence yetFULFILLED— delivery evidence existsOVERDUE— past deadline, no delivery evidence
- Regenerate dashboard.
- Optionally invoke
updatedocsto reflect the commitment in project docs.
Command 5 — /evidence audit (Claim Verification Gate)
Trigger: "Verify claims in this document", "audit evidence", "citation check"
Pre-hook: context-anchor (if active workstream) · Post-hook: dead-letter (if failures) · Optional: updatedocs, coupling-router
This is the original v1.x claim verification procedure, enhanced to integrate with the persistent ledger.
Steps
- Park active workstream: If an active workstream is detected, invoke
context-anchorto drop a named anchor before the deep audit. - Claim Extraction & Statistical Scanning: Scan the target artifact (markdown, doc, proposal) and extract every discrete factual statement, numeric metric, or statistical claim into an enumerated inventory.
- Provenance Tagging & Academic Receipt Verification: Assign exactly one taxonomy tag (
[RAW],[FETCH],[SEARCH],[INFER]) to each claim:- If
[RAW]: Record execution command, timestamp, and stdout snippet. - If
[FETCH]: Verify canonical DOI link or specification URL, access date, and quoted excerpt (seereferences/academic-citation-protocol.md). - If
[SEARCH]: Record query string and at least 2 independent corroborating domains. - If
[INFER]: Explicitly document the deduction logic: "Premise A + Premise B ⟹ Conclusion".
- If
- Empirical vs. Speculative Classification: Classify each claim as
[EMPIRICAL]or[SPECULATIVE]. Flag any speculative statement masquerading as an empirical fact. - Missing Receipt Audit & Flagger: Scan all statistical claims — if a statement lacks a reproducible
[RAW]log or verified[FETCH]DOI/URL, flag it inMISSING_RECEIPTS_REPORT.md. - Ledger Compilation: Generate
claim-ledger.md(standalone, for portability) AND append each verified/quarantined claim as aCLAIMentry inevidence-ledger.md. - Artifact Remediation: Update the target document — replace ungrounded statements with verified receipts or remove them entirely.
- Failure triage: If any entries were
QUARANTINEDorREDACTED, invokedead-letterto categorize failures and generate retry packets or escalation messages. - Regenerate dashboard.
Command 6 — /evidence brief (Context-Switch Briefing)
Trigger: "Brief me on this project", "what do I need to know?", "context switch to Client X"
Pre-hook: context-anchor (if active workstream) · Post-hook: handoff (optional, if subagent dispatch)
Steps
- Park active workstream: If an active workstream is detected, invoke
context-anchorto park it. - Read
.agents/context/evidence-ledger.md. - Generate structured briefing (NOT appended to the ledger):
- Project identity: From
product.md/architecture.md - Active decisions: Most recent 5
DECISIONentries stillACTIVE - Open commitments: All
PROMISED/OVERDUEentries with deadlines - Verified facts: Key
CLAIMentries that areVERIFIED— the ground truth - Active blockers:
STATUSentries markedACTIVEwithBlockingflags - Stale items: Anything flagged by staleness rules
- Health score: From dashboard
- Project identity: From
- Output as a concise briefing artifact. See
examples/sample-evidence-brief.mdfor format. - Offer handoff: "Want me to generate a handoff packet for a subagent to continue this work?" If yes, invoke
handoffwith the briefing folded into the dispatch context.
File Layout
The evidence-ledger generates and maintains these files:
| File | Location | Purpose |
evidence-ledger.md | .agents/context/ | Persistent per-project evidence log + dashboard |
claim-ledger.md | Project root or target dir | Standalone audit report (from /evidence audit) |
MISSING_RECEIPTS_REPORT.md | Project root or target dir | Quarantined statistical claims (from /evidence audit) |
Entry Format
See references/evidence-entry-schema.md for the full canonical schema. Every entry follows:
### EVD-{NNN} | {YYYY-MM-DD} | {CATEGORY}
**Statement**: {one-sentence factual assertion}
**Category**: `{CATEGORY}`
**Confidence**: `{TIER}` — {brief provenance note}
**Epistemology**: `{CLASS}`
{...category-specific fields...}
**Evidence**: {URL / file path / command receipt}
**Status**: `{STATUS}`Entries are separated by horizontal rules (---). Superseded entries retain their content but append [SUPERSEDED by EVD-{NNN}] to the Status line. Entries are never deleted.
🧠 Memory Engine Dual-Scope Interop
The evidence ledger integrates seamlessly with Muse Memory's dual-scope architecture:
- Global User Truth: Read from
~/.memory/USER.mdviaget_context(query=...). Never invent cross-project facts. - Local Project Constraints: Read and write project-specific facts to
./.memory/andCURRENT.md(or.agents/context/current.md). - No Direct YAML Mutation: Strictly prohibits modifying internal raw YAML or database files directly. Always invoke MCP tools (
memory_capture,search,get_context) or sovereign CLI commands.
Pitfalls
- Unbacked Statistical Fluff: Writing "increases efficiency by 50%" without raw benchmark logs or DOI citations.
- Pseudo-Citations: Name-dropping authors or papers (e.g. "As Smith et al. showed...") without providing the exact DOI or paper link.
- Disguising Inferences as Raw Facts: Stating architectural hypotheses as proven truths without empirical validation.
- Vague Citations: Citing "industry standards" or "standard benchmarks" without canonical URLs.
- Orphaned Commitments: Recording a promise but never updating with delivery evidence — letting it silently go
OVERDUE. - Dashboard-Only Checks: Reading the dashboard without running staleness detection — stale entries won't auto-flag unless the dashboard is regenerated.
- Skipping the Pre-hook: Context-switching into a project brief without parking the current workstream — losing in-progress context.
- Blind Entry Import: Accepting all imported entries during onboard without running the audit post-hook — inheriting stale or contradictory facts from outdated context files.
Verification
Before certifying a project's evidence state:
evidence-ledger.mdexists in.agents/context/and accounts for all known project facts.- All
DECISIONentries list ≥2 options considered with evidence for the winner. - All
COMMITMENTentries have a deadline and proof of promise.FULFILLEDentries have delivery evidence. - All
CLAIMentries withVERIFIEDstatus contain reproducible receipts ([RAW]command logs or[FETCH]DOI/URLs). - Zero
OVERDUEcommitments remain unaddressed. - Staleness rules have been applied — no silently stale entries.
- Dashboard health score reflects current state.
MISSING_RECEIPTS_REPORT.md(if generated by audit) is empty or fully resolved.- Academic and research citations include valid DOI or canonical specification URLs.
- Empirical findings are strictly separated from speculative extrapolations.
Other versions5 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 5
- wanshuiyin/Anti-Autoresearch★ 173same name
- Lengros/bennu★ 2same name
- mariomile/builder-os★ 2same name
- s977043/PlanGate★ 2same name
- sakuruamayday-ops/enterprise-project-application-assistant★ 2same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository49 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- .github/copilot-instructions.mdCopilot instructions
- llms.txtllms.txt
- accountsSkill
- analyticsSkill
- automationSkill
- brandSkill
- client-commsSkill
- contentSkill
- crmSkill
- databaseSkill
- designSkill
- devopsSkill
- growthSkill
- gtmSkill
- incident-responseSkill
- mobileSkill
- opsSkill
- paidadsSkill
- qa-launchSkill
- researchSkill
- retainSkill
- sales-enablementSkill
- seoSkill
- smmSkill
- telegramSkill
- webdevSkill
- context-anchorSkill
- coupling-routerSkill
- relaySkill
- secretarySkill
- gitSkill
- new-projectSkill
- updateagentsSkill
- updatedocsSkill
- animateSkill
- designscopeSkill
- refactorSkill
- auditSkill
- code-reviewSkill
- dead-letterSkill
- gauntlet-loopSkill
- humanizeSkill
- muse-securitySkill
- puaSkill
- clean-system-cacheSkill
- coachSkill
- periodic-retreatSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

