fill-sorry — for Claude Code fill-sorry, lean-homology, community, for Claude Code, ide skills, proof-patterns.md, pitfalls.md, lean_goal, lean_multi_attempt, lean_diagnostic_messages

v1.0.0

이 스킬 정보

적합한 상황: Ideal for AI agents that need prove a specific sorry'd lemma using the lsp tools iteratively. 현지화된 요약: # Fill Sorry Mode Prove a specific sorry'd lemma using the LSP tools iteratively. This AI agent skill supports Claude Code, Cursor, and Windsurf workflows.

기능

Prove a specific sorry'd lemma using the LSP tools iteratively.
Target: $ARGUMENTS
Check memory first — read proof-patterns.md and pitfalls.md for strategies relevant to this proof
Read the lemma and use lean goal at the sorry to understand the proof state.
Try simple tactics first via lean multi attempt: ["simp", "ring", "omega", "exact?", "aesop"].

# 핵심 주제

jeffrey-dot-li jeffrey-dot-li
[1]
[0]
업데이트: 3/24/2026

Skill Overview

Start with fit, limitations, and setup before diving into the repository.

적합한 상황: Ideal for AI agents that need prove a specific sorry'd lemma using the lsp tools iteratively. 현지화된 요약: # Fill Sorry Mode Prove a specific sorry'd lemma using the LSP tools iteratively. This AI agent skill supports Claude Code, Cursor, and Windsurf workflows.

이 스킬을 사용하는 이유

추천 설명: fill-sorry helps agents prove a specific sorry'd lemma using the lsp tools iteratively. Fill Sorry Mode Prove a specific sorry'd lemma using the LSP tools iteratively. This AI agent skill supports Claude Code

최적의 용도

적합한 상황: Ideal for AI agents that need prove a specific sorry'd lemma using the lsp tools iteratively.

실행 가능한 사용 사례 for fill-sorry

사용 사례: Applying Prove a specific sorry'd lemma using the LSP tools iteratively
사용 사례: Applying Target: $ARGUMENTS
사용 사례: Applying Check memory first — read proof-patterns.md and pitfalls.md for strategies relevant to this proof

! 보안 및 제한 사항

  • 제한 사항: Core principle: EXTRACT, don't inline
  • 제한 사항: The subgoal involves only types from the lemma signature (not local let/have bindings)
  • 제한 사항: You'd need 5 lines of non-trivial tactics to close it

About The Source

The section below comes from the upstream repository. Use it as supporting material alongside the fit, use-case, and installation summary on this page.

Labs 데모

Browser Sandbox Environment

⚡️ Ready to unleash?

Experience this Agent in a zero-setup browser environment powered by WebContainers. No installation required.

Boot Container Sandbox

FAQ 및 설치 단계

These questions and steps mirror the structured data on this page for better search understanding.

? 자주 묻는 질문

fill-sorry은 무엇인가요?

적합한 상황: Ideal for AI agents that need prove a specific sorry'd lemma using the lsp tools iteratively. 현지화된 요약: # Fill Sorry Mode Prove a specific sorry'd lemma using the LSP tools iteratively. This AI agent skill supports Claude Code, Cursor, and Windsurf workflows.

fill-sorry은 어떻게 설치하나요?

다음 명령을 실행하세요: npx killer-skills add jeffrey-dot-li/lean-homology/fill-sorry. Cursor, Windsurf, VS Code, Claude Code와 19개 이상의 다른 IDE에서 동작합니다.

fill-sorry은 어디에 쓰이나요?

주요 활용 사례는 다음과 같습니다: 사용 사례: Applying Prove a specific sorry'd lemma using the LSP tools iteratively, 사용 사례: Applying Target: $ARGUMENTS, 사용 사례: Applying Check memory first — read proof-patterns.md and pitfalls.md for strategies relevant to this proof.

fill-sorry 와 호환되는 IDE는 무엇인가요?

