Commit
Overview
Use this skill when a user asks for a commit or asks how a commit should be written for Pocodex. The goal is to produce a clean, policy-compliant git commit that matches the actual diff and works with release-please.
Workflow
- Inspect the worktree with
git status --short and git diff --stat, then read the diff for the files that are actually part of the requested change.
- Exclude unrelated user changes. Do not stage or commit files outside the requested scope.
- Run
pnpm run check:commit before committing. If it fails, fix the issues or report the blocker instead of committing a broken tree.
- Stage only the intended files with
git add <path>....
- Write a Conventional Commit message that accurately describes the staged diff.
- Commit with
git commit. Prefer a single -m subject for small changes, or add a body when the why matters.
Commit Rules
- Use Conventional Commits because
release-please derives release notes and version bumps from merged commit history.
- Preferred types in this repo:
feat, fix, refactor, docs, test, build, ci, chore.
- Use an optional scope when it improves clarity, for example
feat(server): ... or fix(bootstrap): ....
- Use the imperative mood in the subject line.
- Keep the subject specific to the staged diff. Do not write broad summaries that cover unstaged work.
- Mark breaking changes with
! in the header and include a BREAKING CHANGE: footer in the body.
- Avoid placeholder types such as
update, misc, or changes.
Message Shape
Use this shape:
type(scope): short summary
Optional explanatory body.
BREAKING CHANGE: required when behavior or API compatibility changes.
Choosing The Type
feat: user-visible behavior or capability added
fix: bug fix or regression fix
refactor: internal restructuring without intended behavior change
docs: README, CONTRIBUTING, skills, or other documentation-only changes
test: test-only changes
build: packaging, dependencies, or build tooling
ci: GitHub Actions or other automation pipeline changes
chore: maintenance that does not fit the above and should not usually trigger a release note highlight
Examples
feat: add LAN URL fallback for remote browser sessions
fix(server): ignore malformed ipc payloads
build: add release-please automation
docs(commit): document conventional commit policy
refactor(app-server-bridge): inline typed event overloads
Guardrails
- Do not commit unrelated local edits just because they are present in the worktree.
- Do not bypass the
commit-msg or pre-commit hooks unless the user explicitly asks.
- If the diff contains multiple unrelated concerns, split them into separate commits instead of forcing one message to cover everything.
- If you are unsure whether a change is release-relevant, still use the most accurate Conventional Commit type.
release-please can decide whether it should cut a release.
Command Pattern
For a normal commit flow in this repo:
git status --short
git diff --stat
pnpm run check:commit
git add <intended files>
git commit -m "type(scope): summary"
Run pnpm run check separately when you want the full validation pass, including tests. Add a second -m body when the rationale, migration notes, or breaking-change context matters.
Source: davej/pocodex — distributed by TomeVault.
1---2name: commit-73description: Use when asked to prepare, review, or create a git commit for this repository. Follow the local commit policy, keep commits scoped to the intended changes, run the fast required checks, and write Conventional Commits that work with release-please.4---56# Commit78## Overview910Use this skill when a user asks for a commit or asks how a commit should be written for Pocodex. The goal is to produce a clean, policy-compliant git commit that matches the actual diff and works with `release-please`.1112## Workflow13141. Inspect the worktree with `git status --short` and `git diff --stat`, then read the diff for the files that are actually part of the requested change.152. Exclude unrelated user changes. Do not stage or commit files outside the requested scope.163. Run `pnpm run check:commit` before committing. If it fails, fix the issues or report the blocker instead of committing a broken tree.174. Stage only the intended files with `git add <path>...`.185. Write a Conventional Commit message that accurately describes the staged diff.196. Commit with `git commit`. Prefer a single `-m` subject for small changes, or add a body when the why matters.2021## Commit Rules2223- Use Conventional Commits because `release-please` derives release notes and version bumps from merged commit history.24- Preferred types in this repo: `feat`, `fix`, `refactor`, `docs`, `test`, `build`, `ci`, `chore`.25- Use an optional scope when it improves clarity, for example `feat(server): ...` or `fix(bootstrap): ...`.26- Use the imperative mood in the subject line.27- Keep the subject specific to the staged diff. Do not write broad summaries that cover unstaged work.28- Mark breaking changes with `!` in the header and include a `BREAKING CHANGE:` footer in the body.29- Avoid placeholder types such as `update`, `misc`, or `changes`.3031## Message Shape3233Use this shape:3435```text36type(scope): short summary3738Optional explanatory body.3940BREAKING CHANGE: required when behavior or API compatibility changes.41```4243## Choosing The Type4445- `feat`: user-visible behavior or capability added46- `fix`: bug fix or regression fix47- `refactor`: internal restructuring without intended behavior change48- `docs`: README, CONTRIBUTING, skills, or other documentation-only changes49- `test`: test-only changes50- `build`: packaging, dependencies, or build tooling51- `ci`: GitHub Actions or other automation pipeline changes52- `chore`: maintenance that does not fit the above and should not usually trigger a release note highlight5354## Examples5556- `feat: add LAN URL fallback for remote browser sessions`57- `fix(server): ignore malformed ipc payloads`58- `build: add release-please automation`59- `docs(commit): document conventional commit policy`60- `refactor(app-server-bridge): inline typed event overloads`6162## Guardrails6364- Do not commit unrelated local edits just because they are present in the worktree.65- Do not bypass the `commit-msg` or `pre-commit` hooks unless the user explicitly asks.66- If the diff contains multiple unrelated concerns, split them into separate commits instead of forcing one message to cover everything.67- If you are unsure whether a change is release-relevant, still use the most accurate Conventional Commit type. `release-please` can decide whether it should cut a release.6869## Command Pattern7071For a normal commit flow in this repo:7273```bash74git status --short75git diff --stat76pnpm run check:commit77git add <intended files>78git commit -m "type(scope): summary"79```8081Run `pnpm run check` separately when you want the full validation pass, including tests. Add a second `-m` body when the rationale, migration notes, or breaking-change context matters.8283---84> Source: [davej/pocodex](https://github.com/davej/pocodex) — distributed by [TomeVault](https://tomevault.io).85<!-- tomevault:4.0:skill_md:2026-06-21 -->