Skip to content
Back to skills

Proof Standard

ASecurity

Never make an external-facing claim about a product without evidence from a truth file. Use when writing marketing copy, announcements, docs, landing pages, investor material, or answering "can our product do X".

  • 71 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added August 31, 2026
ai-agentsgogitbackend

Security analysis

A100/100

Scanned August 31, 2026

npx -y skills add svy04/ballast --skill proof-standard --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Proof Standard?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Proof Standard
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/svy04-proof-standard/badge)](https://www.skillsdirectory.com/skills/svy04-proof-standard)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: proof-standard
description: Never make an external-facing claim about a product without evidence from a truth file. Use when writing marketing copy, announcements, docs, landing pages, investor material, or answering "can our product do X".
---

# Proof standard

External claims about a product come from **evidence**, not from memory, enthusiasm, or the roadmap. The failure mode this prevents: shipping confident copy about features that don't exist.

## The truth file

`memory/PRODUCT-TRUTH.md` (run brain-init to create it) has three sections:

1. **Implemented** — with evidence (code path, test, screenshot) and a date
2. **Not implemented** — explicitly listed, so absence is a fact rather than a gap
3. **Permanently excluded** — decided against; copy must never imply it

Claims may be sourced **only from Implemented**.

One truth file per subject you make claims about, split by **what kind of evidence is available** — code you can read versus someone else's system or word. Name the evidence class at the top of each file, and never let two classes share a section: a line you can settle by opening a path and a line that rests on a vendor's statement do not carry the same weight, and a shared section hides which one you are holding.

## Four code states — never blended

| State | Meaning |
|---|---|
| `implemented` | The code exists |
| `wired` | Connected end-to-end (UI → backend → effect) |
| `operational` | Running in production with real data |
| `verified` | Tested, with evidence you can point to |

Copy that says "we do X" requires `operational` or better. "X is available" requires at least `wired`. Everything else is roadmap language — clearly future-tense, clearly conditional. Mixing these states in one sentence is how honest teams end up lying.

## Rules

1. **Truth file first.** Before any capability claim, open the truth file. No entry → no claim; register an open question instead of guessing.
2. **Evidence and dates on every entry.** "It works" is not an entry. "Import wired end-to-end, e2e test passing, 2026-08-01, `tests/import.spec.ts`" is.
3. **Product changes → truth file first, copy second.** Never the reverse order.
4. **Internal is external.** The deck you show an investor, the answer you give a partner — same standard. There is no audience for unproven claims.
5. **Absence claims too.** "We never store X" is a capability claim about the negative — it also needs a truth-file entry with evidence.

## Freshness

Every entry carries the date it was last checked against the code, not only the date it was written. Before an entry older than 90 days is used in a claim, re-confirm it — open the path, run the test, look at the screen — and stamp the new date. A date says when the entry was true, not that it still is.

**"Not implemented" is the section that leaks the other way.** A stale Implemented entry pushes you toward claiming too much, and everyone watches that direction. A stale "Not implemented" line does the reverse: the capability shipped weeks ago, the line never moved, and the truth file is now talking you out of a claim you have already earned — understating instead of overstating. Sweep that section on the same 90-day clock, and check it again every time something ships.

---

*Part of [ballast](https://github.com/svy04/ballast) — foundations first, every solved path kept, done means checks pass.*

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.