MCPInstall

proof-writer

Writes rigorous mathematical proofs for ML/AI theory. Use when asked to prove a theorem, lemma, proposition, or corollary, fill in missing proof steps, formalize a proof sketch, 补全证明, 写证明, 证明某个命题, or determine whether a claimed proof can actually be completed under the stated assumptions.

Installs
520
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/wanshuiyin/auto-claude-code-research-in-sleep --skill proof-writer
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads proof-writer automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Proof Write: Rigorous Theorem / Lemma Drafting

Write a mathematically honest proof package, not a polished fake proof.

Constants

  • DEFAULT_PROOF_DOC = PROOF_PACKAGE.md in project root
  • STATUS = PROVABLE AS STATED | PROVABLE AFTER WEAKENING / EXTRA ASSUMPTION | NOT CURRENTLY JUSTIFIED

Context: $ARGUMENTS

Goal

Produce exactly one of:

  1. a complete proof of the original claim
  2. a corrected claim plus a proof of the corrected claim
  3. a blockage report explaining why the claim is not currently justified

Inputs

Extract and normalize:

  • exact theorem / lemma / proposition / corollary statement
  • explicit assumptions
  • notation and definitions
  • any user-provided proof sketch, partial proof, or intended strategy
  • nearby lemmas or claims in local notes, appendix files, or theorem drafts if the request points to them
  • desired output style if specified: concise, appendix-ready, or full-detail

If notation or assumptions are ambiguous, state the exact interpretation you are using before proving anything.

Workflow

Step 1: Gather Proof Context

Determine the target proof file with this priority:

  1. a file path explicitly specified by the user
  2. a proof draft already referenced in local notes or theorem files
  3. PROOF_PACKAGE.md in project root as the default target

Read the relevant local context:

  • the chosen target proof file, if it already exists
  • theorem notes, appendix drafts, or files explicitly mentioned by the user

Extract:

  • exact claim
  • assumptions
  • notation
  • proof sketch or partial proof
  • nearby lemmas that the draft may depend on

Step 2: Normalize the Claim

Restate:

  • the exact claim being proved
  • all assumptions, separately from conclusions
  • all symbols used in the claim

Identify:

  • hidden assumptions
  • undefined notation
  • scope ambiguities
  • whether the available sketch proves the full claim or only a weaker variant

Preserve the user's original theorem statement unless a change is explicitly required. If you use a stronger normalization or cleaner internal formulation only to make the proof easier, keep that as an internal proof device rather than silently replacing the original claim.

Optional Lean proof route

When the user requests Lean, or formalizing a specific proof obligation would materially help establish correctness, invoke /lean-formalize with the original statement, current attempt, and known dependencies. It develops the proof as well as its formal implementation. Return the checked scope, exported theorem and remaining obligations to this proof package. A partial result closes only its corresponding obligation. When called by lean-formalize to develop a missing mathematical argument, return that argument and remaining gaps to the calling Lean run; do not invoke lean-formalize recursively. Ordinary proof drafting does not require Lean; difficulty alone does not trigger it.

Step 3: Feasibility Triage

Before writing a proof, classify the claim into exactly one status:

  • PROVABLE AS STATED
  • PROVABLE AFTER WEAKENING / EXTRA ASSUMPTION
  • NOT CURRENTLY JUSTIFIED

Check explicitly:

  • does the conclusion actually follow from the listed assumptions?
  • is any cited theorem being used outside its conditions?
  • is the claim stronger than what the available argument supports?
  • is there an obvious counterexample, boundary case, or quantifier failure?

If the claim is not provable as stated, do NOT fabricate a proof. Do NOT silently strengthen assumptions or narrow the theorem's scope just to make the proof work.

Step 4: Build a Dependency Map

Choose a proof strategy, for example:

  • direct
  • contradiction
  • induction
  • construction
  • reduction to a known result
  • coupling / probabilistic argument
  • optimization inequality chaining

Then write a dependency map:

  • main claim
  • required intermediate lemmas
  • named theorems or inequalities that will be cited
  • which assumptions each nontrivial step depends on
  • boundary cases that must be handled separately

If one step is substantial, isolate it as a lemma instead of burying it in one sentence.

Step 5: Write the Proof Document

Write to the chosen target proof file.

If the target proof file already exists:

  • read it first
  • update the relevant claim section
  • do not blindly duplicate prior content

If the user does not specify a target, default to PROOF_PACKAGE.md in project root.

Do NOT write directly into paper sections or appendix .tex files unless the user explicitly asks for that target.

The proof package must include:

  • exact claim
  • explicit assumptions
  • proof status
  • announced strategy
  • dependency map
  • numbered major steps
  • justification for every nontrivial implication

Mathematical rigor requirements:

  • never use "clearly", "obviously", "it can be shown", "by standard arguments", or "similarly" to hide a gap
  • define every constant and symbol before use
  • check quantifier order carefully
  • handle degenerate and boundary cases explicitly, or state why they are excluded
  • if invoking a standard fact, state its name and why its assumptions are satisfied here
  • use $...$ for inline math and $$...$$ for display equations
  • never write math in plain text
  • if the proof uses an equivalent normalization that is stronger in appearance than the user's original theorem statement, label it explicitly as a proof device and keep the original claim separate

Step 6: Final Verification

Before finishing the target proof file, verify:

  • the theorem statement exactly matches what was actually shown
  • every assumption used is stated
  • every nontrivial implication is justified
  • every inequality direction is correct
  • every cited result is applicable under the stated assumptions
  • edge cases are handled or explicitly excluded
  • no hidden dependence on an unproved lemma remains

