# Commit Message

> Format a conventional commit message for ts-libs. Use when writing or reviewing a commit message.

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

---


# Commit Message

Format: **Conventional Commits**

```
<type>(<scope>): <description>
```

## Types

`feat` · `fix` · `refactor` · `test` · `docs` · `chore` · `ci` · `perf`

## Scope

Use the library name or area: `logs`, `errors`, `ci`, `deps`, `nx`, etc.

## Rules

- Description: imperative mood, lowercase, no trailing period
- Max ~72 chars for the first line
- Add a body only when the WHY is non-obvious

## Examples

```
feat(logs): add LocalTracer.withUpdatedContext
fix(errors): handle undefined message in serialize
chore(deps): bump typescript to 7.1.0
ci: parallelize lint and typecheck jobs
test(logs): add unsubscribe edge case
```

## Footer

For breaking changes:

```
feat(logs): rename listen to subscribe

BREAKING CHANGE: `listen` is now `subscribe`
```

