Lean PR Conventions

SkillCommunication

PR conventions for the leanprover/lean4 repository. Use when creating pull requests, writing commit messages, or following project conventions for Lean contributions.

Use Lean PR Conventions in Claude, ChatGPT or Ahel Desktop

Free. Sign in, add Lean PR Conventions and connect your AI. About a minute.

Also: Claude Code · Cursor · Codex

Then ask your AI: use the Lean PR Conventions skill

Details

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

Add Ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.

Lean PR ConventionsStart free

What this skill tells your AI

The instructions your AI receives, as published by leanprover/skills in skills/lean-pr/SKILL.md and read by Ahel’s review.

Commit Message Format

All PR titles must follow the format:

<type>: <subject>

<type> is one of:

  • feat — feature
  • fix — bug fix
  • doc — documentation
  • style — formatting
  • refactor
  • test — adding missing tests
  • chore — maintenance
  • perf — performance improvement

<subject>: imperative present tense, lowercase, no period.

For feat/fix PRs, begin the description with "This PR " — the first paragraph is automatically used in release notes.

Changelog Labels

Every feat or fix PR must have a changelog-* label:

LabelCategory
changelog-languageLanguage features and metaprograms
changelog-tacticsUser-facing tactics
changelog-serverLanguage server, widgets, and IDE extensions
changelog-ppPretty printing
changelog-libraryLibrary
changelog-compilerCompiler, runtime, and FFI
changelog-lakeLake
changelog-docDocumentation
changelog-ffiFFI changes
changelog-otherOther changes
changelog-noDo not include in changelog

Module System for src/ Files

Files in src/Lean/, src/Std/, and src/lake/Lake/ must have both module and prelude declarations. With prelude, nothing is auto-imported — you must explicitly import Init.* modules.

module

prelude
import Init.While
import Init.Data.String.TakeDrop
public import Lean.Compiler.NameMangling

Check existing files in the same directory for the pattern.

Files outside these directories (e.g. tests/, script/) use just module.

Copyright Headers

New files in src/ require a copyright header:

/-
Copyright (c) YYYY Author or Organization. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Author Name
-/

Check other recent files in the repository to determine the correct copyright holder. Test files (in tests/) do not need copyright headers.

PR Conventions

Keep descriptions concise:

  • Start with a paragraph beginning "This PR ..." — no section headers
  • No "## Summary" header — just start with the text
  • No "Test plan" section — we rely on CI
  • No "Implementation details" section — the code speaks for itself

Signals

GitHub stars
73
Forks
2
Last commit
Feb 2026
Advanced
Item type
skill
Key
lean-pr
Source
github.com/leanprover/skills