跳到正文
cccskills
免费在 GitHub 公开

commit

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.

中文简介正在准备中。当前显示原文说明。

davej/pocodex星标 76(GitHub 76 + cccskills 0)

实测评分 未实测

查看安装方法

包含的文件(2)

  • SKILL.md3.6 KB
  • agents/openai.yaml186 B

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

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

  1. 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.
  2. Exclude unrelated user changes. Do not stage or commit files outside the requested scope.
  3. Run pnpm run check:commit before committing. If it fails, fix the issues or report the blocker instead of committing a broken tree.
  4. Stage only the intended files with git add <path>....
  5. Write a Conventional Commit message that accurately describes the staged diff.
  6. 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.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

报告此技能的问题