contracts
Skill359 starsChanged 18 days agoMITView on GitHub
Defines the @evidence checklists every maintained ttsc declaration and test answers, and their evidence.config.json wiring. Use when writing or reviewing maintained source or tests, or changing Evidence selection.
We split this skill into the rules it gives an agent
4 rules. 0 are common, 3 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 6 edited versions we read keep these.
3
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 20
Before writing, read the declaration and everything its H2 asks about, such as its callees, callers, tests, and platforms.
- Distinctive: line 22
If the code falls short of the question, fix the code, and state any gap that remains instead of claiming the requirement is met.
- Very specific: line 23
Write @evidence contracts/<file>.md#<anchor> <reason> after a blank comment line, and @evidenceExclude the same way only for an item that …
- Distinctive: line 32
Never narrow a selector or lower a severity to pass the check.
“Common” is measured: kept by at least 6 in 10 of the 6 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
Contracts
Each checklist H2 is a question that every selected declaration answers in its doc comment. A package's evidence.config.json selects the checklists; pnpm evidence checks that answers exist, and review checks that they are true and complete.
| Checklist | Asks about |
| common.md | Method, design, shortcuts, and documentation of production code |
| portability.md | Native filesystem, path, and process boundaries |
| performance.md | Computation cost, reuse, and resource lifetime |
| testing.md | Behavior, expectations, and cases of every test |
| e2e.md | Boundaries, shared preparation, and isolation of E2E tests |
Answering
- Before writing, read the declaration and everything its H2 asks about, such as its callees, callers, tests, and platforms.
- Answer every fact the H2 asks for, from what the code actually does. A partial, generic, or untrue answer is a defect, not a pass.
- If the code falls short of the question, fix the code, and state any gap that remains instead of claiming the requirement is met.
- Write
@evidence contracts/<file>.md#<anchor> <reason>after a blank comment line, and@evidenceExcludethe same way only for an item that does not apply, never for a whole file.
Selection
- From a package,
pnpm exec evidence listandpnpm exec evidence inspect '<target>'show what a selector reaches. - For a declaration the adapter cannot address, keep its native doc comment and place its checklist answers and tags on the nearest supported owner shown by
listandinspect. Claims: 3/4 activemeans a selector matched nothing, without a diagnostic, andCoveragecounts checklist sections, not declarations.- A Go package of unexported declarations, such as
packages/evidence/native, selects no production host, so review covers it. Adeclare module "@ttsc/lint"augmentation reportstypescript-ambient-moduleuntil the adapter resolves it. - Exclude only generated, copied, or dependency material with verified provenance, and omit a pure re-export barrel whose targets span disjoint claims.
- Never narrow a selector or lower a severity to pass the check.
- Enroll tests in the existing Evidence step of
build.yml, and record entries the adapter cannot address, such as anonymous callbacks or dynamic registrations, for review.
Editing The Checklists
Tens of thousands of tags cite their paths and H2s, so adding, renaming, or removing an H2 needs an authorized migration of every answer. Keep one chapter per question.
Other versions9 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 9
- samchon/typia★ 5.9ksame name
- samchon/nestia★ 2.2ksame name
- anthropics/healthcare★ 411same name
- austintgriffith/ethskills★ 295same name
- dithiothreitol/jdg-ksiegowy★ 9same name
- ramboz/jig★ 7same name
- STiFLeR7/nexus★ 2same name
- mehtab78/skills★ 1same name
- grechj/Australian-Builders-Brain★ 0same 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 repository10 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- benchmarkSkill
- developmentSkill
- documentationSkill
- issue-campaignSkill
- promptingSkill
- pull-requestSkill
- reviewSkill
- typescript-go-syncSkill
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.

