Lean PR Conventions
SkillCommunicationPR 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.
Account requirements not reviewed. Check the skill instructions before use; Ahel provides instructions and does not run this skill.
No other account needed.
Add Ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
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— featurefix— bug fixdoc— documentationstyle— formattingrefactortest— adding missing testschore— maintenanceperf— 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:
| Label | Category |
|---|---|
changelog-language | Language features and metaprograms |
changelog-tactics | User-facing tactics |
changelog-server | Language server, widgets, and IDE extensions |
changelog-pp | Pretty printing |
changelog-library | Library |
changelog-compiler | Compiler, runtime, and FFI |
changelog-lake | Lake |
changelog-doc | Documentation |
changelog-ffi | FFI changes |
changelog-other | Other changes |
changelog-no | Do 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
More in Communication
Skill · anthropics
More in Communicationerror-handling
Skill · affaan-m
More in Communicationemails
Skill · coreyhaines31
More in Communicationwait-what
Skill · mattpocock
More in Communicationcold-email
Skill · coreyhaines31
More in Communicationazure-messaging
Skill · microsoft
More in Communication