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…

MITAuto-check passed

Install Setup

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

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

GitHub CLI
$ gh skill install facebookresearch/autoform-bot setup --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/setup .claude/skills/setup && 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
setup
GitHub stars
117
Token cost
~2.5k tokens
SKILL.md length
1,316 words
Files
41 (incl. references, assets)
Skills in repo
6
Repo updated
First seen
Licence
MIT

At a glance

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…

  • New repositories
  • Runs Python and JavaScript scripts from its folder; calls uv
  • Environment repair
  • Publication setup

What it does

Setup is an agent skill from 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, GitHub Pages, and verification CI, with optional Zulip community synchronization. Use for new repositories, environment repair, publication setup, infrastructure checks, or an explicitly requested Zulip project sync; do not choose mathematical scope or build the roadmap and theorem DAG.

Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 48 other files, including reference files and assets (for example `agents/openai.yaml`, `assets/cabannes-thesis-project/.github/autoform_audit.py` and `assets/cabannes-thesis-project/.github/workflows/autoform-verify.yml`).

It works with GitHub and Obsidian. The licence is MIT.

When your agent uses it

  • New repositories
  • Environment repair
  • Publication setup
  • Infrastructure checks

Example prompts

  • “/setup”

Requirements

  • Python 3
  • Node.js

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

    Ships script files (Python and JavaScript, from the files we listed), which the agent can run.

    Shell commands in SKILL.md call:

    • uv

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

  • Network

    No URLs in SKILL.md. Its commands use uv, which can reach the network depending on how they are called.

    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

Setup loads about 2.5k tokens when it runs, and up to ~3k if it reads all its reference files. Until then it costs about 122 tokens; SKILL.md has 1,316 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~122
When it runs · the whole SKILL.md, loaded when a task matches
~2.5k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~3k

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,316 words, ~2,520 tokens.

