Formalize ready leaves from an existing Autoform Markdown roadmap in Lean, using native agents, fail-closed claims, and verified Markdown progress.

MITAuto-check passedDocuments & Office

Install Formalize

skills CLI
$ npx skills add facebookresearch/autoform-bot --skill formalize -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install facebookresearch/autoform-bot formalize --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/facebookresearch/autoform-bot.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/formalize .claude/skills/formalize && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
formalize
GitHub stars
117
Token cost
~2.5k tokens
SKILL.md length
1,471 words
Files
2
Skills in repo
6
Repo updated
First seen
Licence
MIT

At a glance

Formalize ready leaves from an existing Autoform Markdown roadmap in Lean, using native agents, fail-closed claims, and verified Markdown progress.

  • Proof execution
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • Send missing scope
  • DAG structure to Roadmap

What it does

Formalize is an agent skill from facebookresearch/autoform-bot. Formalize ready leaves from an existing Autoform Markdown roadmap in Lean, using native agents, fail-closed claims, and verified Markdown progress. Use for proof execution; send missing scope or DAG structure to Roadmap.

Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `agents/openai.yaml`).

It sits in Documents & Office, covering Markdown. The licence is MIT.

When your agent uses it

  • Proof execution
  • Send missing scope
  • DAG structure to Roadmap

Example prompts

  • “/formalize”

What it can do on your machine

Read from SKILL.md and the folder at commit cc7e3a8. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Formalize loads about 2.5k tokens when it runs. Until then it costs about 58 tokens; SKILL.md has 1,471 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~58
When it runs · the whole SKILL.md, loaded when a task matches
~2.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from facebookresearch/autoform-bot at commit cc7e3a8, republished under its MIT licence (© facebookresearch). 1,471 words, ~2,534 tokens.

Download SKILL.mdSave it as .claude/skills/formalize/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
formalize
description
Formalize ready leaves from an existing Autoform Markdown roadmap in Lean, using native agents, fail-closed claims, and verified Markdown progress. Use for proof execution; send missing scope or DAG structure to Roadmap.

Formalize the Markdown roadmap

Treat blueprint/roadmap/**/*.md as the sole durable work graph. Resolve the absolute installed plugin root and run commands through the invocation contract in the CLI reference, from the Lean project. <PROJECT> is the absolute path of the checkout being edited; for a subagent, that is its own worktree. Start by running autoform work list <PROJECT> --lean-root <PROJECT> --json and inspect a selected leaf with autoform work context <NODE> <PROJECT> --lean-root <PROJECT> --json. The returned phase is derived from typed dependencies and verified assertions; never author ready, running, retrying, failed, or blocked scheduler states. If work list refuses because unfinished leaves lack article_id, add the IDs planned by autoform migrate article-ids <PROJECT>/blueprint --json to those articles' frontmatter, validate, and commit that change before claiming anything.

