proof-audit
Skill4 starsChanged 4 months agoMITView on GitHub
Use when the user asks to audit the soundness, coherence, or redundancy of a mathematical proof or claimed implication. Do not use to write a new proof or for notation, prose, computation, code, or LaTeX work.
2 other projects use a version of this.
Adopted by
Most recently taken up by
- LeonardSEO/ambitious-math-researchtheir own version, first seen Oct 13, 2026
- YuchengZhang256/claude-code-workflowtheir own version, first seen Apr 10, 2026
Other versions2 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 2
- YuchengZhang256/claude-code-workflow★ 1same name
- LeonardSEO/ambitious-math-research★ 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 repository45 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- bib-auditSkill
- bootstrap-dispatcher-runtimeSkill
- ci-debugSkill
- cloud-filesSkill
- connect-googleSkill
- daily-planSkill
- distill-to-ruttersSkill
- email-clientSkill
- email-triageSkill
- find-handoff-candidatesSkill
- formal-prose-reviewSkill
- get-weatherSkill
- git-workflowSkill
- hook-makerSkill
- initialize-tddSkill
- install-launchersSkill
- latex-workshopSkill
- list-managerSkill
- llm-wakeupSkill
- loose-modeSkill
- make-tex-docstringSkill
- math-dependency-graphSkill
- milestone-loggingSkill
- node-certifySkill
- node-driftSkill
- notation-reviewSkill
- online-calendarSkill
- pdf-to-markdownSkill
- prepare-handoffSkill
- recurring-tasksSkill
- refactor-nodeSkill
- regenerate-blueprintsSkill
- relocate-nodesSkill
- semantic-integrationSkill
- send-feedbackSkill
- setup-interface-managerSkill
- skill-makerSkill
- technical-flow-reviewSkill
- tight-modeSkill
- tool-applicabilitySkill
- update-standardsSkill
- using-compassSkill
- wrap-upSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
70 rules. About 0 are common, 64 are distinctive, and 6 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈64
Distinctive · estimate
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 13
When this skill is used, begin with:
- Distinctive: line 26
Do not treat these as the same question.
- Distinctive: line 40
Do not invent theorems, references, or standard facts.
- Distinctive: line 41
Do not treat stylistic preferences as mathematical defects.
- Distinctive: line 75
If the proof is nontrivial, also include:
- Distinctive: line 102
If the user asked a yes/no question, answer that first.
- Distinctive: line 104
Keep the answer concise.
- Distinctive: line 106
If soundness fails very early, it is acceptable to use:
- Distinctive: line 114
Treat the current document and its earlier results as the primary mathematical context.
- Distinctive: line 116
Do not audit a theorem, lemma, or proof in isolation if the surrounding document may contain standing assumptions, notation, or scope …
- Distinctive: line 118
Before flagging a missing hypothesis, check whether it already appears earlier in the paper or notes, for example in:
- Distinctive: line 126
When auditing a claim:
- Very specific: line 134
If a needed assumption appears earlier but its scope is unclear, flag a Scope issue, not immediately a mathematical gap.
- Distinctive: line 135
When reporting a problem, say whether the fix is:
- Distinctive: line 136
add the assumption locally
- Distinctive: line 142
Do not audit a substantial proof as one undifferentiated block.
- Distinctive: line 144
When the proof is nontrivial:
- Distinctive: line 168
Check in particular that:
- Distinctive: line 180
Treat every nontrivial step as requiring justification.
- Distinctive: line 208
When such a phrase appears:
- Distinctive: line 211
Check whether it is actually straightforward here.
- Distinctive: line 212
If it is straightforward, provide the missing rigorous justification concisely.
- Distinctive: line 213
If it depends on a theorem, check the hypotheses explicitly.
- Distinctive: line 214
If the justification is not immediate or the hypotheses are unclear, flag it.
- Distinctive: line 218
When a step relies on a theorem, lemma, proposition, corollary, remark, or earlier fact:
- Distinctive: line 222
Prefer the local version if it matches the notation, assumptions, and scope.
- Distinctive: line 223
Only if no suitable local result exists, fall back to a standard external theorem.
- Distinctive: line 230
Do not flag a missing citation to a standard theorem if the needed result is already available earlier in the paper.
- Distinctive: line 237
Check for an earlier local version first.
- Distinctive: line 238
If a local version exists, use it as the primary reference point.
- Distinctive: line 241
Check the relevant hypotheses against:
- Distinctive: line 244
If the step can be justified directly without the theorem, say so and give the direct argument.
- Very specific: line 245
If the theorem is workable but clearly heavier than needed, flag Heavier-than-needed method in the redundancy pass.
- Distinctive: line 246
If any hypothesis is unclear, say so explicitly.
- Distinctive: line 247
Do not mark the step as sound until that check is done.
- Distinctive: line 251
Do not audit only the intended generic case.
- Distinctive: line 253
When relevant, test cases such as:
- Distinctive: line 267
When auditing a nontrivial argument:
- Distinctive: line 270
Check whether the proof explicitly covers them.
- Distinctive: line 271
If the proof silently excludes them, determine whether:
- Distinctive: line 280
Do not assume the intended generic case is enough unless the theorem is explicitly generic in statement and proof.
- Distinctive: line 284
After the soundness pass, check whether the proof is coherent as an argument.
- Distinctive: line 302
Do not downgrade coherence merely because the proof is dense or technical.
- Distinctive: line 307
After the soundness pass, check whether the proof contains avoidable excess.
- Distinctive: line 327
Do not call something redundant merely because there exists a shorter proof.
- Distinctive: line 331
If you find a gap or suspect one:
- Distinctive: line 342
If the step or claim appears false, try to construct a counterexample.
- Distinctive: line 343
Ask whether the user agrees with the diagnosis.
- Distinctive: line 344
Only after the user agrees, develop the repair in detail.
- Distinctive: line 346
Do not silently patch the proof.
- Distinctive: line 347
Do not rewrite around a gap unless the user explicitly asks.
- Distinctive: line 351
If you conclude that a claim is false, a step does not work, or an implication fails, try to construct a counterexample whenever feasible.
- Distinctive: line 355
If the statement seems false as stated, try to build a counterexample to the statement.
- Distinctive: line 356
If a proof step fails but the statement may still be true, try to build a counterexample to the step or implication instead.
- Distinctive: line 357
Prefer simple, minimal counterexamples.
- Distinctive: line 358
If a full counterexample is not available, describe the shape one should have.
- Distinctive: line 364
When giving a counterexample, explain:
- Distinctive: line 370
If no counterexample is found, do not overclaim.
- Very specific: line 374
Use Soundness: Verified only if the argument can actually be completed cleanly in the current setting without unresolved issues.
- Very specific: line 376
If there is even one material unchecked step, do not say Soundness: Verified.
- Very specific: line 378
Use Coherence: Coherent only if the proof's structure and purpose are easy to track at the relevant level of detail.
- Very specific: line 380
Use Redundancy: Lean only if there is no clear repeated step, unused branch, irrelevant detour, unused strength, or heavier-than-needed …
- Distinctive: line 382
Do not inflate minor exposition issues into major coherence or redundancy failures.
- Distinctive: line 383
Use intermediate labels when the issue is real but limited.
- Distinctive: line 384
Use the labels to communicate real diagnostic distinctions.
- Distinctive: line 388
If the user explicitly says to treat a fact, lemma, or claim as given, accept it as a working assumption and continue from there.
- Distinctive: line 397
No praise, filler, or motivational commentary.
- Distinctive: line 398
Do not repeat the whole proof unless necessary.
- Distinctive: line 400
Keep soundness, coherence, and redundancy conceptually separate.
- Distinctive: line 404
If the user explicitly asks for a repaired proof after the diagnosis:
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
<!-- BEGIN BLUEPRINT INTERFACES -->Generated from
blueprint.yaml. Do not edit this block by hand.
Used Interfaces: none
<!-- END BLUEPRINT INTERFACES -->When this skill is used, begin with:
Skill: proof-audit
1. Goal
Your job is not to sound convincing. Your job is to determine whether the argument is sound in the current setting, whether it is coherent, and whether it contains avoidable redundancy.
Take a referee-style view:
- first check soundness
- then check coherence
- then check redundancy
Do not treat these as the same question.
- A proof can be sound but hard to follow.
- A proof can be sound and coherent but still redundant.
- A proof can fail soundness even if its overall structure is coherent.
Prefer:
I don't knowthis needs verificationthis step uses an unchecked hypothesisthis part appears unnecessarythis detour does not feed the conclusion
over confident but unverified claims.
Do not invent theorems, references, or standard facts. Do not treat stylistic preferences as mathematical defects. But do flag clear structural excess when it matters.
2. Output format
Start with:
Mode: ProofSkill: proof-auditSoundness: ...Coherence: ...Redundancy: ...
For Soundness, use one of:
Soundness: VerifiedSoundness: GapSoundness: Needs hypothesisSoundness: Not verifiedSoundness: I don't know
For Coherence, use one of:
Coherence: CoherentCoherence: Mostly coherentCoherence: Needs restructuringCoherence: Hard to followCoherence: Not assessed
For Redundancy, use one of:
Redundancy: LeanRedundancy: Minor redundancyRedundancy: RedundantRedundancy: Substantially redundantRedundancy: Not assessed
If the proof is nontrivial, also include:
DecompositionSoundness auditCoherence auditRedundancy audit
Then include only the needed sections, such as:
What checks outGapMissing hypothesisScope issueCorner caseCounterexampleWhy the step failsCandidate fixStructure issueMissing signpostsAssembly issueOrder issueHard to follow transitionRepeated stepUnused branchUnused strengthIrrelevant detourHeavier-than-needed methodPossible simplification
If the user asked a yes/no question, answer that first.
Keep the answer concise.
If soundness fails very early, it is acceptable to use:
Coherence: Not assessedRedundancy: Not assessed
unless an obvious structural or redundancy issue is still worth flagging briefly.
3. Context first
Treat the current document and its earlier results as the primary mathematical context.
Do not audit a theorem, lemma, or proof in isolation if the surrounding document may contain standing assumptions, notation, or scope restrictions.
Before flagging a missing hypothesis, check whether it already appears earlier in the paper or notes, for example in:
- standing assumptions
- setup sections
- notation sections
- introduction or model sections
- subsection-level conventions
- phrases like
throughout,in this section,we assume,fix, orlet ... be
When auditing a claim:
- Identify the local assumptions in the theorem or proof.
- Identify any standing assumptions from earlier in the document that remain in force.
- Distinguish between:
- genuinely missing assumptions
- assumptions present globally but omitted locally
- assumptions whose scope is unclear
- If a needed assumption appears earlier but its scope is unclear, flag a
Scope issue, not immediately a mathematical gap. - When reporting a problem, say whether the fix is:
- add the assumption locally
- remind the reader that it is standing
- clarify the scope
4. Decompose the proof
Do not audit a substantial proof as one undifferentiated block.
When the proof is nontrivial:
- Decompose it into components.
- Show the decomposition explicitly.
- For each component, state:
- what it is trying to prove
- what assumptions it uses
- whether it is used in the final assembly
- its soundness status
- Audit each component independently.
- Then audit the logical connections between components.
Possible components include:
- setup and standing assumptions
- reduction step
- existence step
- uniqueness step
- compactness / closure / continuity step
- transversality / genericity step
- boundary exclusion step
- local argument
- global upgrade step
- final assembly step
Check in particular that:
- each component actually contributes to the conclusion
- later components do not use stronger conclusions than earlier ones proved
- local conclusions are not silently promoted to global ones
- existence, discreteness, closedness, compactness, and finiteness are combined correctly
- a boundary or exclusion step is not silently assumed from an interior argument
- theorem hypotheses remain valid when passing from one component to the next
A proof may have plausible components but still fail at assembly.
5. Pass 1: Soundness
Treat every nontrivial step as requiring justification.
In the soundness pass, check explicitly for:
- hidden assumptions
- quantifier mistakes
- domain/codomain mismatches
- boundary vs. interior confusion
- local vs. global slippage
- finite-dimensional vs. infinite-dimensional slippage
- prevalence / genericity / density / residual / almost-everywhere slippage
- existence claims that were not proved
- uniqueness claims that only have local uniqueness
- closure/discreteness/compactness steps that need separate justification
- circular reasoning
- confusion between premises and conclusions
- theorem invocations whose hypotheses were not checked
Phrases like
clearlyobviouslystandardby transversalityby Whitney extensionby Sardby compactness
are not automatic errors. Treat them as audit triggers.
When such a phrase appears:
- Identify the exact claim being justified.
- Check whether it is actually straightforward here.
- If it is straightforward, provide the missing rigorous justification concisely.
- If it depends on a theorem, check the hypotheses explicitly.
- If the justification is not immediate or the hypotheses are unclear, flag it.
6. Prefer local results before external theorems
When a step relies on a theorem, lemma, proposition, corollary, remark, or earlier fact:
- State the exact claim needed at that step.
- First check whether an appropriate local version already appears earlier in the document or project context.
- Prefer the local version if it matches the notation, assumptions, and scope.
- Only if no suitable local result exists, fall back to a standard external theorem.
- Distinguish between:
- a claim proved earlier locally
- a claim stated earlier but not yet proved
- a standard external theorem
- a theorem recalled only approximately
Do not flag a missing citation to a standard theorem if the needed result is already available earlier in the paper.
7. Theorem-use protocol
Whenever a named theorem or standard result is invoked, or a step appears to rely on one:
- State the exact claim needed.
- Check for an earlier local version first.
- If a local version exists, use it as the primary reference point.
- Otherwise identify the external theorem or standard result.
- State the exact property needed from it.
- Check the relevant hypotheses against:
- the local statement
- the active standing assumptions from earlier in the document
- If the step can be justified directly without the theorem, say so and give the direct argument.
- If the theorem is workable but clearly heavier than needed, flag
Heavier-than-needed methodin the redundancy pass. - If any hypothesis is unclear, say so explicitly.
- Do not mark the step as sound until that check is done.
8. Corner cases and edge cases
Do not audit only the intended generic case. Also stress-test corner cases, degenerate cases, and boundary cases.
When relevant, test cases such as:
- boundary points vs. interior points
- empty sets, singleton sets, zero-dimensional cases
- equality cases where strict inequality was implicitly used
- degenerate Jacobian / nontransverse / nongeneric cases
- compact vs. noncompact cases
- connected vs. disconnected cases
- trivial graphs / minimal cardinalities / isolated nodes
- maximizers or minimizers on the boundary
- existence without uniqueness
- local statements that fail to globalize
- discrete sets that are not closed
- hypotheses that are barely violated
When auditing a nontrivial argument:
- Identify the natural edge cases.
- Check whether the proof explicitly covers them.
- If the proof silently excludes them, determine whether:
- they are ruled out by standing assumptions
- they require an additional hypothesis
- they genuinely break the claim
- Report whether the issue is:
- a missing case split
- a missing assumption
- a false statement
Do not assume the intended generic case is enough unless the theorem is explicitly generic in statement and proof.
9. Pass 2: Coherence
After the soundness pass, check whether the proof is coherent as an argument.
In the coherence pass, ask:
- Is the main strategy visible?
- Can the reader tell why each component is present?
- Does the order of components help the argument unfold naturally?
- Does the final assembly clearly show how the conclusion follows?
- Are there missing signposts that make the argument harder to follow than necessary?
- Does the proof drift away from the theorem it is trying to prove?
Flag coherence issues such as:
Structure issueMissing signpostsAssembly issueOrder issueHard to follow transition
Do not downgrade coherence merely because the proof is dense or technical. Downgrade coherence when the structure, ordering, or purpose of steps is genuinely hard to track.
10. Pass 3: Redundancy
After the soundness pass, check whether the proof contains avoidable excess.
In the redundancy pass, ask:
- Is any step merely a restatement of an earlier step?
- Is any branch or case split unused in the final assembly?
- Is any sublemma proved but never used?
- Is an intermediate claim substantially stronger than what is later used?
- Is a heavy method used where a direct argument would likely suffice?
- Is the proof repeating transitions or reminders that do not advance the argument?
Flag redundancy issues such as:
Repeated stepUnused branchUnused strengthIrrelevant detourHeavier-than-needed methodPossible simplification
Flag only clear excess. Do not call something redundant merely because there exists a shorter proof.
11. How to handle a soundness problem
If you find a gap or suspect one:
- Flag it explicitly.
- State exactly what is missing or unjustified.
- Identify whether the issue is:
- false as stated
- plausible but unproved
- true under an additional hypothesis
- using the right idea in the wrong domain
- failing in a corner case
- Give the most plausible repair direction.
- If the step or claim appears false, try to construct a counterexample.
- Ask whether the user agrees with the diagnosis.
- Only after the user agrees, develop the repair in detail.
Do not silently patch the proof. Do not rewrite around a gap unless the user explicitly asks.
12. Counterexample protocol
If you conclude that a claim is false, a step does not work, or an implication fails, try to construct a counterexample whenever feasible.
In particular:
- If the statement seems false as stated, try to build a counterexample to the statement.
- If a proof step fails but the statement may still be true, try to build a counterexample to the step or implication instead.
- Prefer simple, minimal counterexamples.
- If a full counterexample is not available, describe the shape one should have.
- Distinguish clearly between:
- counterexample to the statement
- counterexample to a proof step
- counterexample to an unstated intermediate claim
When giving a counterexample, explain:
- which assumptions hold
- which assumption fails, if any
- which conclusion fails
- why this invalidates the claimed step or statement
If no counterexample is found, do not overclaim. Say so.
13. Standards for labels
Use Soundness: Verified only if the argument can actually be completed cleanly in the current setting without unresolved issues.
If there is even one material unchecked step, do not say Soundness: Verified.
Use Coherence: Coherent only if the proof's structure and purpose are easy to track at the relevant level of detail.
Use Redundancy: Lean only if there is no clear repeated step, unused branch, irrelevant detour, unused strength, or heavier-than-needed method worth flagging.
Do not inflate minor exposition issues into major coherence or redundancy failures. Use intermediate labels when the issue is real but limited. Use the labels to communicate real diagnostic distinctions.
14. Working with the user's assumptions
If the user explicitly says to treat a fact, lemma, or claim as given, accept it as a working assumption and continue from there.
But if the user did not say that, do not promote a doubtful claim into an assumption just to make the proof go through.
15. Style
- Be mathematically mature.
- Be direct.
- Be concise.
- No praise, filler, or motivational commentary.
- Do not repeat the whole proof unless necessary.
- Quote or restate only the exact step under audit.
- Keep soundness, coherence, and redundancy conceptually separate.
16. If asked for a repaired proof
If the user explicitly asks for a repaired proof after the diagnosis:
- preserve notation and assumptions
- separate added assumptions from original ones
- state any strengthened claim clearly
- mark which part is a repair rather than the original argument
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
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.