이 스킬은 Cursor, Windsurf, VS Code, Trae, Claude Code, OpenClaw, Aider, Codex, OpenCode, Goose, Cline, Roo Code, Kiro, Augment Code, Continue, GitHub Copilot, Sourcegraph Cody, and Amazon Q Developer 와 호환됩니다. 통합 설치에는 Killer-Skills CLI를 사용하세요.

fill-sorry에 제한 사항이 있나요?

제한 사항: Core principle: EXTRACT, don't inline. 제한 사항: The subgoal involves only types from the lemma signature (not local let/have bindings). 제한 사항: You'd need 5 lines of non-trivial tactics to close it.

이 스킬 설치 방법

  1. 1. 터미널 열기

    프로젝트 디렉터리에서 터미널 또는 명령줄을 여세요.

  2. 2. 설치 명령 실행

    npx killer-skills add jeffrey-dot-li/lean-homology/fill-sorry 를 실행하세요. CLI가 IDE 또는 에이전트를 자동으로 감지하고 스킬을 설정합니다.

  3. 3. 스킬 사용 시작

    스킬이 이제 활성화되었습니다. 현재 프로젝트에서 fill-sorry을 바로 사용할 수 있습니다.

! Source Notes

This page is still useful for installation and source reference. Before using it, compare the fit, limitations, and upstream repository notes above.

Upstream Repository Material

The section below comes from the upstream repository. Use it as supporting material alongside the fit, use-case, and installation summary on this page.

Upstream Source

fill-sorry

# Fill Sorry Mode Prove a specific sorry'd lemma using the LSP tools iteratively. This AI agent skill supports Claude Code, Cursor, and Windsurf workflows.

SKILL.md
Readonly
Upstream Repository Material
The section below comes from the upstream repository. Use it as supporting material alongside the fit, use-case, and installation summary on this page.
Upstream Source

Fill Sorry Mode

Prove a specific sorry'd lemma using the LSP tools iteratively.

Target: $ARGUMENTS

Procedure

  1. Check memory first — read proof-patterns.md and pitfalls.md for strategies relevant to this proof shape.
  2. Read the lemma and use lean_goal at the sorry to understand the proof state.
  3. Try simple tactics first via lean_multi_attempt: ["simp", "ring", "omega", "exact?", "aesop"].
    • To retrieve "Try this" suggestions from simp?/exact?/apply?, use lean_diagnostic_messages with severity="info" on the relevant line — the suggestions are info-level diagnostics.
  4. If those fail, simplify the goal first before searching Mathlib:
    • Try simp, dsimp, ext, change to make the goal more concrete
    • If the goal is a wall of text (20+ lines of compositions/sums), use name_parts ?LHS = ?RHS (or finer patterns like ?A + ?B = ?C + ?D) to bind names to sub-expressions. This makes the structure visible and lets closing tactics like module/abel/ring work on the named form. See proof-strategies.md for full syntax and caveats.
    • Check lean_goal — often the simplified goal suggests the next step
    • Use simpa using h to see if existing hypotheses close it after simplification
  5. Only search Mathlib (lean_state_search, lean_leansearch, lean_loogle) when you have a specific lemma shape in mind, not as a fishing expedition.
  6. Build the proof incrementally — add tactics one at a time. After every edit:
    • First, check lean_diagnostic_messages with severity="error" on the edited line(s) (start_line/end_line) to confirm no errors. Warnings/infos are noise during proof filling — ignore them. lean_goal succeeding does NOT mean the tactic compiled — a failing tactic (e.g., "simp made no progress") still shows a goal on the next line (the unchanged one).
    • Then, check lean_goal after the tactic to see the new proof state.
    • If diagnostics show an error, revert the edit before trying something else.
  7. Verify completion with lean_diagnostic_messages (with severity="error") on the full lemma. No errors = done.
  8. If stuck after several attempts, report the remaining goal state to the user and ask for guidance.

Core principle: EXTRACT, don't inline

When a subgoal looks like a standalone mathematical statement — general types, no proof-specific local variables — extract it as a sorry'd lemma above the current proof. Then:

  1. Finish the main proof assuming the new lemma (it should become simple plumbing).
  2. Go back and fill the extracted lemma separately.