If a key step still cannot be justified, downgrade the status and write a blockage report instead of forcing a proof.

Required File Structure

Write the target proof file using this structure:

# Proof Package

## Claim
[exact statement]

## Status
PROVABLE AS STATED / PROVABLE AFTER WEAKENING / NOT CURRENTLY JUSTIFIED

## Assumptions
- ...

## Notation
- ...

## Proof Strategy
[chosen approach and why]

## Dependency Map
1. Main claim depends on ...
2. Lemma A depends on ...
3. Step k uses ...

## Proof
Step 1. ...
Step 2. ...
...
Therefore the claim follows. ∎

## Corrections or Missing Assumptions
- [only if needed]

## Open Risks
- [remaining fragile points, if any]

Output Modes

If the claim is provable as stated

Write the full file structure above with a complete proof.

If the original claim is too strong

Write:

  • why the original statement is not justified
  • the corrected claim
  • the minimal extra assumption if one exists
  • a proof of the corrected claim

If the proof cannot be completed honestly

Write:

  • Status: NOT CURRENTLY JUSTIFIED
  • the exact blocker: missing lemma, invalid implication, hidden assumption, or counterexample direction
  • what extra assumption, lemma, or derivation would be needed to finish the proof
  • a corrected weaker statement if one is available

Chat Response

After writing the target proof file, respond briefly with:

  • status
  • whether the original claim survived unchanged
  • what file was updated

Key Rules

  • Never fabricate a missing proof step.
  • Prefer weakening the claim over overclaiming.
  • Separate assumptions, derived facts, heuristics, and conjectures.
  • Preserve the user's original theorem statement unless you explicitly mark a corrected claim or an internal normalization.
  • If the statement is false as written, say so explicitly and give a counterexample or repaired statement.
  • If uncertainty remains, mark it explicitly in Open Risks; do not hide it inside polished prose.
  • Correctness matters more than brevity.

FAQ

What does the proof-writer skill do?

Writes rigorous mathematical proofs for ML/AI theory. Use when asked to prove a theorem, lemma, proposition, or corollary, fill in missing proof steps, formalize a proof sketch, 补全证明, 写证明, 证明某个命题, or determine whether a claimed proof can actually be completed under the stated assumptions.

How do I install proof-writer?

Run npx skills add https://github.com/wanshuiyin/auto-claude-code-research-in-sleep --skill proof-writer in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/proof-writer/ (personal) or .claude/skills/proof-writer/ (project).

Which AI agents can use proof-writer?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is proof-writer safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains proof-writer?

It is published by wanshuiyin in wanshuiyin/auto-claude-code-research-in-sleep. It has 520 recorded installs.

More from wanshuiyin/auto-claude-code-research-in-sleep

View all →

paper-figure

wanshuiyin/auto-claude-code-research-in-sleep

Generate publication-quality figures and tables from experiment results. Use when user says "画图", "作图", "generate figures", "paper figures", or needs plots for a paper.

semantic-scholar

wanshuiyin/auto-claude-code-research-in-sleep

Search published venue papers (IEEE, ACM, Springer, etc.) via Semantic Scholar API. Complements /arxiv (preprints) with citation counts, venue metadata, and TLDR. Use when user says "search semantic scholar", "find IEEE papers", "find journal papers", "venue papers", "citation search", or wants published literature beyond arXiv preprints.

research-lit

wanshuiyin/auto-claude-code-research-in-sleep

Search and analyze research papers, find related work, summarize key ideas. Use when user says "find papers", "related work", "literature review", "what does this paper say", or needs to understand academic papers.

idea-discovery

wanshuiyin/auto-claude-code-research-in-sleep

Workflow 1: Full idea discovery pipeline to go from a broad research direction to validated, pilot-tested ideas. Use when user says "找idea全流程", "idea discovery pipeline", "从零开始找方向", or wants the complete idea exploration workflow.

idea-creator

wanshuiyin/auto-claude-code-research-in-sleep

Generate and rank research ideas given a broad direction. Use when user says "找idea", "brainstorm ideas", "generate research ideas", "what can we work on", or wants to explore a research area for publishable directions.

arxiv

wanshuiyin/auto-claude-code-research-in-sleep

Search, download, and summarize academic papers from arXiv. Use when user says "search arxiv", "download paper", "fetch arxiv", "arxiv search", "get paper pdf", or wants to find and save papers from arXiv to the local paper library.

Popular docs & writing skills

View category →

grill-with-docs

mattpocock/skills

A relentless interview to sharpen a plan or design, which also creates docs (ADR's and glossary) as we go.

Docs & Writing1.2M installs

lark-markdown

open.feishu.cn

飞书 Markdown:查看、创建、上传、编辑和比较飞书中的原生 Markdown 文件。当用户要操作飞书 Markdown 文件,或比较其远端版本及本地草稿时使用。纯本地 Markdown 文件操作不触发本 skill。不负责将 Markdown 导入为飞书在线文档,也不负责文件搜索、权限、评论、移动、删除等云空间管理操作。

Docs & Writing778.7K installs

writing-beats

mattpocock/skills

Writing, exploit; assemble raw material into a journey of beats, grounding each term before a beat leans on it.

Docs & Writing490.7K installs

writing-shape

mattpocock/skills

Writing, exploit: shape raw material into an article, paragraph by paragraph.

Docs & Writing490.2K installs

writing-fragments

mattpocock/skills

Writing, explore: mine raw fragments, no structure yet.

Docs & Writing489.6K installs

writing-for-agents

mattpocock/skills

Writing documents for agents. Use when creating or editing skills, or modifying AGENTS.md or CLAUDE.md.

Docs & Writing479.3K installs