# Conventional Pr Titles

> Use when opening a pull request or writing a PR title in this repo. PRs are squash-merged, so the PR title becomes the commit message release-please parses — a non-conventional title silently produces no release.

- Skill: `victorstein/conventional-pr-titles` (Agent Skill)
- Install (CLI): `npx skillmds@latest add victorstein/conventional-pr-titles`
- Raw SKILL.md: https://api.skillmd.com/api/skills/victorstein/conventional-pr-titles/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: victorstein (https://skillmd.com/u/victorstein)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/victorstein/conventional-pr-titles

---


<!-- Managed by stein-infra (tofu/shared-claude.tf); edits here are overwritten on the next apply. -->

# Conventional PR titles

This repo squash-merges PRs, and the **PR title becomes the squash commit
message** that release-please parses. Get the title wrong and the release just
doesn't fire.

Title format: `<type>(<optional-scope>): <subject>`

Allowed types: `feat` `fix` `chore` `docs` `ci` `refactor` `perf` `test` `build` `style` `revert`

- `feat:` → minor bump
- `fix:` → patch bump
- everything else → no release (correct for non-shipping changes)

Examples:
- `feat(auth): add token refresh`
- `fix: handle empty cursor`
- `chore: bump dependencies`

Subject: imperative mood, lowercase, no trailing period.