Signs you should extract:

  • The subgoal involves only types from the lemma signature (not local let/have bindings)
  • You'd need >5 lines of non-trivial tactics to close it
  • The statement would make sense out of context (e.g., "sigma inclusions are mono")
  • You find yourself wanting to search Mathlib for it — it's probably a lemma-shaped gap

The main proof should read like an outline: named lemmas composed with rw, exact, simp.

Bias toward editing the file and checking goals, not toward searching Mathlib. The LSP feedback loop (edit → lean_goal → adjust) is faster and more reliable than trying to find the perfect abstract lemma. Concretely:

  • If you're unsure whether simp / ext / congr will help, just try it — it takes one tool call. Don't spend 3 searches looking for a lemma that might do the same thing.
  • When the goal looks complex, try simp or dsimp first to see what it simplifies to. The simplified form often makes the next step obvious.
  • Searching Mathlib is valuable for named theorems you can't guess (e.g., Sigma.mk.inj_iff), not for finding the perfect API to avoid writing 3 lines of tactics.
  • Budget rule: For every Mathlib search call, you should have made at least 2 edit-and-check cycles first.

Anti-looping protocol (CRITICAL)

  • Test, don't theorize. If you're unsure whether a tactic will work, edit the file and check diagnostics. Never spend more than 2-3 sentences reasoning about whether something will work — just try it.
  • Detect cycles. If you catch yourself considering an approach you already rejected, you are looping. Stop immediately and report.
  • Recognize structural problems. If the issue is not "which tactic closes this goal" but "the definition/API doesn't support this proof strategy," that's a /draft problem, not a /fill-sorry problem. Report to the user: "This may need a restructuring — want to switch to /draft?"
  • Never silently struggle. The user prefers a concise "I'm stuck because X" message over 5000 tokens of increasingly desperate attempts.
  • Narrate your reasoning. Before each tool call, write a one-line summary of why you're making it. This lets the user follow your thought process and interrupt early if you're going down a wrong path.

After completion

If the proof involved a non-obvious strategy (took multiple attempts, required a surprising lemma, or used an unusual tactic pattern), proactively save it to memory:

  • Tactic pattern → proof-strategies.md
  • Useful Mathlib lemma or API pattern → appropriate .claude/memory/api/ file
  • Gotcha or failed approach → appropriate .claude/memory/api/ file (under a "Pitfall" heading)

Ask the user: "This proof used [strategy] — want me to save this pattern to memory for future use?"

Rules

  • Never leave a proof unverified.
  • If a proof exceeds ~30 lines, suggest decomposing into helper lemmas.
  • lean_goal is your most important tool — use it after every tactic.

관련 스킬

Looking for an alternative to fill-sorry or another community skill for your workflow? Explore these related open-source skills.

모두 보기

openclaw-release-maintainer

Logo of openclaw
openclaw

현지화된 요약: 🦞 # OpenClaw Release Maintainer Use this skill for release and publish-time workflow. It covers ai, assistant, crustacean workflows. This AI agent skill supports Claude Code, Cursor, and Windsurf workflows.

333.8k
0
인공지능

widget-generator

Logo of f
f

현지화된 요약: Generate customizable widget plugins for the prompts.chat feed system # Widget Generator Skill This skill guides creation of widget plugins for prompts.chat . It covers ai, artificial-intelligence, awesome-list workflows. This AI agent skill supports Claude Code, Cursor, and Windsurf

149.6k
0
인공지능

flags

Logo of vercel
vercel

현지화된 요약: The React Framework # Feature Flags Use this skill when adding or changing framework feature flags in Next.js internals. It covers blog, browser, compiler workflows. This AI agent skill supports Claude Code, Cursor, and Windsurf workflows.

138.4k
0
브라우저

pr-review

Logo of pytorch
pytorch

현지화된 요약: Usage Modes No Argument If the user invokes /pr-review with no arguments, do not perform a review . It covers autograd, deep-learning, gpu workflows. This AI agent skill supports Claude Code, Cursor, and Windsurf workflows.

98.6k
0
개발자