Download SKILL.mdSave it as .claude/skills/setup/SKILL.md (or your agent's skills folder). This skill also uses 40 other files; get the full folder from GitHub.
name
setup
description
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, GitHub Pages, and verification CI, with optional Zulip community synchronization. Use for new repositories, environment repair, publication setup, infrastructure checks, or an explicitly requested Zulip project sync; do not choose mathematical scope or build the roadmap and theorem DAG.

Set up an Autoform repository

Setup prepares the Lean toolchain, an empty blueprint vault, ignore rules, MkDocs, CI, and optionally publication. It does not scope sources, choose theorems, write roadmap nodes, or prove results; Roadmap owns that work.

Inspect before writing and preserve existing Lean, Markdown, workflow, and ignore files. Resolve AUTOFORM_PLUGIN_ROOT from the loaded plugin and inspect an existing project through the supported read-only entrypoint:

bash
AUTOFORM_PLUGIN_ROOT="<loaded-plugin-root>"
PROJECT="<existing-project>"
uv run --project "$AUTOFORM_PLUGIN_ROOT" autoform project inspect "$PROJECT" --json

Infer safe local defaults from the request and repository. If a material choice is missing, ask once for the run type (new, repair, or inspect), UpperCamelCase package name, target directory, and whether publication is wanted. Without explicit publication approval, make no remote changes. Setup prepares the shell and stops before mathematical planning.

Read the repo-shaped Cabannes thesis project as a concrete setup example. Reuse its structure selectively: rename the Lean package, keep the recommended release from autoform project versions unless the user needs another Lean version, update branch and immutable workflow pins, and merge rather than overwrite. Its populated thesis notes illustrate later skills; Setup does not reproduce that mathematics.

For a new repository, require a target directory that does not already exist, then create the complete local project atomically:

bash
AUTOFORM_PLUGIN_ROOT="<loaded-plugin-root>"
TARGET="<absent-target>"
PACKAGE="<UpperCamelCaseName>"
uv run --project "$AUTOFORM_PLUGIN_ROOT" autoform project new "$TARGET" --package "$PACKAGE"

Without version flags project new uses the recommended release from autoform project versions: a tested Lean/Mathlib pair whose resolved lake-manifest.json is bundled. Pass --release <RELEASE_ID> for another listed pair. If the user needs a different Lean version, pass --lean-toolchain <vX.Y.Z>; --mathlib-rev <REV> overrides the default Mathlib tag of the same name, and the toolchain must match the lean-toolchain of that Mathlib revision. Such a project is created without lake-manifest.json and with a warning: run lake update in it, which needs network access and downloads the Mathlib build cache, then commit the manifest it writes. Autoform needs Lean v4.27.0 or newer, and project new also warns below that. Every component of the target parent must be a real directory, not a symlink; on macOS use /private/tmp, not the /tmp alias. The parent must not be group- or world-writable unless it is a sticky directory owned by the user or root. If project new reports project-parent-unsafe, choose another parent or, with the user's agreement, remove that write access with chmod g-w,o-w.

project new writes the requested lean-toolchain and Mathlib revision (by default the recommended, locked catalog pair), the Lean shell, and the complete Autoform vault, site, ignore rules, and pinnable CI without running Lake, Lean, or network operations; no later init is needed. It never overwrites an existing target and fails closed on platforms without the required POSIX filesystem operations, including Windows. It pins generated workflows exactly as init does, described below, and omits them when there is no commit to pin; invoke init later through the same plugin-root launcher, passing the target and --autoform-ref <40-char-sha>. Do not invent workflow sources or revisions, and do not copy the populated example as a project generator.

For an incomplete existing repository, preserve its authored configuration and run autoform init through the same uv run --project "$AUTOFORM_PLUGIN_ROOT" prefix only for the Autoform vault/site repair overlay.

autoform init is the whole vault: blueprint/ with its landing page, roadmap/README.md, coverage/, and sources/, plus mkdocs.yml, the theme override, both workflows, and ignore rules. Do not hand-build any of it and do not copy the bundled example: the layout is fixed, and a chapter written as a sibling file instead of <chapter>/README.md still validates while publishing a book with no chapters. init preserves existing files, appending only missing Autoform rules through a retained bounded regular root .gitignore file, so it is also the repair path; it reports what it left alone. See the CLI reference for its flags.

init pins the generated workflows to the Autoform commit that ran it, using a safe remote only when a cached remote-tracking ref contains that commit. It prefers Autoform's canonical repository, then origin, then upstream, then a unique remaining source from the Autoform checkout it runs from or the marketplace checkout an installed plugin was copied from. It infers that pin only when tracked files are clean and the retained bounded, regular, link-free required template snapshot and scaffold renderer match the pinned commit in path, bytes, and executable-bit classification; an installed copy must also match its marketplace checkout. All identity and tree reads ignore local Git replacement objects. On any mismatch or when no remote has that local containment evidence, init writes no CI rather than guess a source or ref: guessing produced projects whose first push failed with nothing in the workflow to explain why. When it reports that, find the commit the plugin was installed from and pass --autoform-ref <40-char-sha>, or say plainly that CI was not configured. Never invent a ref. It must be a full 40-character commit sha: init refuses a branch, a tag, or an abbreviated sha, because CI would silently reinstall a different Autoform later and break a project that was passing.

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

The two workflows it writes are autoform-verify.yml, which validates the Markdown DAG, builds Lean, rejects unfinished or unsafe proofs, and audits theorem axioms on pull requests, and blueprint-pages.yml, which validates the DAG and its lean: declarations, renders the blueprint, builds MkDocs, and deploys GitHub Pages. Pass --autoform-ref to pin them at an immutable commit. It also writes .github/CODEOWNERS.autoform.example. GitHub does not read it, so it cannot mask active owners. Do not guess owners or activate it silently. With names the user gives, merge its rules into the first CODEOWNERS file GitHub reads, then require code-owner review, dismiss stale approvals, and audit bypasses. Report that new rules cannot protect their own activation unless equivalent coverage already exists on the pull request's base branch.

After it runs, fill in what only a human or a source can supply: the project description in blueprint/README.md, the coverage contract, and a verified repo_url. That URL is the formalization project's own repository, never AutoformBot's: Material renders it as the repository link in the site header, and pointing it at the plugin sends every reader to the wrong project. Pass --repository-url to autoform init, or leave the key out until the remote exists rather than guessing it. When a deployed site exists, feature its verified canonical URL in the root README.md, never an inferred or pending one.

Adding workflow files is a local repository edit. Creating a remote, pushing, or enabling Pages are separate outward-facing actions; perform them only when the user requests them. Pin third-party Actions and the Autoform CLI source to immutable commits.

Validate the prepared repository before reporting it ready. Build Lean first, then run the publication sequence:

bash
lake update          # only when the project has no lake-manifest.json
lake exe cache get   # skip only when the project has no Mathlib dependency
lake build

Then validate, visualize, render, and strict-build the site, keeping --require-declarations so a named Lean declaration that does not exist fails here rather than in CI. The exact invocations, including how to resolve <AUTOFORM_PLUGIN_ROOT>, are in the CLI reference; do not restate them here.

render writes a derived tree; the vault stays the source of truth. Ignore site-src/, site/, and blueprint/dependencies.md.

Publication is opt-in because files under blueprint/ become public site content, together with derived progress, graph pages, and a path-free publication manifest. Show that boundary, confirm the exact repository and visibility, default to private, and warn that private Pages may require a paid GitHub plan. Rendering rejects symlinks and operational or sensitive files. When approved, prepare the commit, remote, Pages source, and push; otherwise leave the workflow inert. If credentials, hosting, or repository settings block publication, report the minimal owner action required.

Zulip synchronization is a separate opt-in outward-facing action. When the user asks to discover community context or announce and coordinate the project, read and follow the shared Zulip workflow. Do not infer consent to post from repository setup, roadmap work, or permission to search.

Report the Lean toolchain, vault path, CI and Pages files, validation results, the publication decision, and any one-time GitHub setting the user must still apply. State explicitly that no sources were scoped, roadmap nodes created, or proofs started, then hand the repository to Roadmap.

© 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 40 other files (references, assets) in skills/setup of facebookresearch/autoform-bot.

  • SKILL.md
  • agents/openai.yaml
  • assets/cabannes-thesis-project/.github/CODEOWNERS.autoform.example
  • assets/cabannes-thesis-project/.github/autoform_audit.py
  • assets/cabannes-thesis-project/.github/workflows/autoform-verify.yml
  • assets/cabannes-thesis-project/.github/workflows/blueprint-pages.yml
  • assets/cabannes-thesis-project/.gitignore
  • assets/cabannes-thesis-project/README.md
  • assets/cabannes-thesis-project/blueprint/.gitignore
  • assets/cabannes-thesis-project/blueprint/README.md
  • assets/cabannes-thesis-project/blueprint/coverage/README.md
  • assets/cabannes-thesis-project/blueprint/javascripts/mathjax.js
  • assets/cabannes-thesis-project/blueprint/roadmap
  • … and 28 more

Open the folder on GitHubat commit cc7e3a8

Compare with similar skills

Setup 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.

Setup compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Setup this skillfacebookresearch/autoform-bot117—~2.5kAutomated safety check: PassMIT
Release NotesRAIT-09/obsidian-agent-client2.4k—~4.2kAutomated safety check: PassApache-2.0
Store Submitzhitongblog/solomd1.2k—~1.7kAutomated safety check: NotesMIT
Lov Any2pdflovstudio/any2pdf211—~2.4kAutomated safety check: NotesMIT
Triageflowershow/flowershow1.1k—~1.9kAutomated safety check: PassAGPL-3.0
Swarmvaultswarmclawai/swarmvault708—~6.1kAutomated safety check: PassMIT

Similar skills

  • Release Notes

    RAIT-09/obsidian-agent-client

    Generate a GitHub release note draft for this Obsidian plugin repository.

    2.4k GitHub stars~4.2k tokensUpdated 5 days ago
    DevelopmentAuto-check passed
  • Store Submit

    zhitongblog/solomd

    Publish a SoloMD release to the stores that have no usable submission API — Google Play Console and Microsoft Partner Center — by driving them through the local Unzoo Browser REST API.

    1.2k GitHub stars~1.7k tokensUpdated today
    DevelopmentAuto-check: notes
  • Lov Any2pdf

    lovstudio/any2pdf

    Convert Markdown documents to professionally typeset PDF files with reportlab.

    211 GitHub stars~2.4k tokensUpdated 1 mo ago
    Documents & OfficeAuto-check: notes
  • Triage

    flowershow/flowershow

    Automatically triage a newly opened GitHub issue — categorise it, verify the claim, and apply the right category and state so a maintainer or agent can pick it up.

    1.1k GitHub stars~1.9k tokensUpdated yesterday
    DevOps & CloudAuto-check passed
  • Swarmvault

    swarmclawai/swarmvault

    Use SwarmVault when the user needs a local-first knowledge vault that writes durable markdown, graph, search, dashboard, review, chat-session, context-pack, task-ledger, static AI export, retrieval…

    708 GitHub stars~6.1k tokensUpdated 3 mo ago
    Knowledge ManagementAuto-check passed
  • Competitor Feedback

    zhitongblog/solomd

    Scan competing markdown editors' user feedback (GitHub issues/discussions/releases + closed-source forums) and synthesize themes cross-referenced against SoloMD's own gaps and roadmap.

    1.2k GitHub stars~1.2k tokensUpdated today
    Knowledge ManagementAuto-check: notes

More from facebookresearch/autoform-bot

  • 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 today
    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 today
    Auto-check passed
  • Develop Plugin

    facebookresearch/autoform-bot

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

    117 GitHub stars~417 tokensUpdated today
    Auto-check passed
  • Formalize

    facebookresearch/autoform-bot

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

    117 GitHub stars~2.5k tokensUpdated today
    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 today
    Auto-check passed

Works with

Questions about Setup

What does Setup do?

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…. Setup is an agent skill from 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, GitHub Pages, and verification CI, with optional Zulip community synchronization.

When should I use Setup?

Setup fits situations like: new repositories; environment repair; publication setup; infrastructure checks.

How do I install Setup in Claude Code?

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

How do I install Setup in Codex?

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

Can I use Setup 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 setup -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/setup, .gemini/skills/setup, .github/skills/setup and .opencode/skills/setup in your project.

What does Setup need to run?

Going by SKILL.md and its folder, Setup needs Python and JavaScript for the scripts in its folder and the command-line tools its instructions call (uv). Our summary lists: Python 3; Node.js.

Does Setup access the network?

SKILL.md contains no URLs. Its commands use uv, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Setup 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 Setup use?

Setup 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 Setup 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. Its references folder adds about 495 tokens, read only when the agent opens those files.

What are the alternatives to Setup?

Skills that share tags, products or a category with Setup: Release Notes (RAIT-09/obsidian-agent-client, 2.4k stars), Store Submit (zhitongblog/solomd, 1.2k stars), Lov Any2pdf (lovstudio/any2pdf, 211 stars) and Triage (flowershow/flowershow, 1.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Setup?

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.