agentleFS
daiduo2daiduo2/local-proof-loop/skills/solver/SKILL.md

solver

Skill0 starsChanged 7 months agoMITView on GitHub

Use this skill when acting as the user-side solver in the local proof loop. The solver works under a strict body_only contract. It does not control the Lean file, theorem header, imports, or execution environment. Given the current round input: Before producing a submission, read: The solver should expect round input matching schemas/solver_round_input.schema.json. Round 1 nullability: The template_header is read-only context. The editable output is only the proof body that appears after := by. Return a JSON object matching schemas/submission.schema.json:

2 other projects use a version of this.

Adopted by

Most recently taken up by

  • Other versions2 projects use a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 2

    1. atopile/atopile★ 4ksame name
    2. Mharbulous/probanda-dev★ 1same 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 repository2 other files it gives its agents.

The file

Show its rules and text

We split this skill into the rules it gives an agent

22 rules. About 0 are common, 16 are distinctive, and 6 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈16

    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
  1. Distinctive:

    Use this skill when acting as the user-side solver in the local proof loop.

    line 3
  2. Distinctive:

    read the fixed theorem header

    line 11
  3. Distinctive:

    read reviewer feedback from the previous round, if present

    line 12
  4. Distinctive:

    stop when the host or reviewer indicates the loop is complete or should stop

    line 14
  5. Distinctive:

    Before producing a submission, read:

    line 18
  6. Distinctive:

    Only submit the theorem body.

    line 31
  7. Distinctive:

    Never modify the theorem header.

    line 32
  8. Distinctive:

    Only use theorem-query tools when the host explicitly exposes them.

    line 34
  9. Distinctive:

    Treat theorem-query use as read-only support, not as permission to inspect unrelated files or internal host artifacts.

    line 35
  10. Distinctive:

    Never claim success based only on intuition.

    line 36
  11. Distinctive:

    Never add fields outside the submission schema.

    line 37
  12. Distinctive:

    Treat reviewer actions as bounded next-step guidance, not as permission to change the contract.

    line 38
  13. Very specific:

    Stop immediately if reviewer status is complete or stop.

    line 39
  14. Very specific:

    When Hermes is the runtime agent, that JSON object should be written back as submission.json.

    line 65
  15. Very specific:

    When keep_current_body is true, prefer small corrective edits over rewriting from scratch unless the actions clearly require a larger …

    line 75
  16. Distinctive:

    Prefer minimal proof edits that directly answer the latest compiler and reviewer feedback.

    line 79
  17. Distinctive:

    If the current body is irreparably wrong, replace it cleanly instead of layering contradictory tactics.

    line 81
  18. Very specific:

    Use theorem queries sparingly: usually none, and normally no more than 1-3 in a round.

    line 82
  19. Distinctive:

    Keep outputs deterministic and concise.

    line 85
  20. Very specific:

    Read the current solver_round_input.

    line 91
  21. Very specific:

    Write exactly one schema-valid submission.json or submit exactly one submission payload.

    line 93
  22. Distinctive:

    Do not keep querying after the next proof step is clear, and do not take on reviewer responsibilities during this flow.

    line 95

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Solver Skill

Use this skill when acting as the user-side solver in the local proof loop.

The solver works under a strict body_only contract. It does not control the Lean file, theorem header, imports, or execution environment.

Objective

Given the current round input:

  • read the fixed theorem header
  • read reviewer feedback from the previous round, if present
  • produce the next theorem body candidate
  • stop when the host or reviewer indicates the loop is complete or should stop

Required Reads

Before producing a submission, read:

  1. README.md
  2. docs/contracts.md
  3. docs/solver-runtime-contract.md
  4. docs/hermes-solver-handoff.md
  5. docs/solver-research-mode.md
  6. schemas/solver_round_input.schema.json
  7. schemas/submission.schema.json
  8. schemas/review_result.schema.json

Hard Rules

  • Only submit the theorem body.
  • Never modify the theorem header.
  • Never modify imports.
  • Only use theorem-query tools when the host explicitly exposes them.
  • Treat theorem-query use as read-only support, not as permission to inspect unrelated files or internal host artifacts.
  • Never claim success based only on intuition; the host compiler decides success.
  • Never add fields outside the submission schema.
  • Treat reviewer actions as bounded next-step guidance, not as permission to change the contract.
  • Stop immediately if reviewer status is complete or stop.

Input Model

The solver should expect round input matching schemas/solver_round_input.schema.json.

Round 1 nullability:

  • previous_body is null on round 1
  • review_feedback is null on round 1

The template_header is read-only context. The editable output is only the proof body that appears after := by.

Output Model

Return a JSON object matching schemas/submission.schema.json:

{
  "problem_id": "example_problem",
  "round_index": 1,
  "mode": "body_only",
  "body": "exact ..."
}

When Hermes is the runtime agent, that JSON object should be written back as submission.json.

Review Handling

If review_feedback.status is:

  • retry: produce a revised body, using summary, actions, and keep_current_body as guidance
  • complete: do not produce another candidate unless the orchestrator explicitly asks for a final no-op acknowledgment
  • stop: do not produce another candidate

When keep_current_body is true, prefer small corrective edits over rewriting from scratch unless the actions clearly require a larger change.

Working Style

  • Prefer minimal proof edits that directly answer the latest compiler and reviewer feedback.
  • Preserve useful parts of the previous body when they still align with the reviewer guidance.
  • If the current body is irreparably wrong, replace it cleanly instead of layering contradictory tactics.
  • Use theorem queries sparingly: usually none, and normally no more than 1-3 in a round.
  • Choose the smallest host query that fits the need: lookup for exact names, search for bounded discovery, premises for nearby useful facts.
  • Convert useful theorem-query results into proof-body edits instead of quoting them back as metadata.
  • Keep outputs deterministic and concise.

Runtime Walkthrough

In HTTP mode, Hermes should execute one round in this order:

  1. Read the current solver_round_input.
  2. Optionally call one or a small number of read-only /query/... endpoints.
  3. Write exactly one schema-valid submission.json or submit exactly one submission payload.

Do not keep querying after the next proof step is clear, and do not take on reviewer responsibilities during this flow.

Failure Avoidance

Do not output:

  • theorem declarations
  • import lines
  • natural-language explanation in place of the body
  • wrapper markdown around the submission JSON
  • extra metadata fields such as header, imports, or notes

Completion Condition

The solver's round work is complete when it has emitted one schema-valid submission for the current round, or when the reviewer status requires stopping without a new submission.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.