For a direct formalization request, use a compatible native persistent Goal when available and complete one useful frontier pass. Native subagents may work independent leaves in separate Git worktrees, but no custom scheduler or provider adapter is part of the protocol. The lead's branch is the shared branch that results integrate into; a leaf the lead takes itself is also worked in a worktree, so nothing reaches that branch before its default build passes. Before dispatching, commit the roadmap state the frontier was read from and base each worktree on that commit, not on the remote's default branch (Claude Code's agent isolation does so only with worktree.baseRef: head). Give each subagent the claim_target, phase, article_revision, open_statements, assumes, and revision it is dispatched for. A new worktree has no .lake: in a Mathlib project, run lake exe cache get there under the lake-build claim before its first build or Lean tool call.

Give every concurrent agent and subagent its own worker ID, such as its host and worktree name, and pass it as --worker-id on every claim command. Never reuse the lead's, because a board accepts a second acquire from the same owner, and do not rely on exporting AUTOFORM_WORKER_ID once: a later tool call can start from a profile that sets a shared value. Run claim commands from the project worktree so every worker uses its origin board, or pass the same --repo everywhere when it has none. Claims write refs to that board's remote, which is outward-facing: make sure the request covers it before the first claim.

Before editing, acquire the exact claim_target returned by work context. A failed acquire or renewal means ownership is unproven: stop writing. Leases expire after 25 minutes, so run autoform claim renew about every five minutes and immediately before integrating; renew, not acquire, is the check that a claim is still held. Take the lake-build resource claim only around a Lake build: if it is refused, wait and retry rather than abandoning the leaf, renew it during a long build, and release it as soon as the build ends.

After acquiring the claim, bring the worktree up to date with the shared branch and reload work context. Before editing, require the same phase, blockers, dependencies, article_revision, open_statements, assumes, and revision as the first read and, for a subagent, the same phase, article_revision, open_statements, assumes, and revision it was dispatched with. Unrelated parallel articles may legitimately change the graph-wide source revision.

Read the complete article, cited sources, dependency articles, and existing Lean target. Preserve the exact mathematical statement. Work only on the selected phase: do not modify another article or its Lean declarations, or weaken a public statement. The one exception is revising a declaration other articles' Lean uses: start from autoform work impact and make only the edits the revision contract requires, under the claims it requires. A work item flagged revision, whose article records statement: retracted, is such a revision; restating it replaces statement: retracted with statement: formalized. Never add a new use of a deprecated declaration. Search the pinned Mathlib checkout before adding helpers, and use the shared Lean LSP and REPL with <PROJECT> as the project path. Finish with the focused Lake target. Declare the result in a module the library root imports, or that the lakefile's globs cover, because the default build is the only one CI compiles and audits. Check the recorded declaration with #print axioms; do not accept sorry, new axioms, unsafe shortcuts, a weaker theorem, unused hypotheses, or an unrelated declaration, except as the open-statement policy below allows.

roadmap/README.md sets the project's policy. Under the default strict policy, project CI rejects sorry: the statement phase writes the declaration and, for a theorem, the complete proof, which is why work list offers the phase only once the proof prerequisites are proved. Under open_statements: allowed, the statement phase of a theorem writes the faithful statement with a proof body of exactly sorry and records statement: formalized, or writes the full proof and, on acceptance, records both assertions. That sorry is the declaration's whole body: never part of its type, a helper, a definition, or a where clause, and never one case of a recursive proof, which Lean can compile into auxiliaries such as _f that CI rejects. A definition is never left open: its body is its proof, so work list offers its statement phase only once its proof prerequisites are stated. In both policies the proof phase completes the proof of an already recorded statement without changing that statement.

Under the open policy a proof may use the open statements its Markdown dependencies reach: each open dependency with whatever its statement prerequisites reach, and everything a proved dependency reaches, but not an open dependency's proof prerequisites. autoform work assumptions --json lists the exact allowed_open_declarations. The article then shows as conditionally proved, and #print axioms lists the sorryAx it inherits without saying from where. Before landing, record proof: formalized in the worktree (until then the audit treats the article as open), reproduce the CI audit as the open statements reference shows, and require a conditional or sorry-free line for each recorded declaration and a passing summary. An open statement the Markdown does not declare as a dependency fails CI: send the missing dependency to Roadmap or stop using it. Never describe a conditional proof as complete, fully proved, or sorry-free.

Show full SKILL.md (452 more words)Show less

After the focused build passes, require an independent Agent Review of every changed statement or proof for source faithfulness, dependency correctness, and proof integrity. The reviewer does not edit the candidate. Record progress only when every required rubric passes; report insufficient evidence or any failing score instead.

On acceptance, update only the claimed article with the exact compiled declaration and truthful assertions: statement: formalized, plus proof: formalized once the proof is complete. On a useful failed route, record only distilled reusable evidence under ## Execution notes—the remaining goal, checked lemmas, and next route—never a transcript or retry counter. A missing prerequisite, an incorrect decomposition, a change another article needs, or a proof recorded without its statement returns to Roadmap instead of silently changing the DAG.

Run autoform check <PROJECT>/blueprint --lean-root <PROJECT> and autoform audit <PROJECT>/blueprint --lean-root <PROJECT>. Resolve every finding this work introduced on the claimed article, except lean-target-deprecated for a superseded declaration that an expand, migrate, contract revision keeps in the revised article's lean: until it is deleted; report unrelated pre-existing findings instead of fixing them.

Commit the verified result in its worktree, renew the claim, and rebase onto or merge the current shared branch. On the result, run the default lake build, confirm that dependency readiness is unchanged, and confirm that the claimed article differs from its starting article_revision only by this worker's edits; if integration changed the candidate, repeat the review, check, and audit. For a revision, also re-run autoform work impact on the rebuilt result; if the route's claim set grew, acquire the whole larger set in one command under the no-hold-and-wait rule and repair the new targets before landing. Keep the article claim until every checkout on the claim board can see the verified commit: on the shared branch and, for an origin board, pushed, since other clones read their frontier from the remote. Without authority to update or push that branch, or when integration fails, keep the claim and report the branch, commit, claim, and worker ID for handoff instead of making the leaf look free. The integrator renews, integrates, and releases a handed-off claim with --worker-id set to the reported ID; if the lease has lapsed, it acquires the claim under its own ID and repeats the reload gate before integrating. Release the claim once the result is visible that way, or when abandoning the leaf without a candidate.

Re-read the work frontier from the updated shared branch and repeat while independent ready leaves and authorized capacity remain. Stop when the frontier is empty or every remaining attempt has a concrete mathematical or ownership blocker. Report changed articles and Lean files, integrated commits, claims released or handed off, checks and reviews run, and exact remaining goals.

© facebookresearch, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in skills/formalize of facebookresearch/autoform-bot.

  • SKILL.md
  • agents/openai.yaml

Open the folder on GitHubat commit cc7e3a8

Compare with similar skills

Formalize next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Formalize compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Formalize this skillfacebookresearch/autoform-bot117—~2.5kAutomated safety check: PassMIT
Markdown Article FormatterJimLiu/baoyu-skills26k7 repos~3.5kAutomated safety check: PassMIT
MarkitdownImCa0/just-laws78114 repos~3.2kAutomated safety check: NotesMIT
Obsidian MarkdownAtmosphere/atmosphere3.8k20 repos~1.3kAutomated safety check: PassApache-2.0
Gzh Designisjiamu/gzh-design-skill3.9k1 repos~2.2kAutomated safety check: PassAGPL-3.0
Crosspostingwasp-lang/wasp19k—~1.1kAutomated safety check: PassMIT

Similar skills

  • Markdown Article Formatter

    JimLiu/baoyu-skills

    Reformats plain text or Markdown articles with frontmatter, a title, a summary, headings, bold, lists and code blocks, and saves a separate formatted copy.

    26k GitHub starsUsed in 7 repos~3.5k tokens
    Documents & OfficeAuto-check passed
  • Markitdown

    ImCa0/just-laws

    Convert files and office documents to Markdown. An agent skill from ImCa0/just-laws.

    781 GitHub starsUsed in 14 repos~3.2k tokens
    Documents & OfficeAuto-check: notes
  • Obsidian Markdown

    Atmosphere/atmosphere

    Create and edit Obsidian Flavored Markdown with wikilinks, embeds, callouts, properties, and other Obsidian-specific syntax.

    3.8k GitHub starsUsed in 20 repos~1.3k tokens
    Documents & OfficeAuto-check passed
  • Gzh Design

    isjiamu/gzh-design-skill

    微信公众号文章排版引擎,将 Markdown 转换为可直接粘贴到公众号编辑器的 HTML。主题风格从 references/theme-index.md 注册的自定义主题库中选取,自动章节编号、关键词下划线标记、引言卡片、目录导航、代码块、图片/GIF、作者签名。支持 Markdown / Word(.docx) / PDF / 纯文本输入(非 Markdown…

    3.9k GitHub starsUsed in 1 repo~2.2k tokens
    Documents & OfficeAuto-check passed
  • Crossposting

    wasp-lang/wasp

    Crosspost Wasp blog articles (MDX) to DEV.to and Medium. An agent skill from wasp-lang/wasp.

    19k GitHub stars~1.1k tokensUpdated yesterday
    Documents & OfficeAuto-check passed
  • Review The Docs

    supabase/supabase

    Official

    Review Supabase docs changes locally in your supabase/supabase checkout — either an open PR (triage, classify, verify) or your own branch before opening a PR (local self-review).

    111k GitHub stars~4.6k tokensUpdated today
    Documents & OfficeAuto-check passed

More from facebookresearch/autoform-bot

  • Setup

    facebookresearch/autoform-bot

    Set up, inspect, or repair repository infrastructure for an Autoform Lean project, including the Lean/Mathlib shell, an in-repository Obsidian-compatible blueprint vault, ignore rules, MkDocs…

    117 GitHub stars~2.5k tokensUpdated yesterday
    Auto-check passed
  • Roadmap

    facebookresearch/autoform-bot

    Build, continue, inspect, or visualize a source-grounded mathematical roadmap and theorem DAG in an existing Autoform Markdown blueprint.

    117 GitHub stars~1.8k tokensUpdated yesterday
    Auto-check passed
  • Agent Review

    facebookresearch/autoform-bot

    Judge an Autoform mathematical roadmap or Lean formalization with explicit, evidence-based rubrics.

    117 GitHub stars~859 tokensUpdated yesterday
    Auto-check passed
  • Develop Plugin

    facebookresearch/autoform-bot

    Maintain AutoformBot's code, skills, tests, examples, and installation.

    117 GitHub stars~417 tokensUpdated yesterday
    Auto-check passed
  • Human Review

    facebookresearch/autoform-bot

    Prepare and guide human inspection of an Autoform roadmap or formalization through its Obsidian graph and rendered blueprint site.

    117 GitHub stars~856 tokensUpdated yesterday
    Auto-check passed

Questions about Formalize

What does Formalize do?

Formalize ready leaves from an existing Autoform Markdown roadmap in Lean, using native agents, fail-closed claims, and verified Markdown progress. Formalize is an agent skill from facebookresearch/autoform-bot. Formalize ready leaves from an existing Autoform Markdown roadmap in Lean, using native agents, fail-closed claims, and verified Markdown progress.

When should I use Formalize?

Formalize fits situations like: proof execution; send missing scope; DAG structure to Roadmap.

How do I install Formalize in Claude Code?

Run `npx skills add facebookresearch/autoform-bot --skill formalize -a claude-code`. Or copy the skill folder (skills/formalize in facebookresearch/autoform-bot) into .claude/skills/formalize in your project. Claude Code loads it when a task matches its description.

How do I install Formalize in Codex?

Run `npx skills add facebookresearch/autoform-bot --skill formalize -a codex`. Or copy the skill folder (skills/formalize in facebookresearch/autoform-bot) into .agents/skills/formalize in your project. Codex loads it when a task matches its description.

Can I use Formalize in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add facebookresearch/autoform-bot --skill formalize -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/formalize, .gemini/skills/formalize, .github/skills/formalize and .opencode/skills/formalize in your project.

What does Formalize need to run?

SKILL.md names no scripts, command-line tools or credentials: Formalize is instructions for the agent only.

Does Formalize access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Formalize safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Formalize use?

Formalize is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Formalize use?

About 2.5k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Formalize?

Skills that share tags, products or a category with Formalize: Markdown Article Formatter (JimLiu/baoyu-skills, 26k stars), Markitdown (ImCa0/just-laws, 781 stars), Obsidian Markdown (Atmosphere/atmosphere, 3.8k stars) and Gzh Design (isjiamu/gzh-design-skill, 3.9k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Formalize?

facebookresearch (a GitHub organization) maintains it in facebookresearch/autoform-bot, which has 117 GitHub stars. The repository holds 6 skills in this directory. The repository was last updated on October 7, 2026.

Source: facebookresearch/autoform-bot on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.