跳到正文
cccskills
免费在 GitHub 公开

commit

One-shot conventional commit; bundled scripts adaptively gather diff context, draft the message, and stage+commit — pass `ask` to confirm first or add a hint for the title. Use only when the user asks for a commit.

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

查看安装方法

包含的文件(3)

  • SKILL.md3.1 KB
  • commit.sh1.7 KB
  • gather.sh4.6 KB

SKILL.md(原文)

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

Commit

Commit the current changes with a conventional message. Two bundled scripts own every git inspection and mutation — run no other git commands.

Arguments: the optional word ask (confirm mode) and/or a message hint for the title (e.g. /commit ask fix null check in auth). Without ask, resolve all ambiguity yourself and pause for nothing.

Steps

1. Gather

{base_directory}/gather.sh

Prints branch, extracted task number (NONE if none), status, sensitive files (auto-excluded later), full diffstat, recent commits, and an adaptively sized diff. Read it once — never re-run git to "see more"; the script already chose what matters.

If it prints NOTHING_TO_COMMIT, say so and stop.

2. Draft

Compute every field silently from the blob:

  • Type — feat (new functionality), fix (corrects behavior), refactor (restructure, no behavior change), docs (only .md), test (only tests), chore (config/deps/tooling), style (formatting), ci (CI config). Mixed signals → pick the dominant one.
  • Task number — TASK_NUMBER from the blob. If NONE, omit the (scope) and the Refs: trailer entirely. Never invent one, never leave one blank.
  • Title — imperative mood, total header ≤72 chars. Base on the hint if given.
  • Description — 1–3 specific sentences: what changed and why.

Write it to a temp file unique to this checkout — parallel worktrees each run their own /commit, and a shared fixed path races. Use /tmp/commit-msg-{task-number}.txt; when TASK_NUMBER is NONE, use /tmp/commit-msg-{branch}.txt with / replaced by -:

cat > /tmp/commit-msg-{task-number}.txt <<'EOF'
{type}({task-number}): {title}

{description}

Refs: {task-number}
EOF

3. Commit

Default (no ask): run immediately, with no narration between tool calls.

With ask: show the draft message and the status list, then ask "Commit this? (yes / edit / only <files> / cancel)". Apply any edit or file selection, then run.

{base_directory}/commit.sh /tmp/commit-msg-{task-number}.txt [file ...]

No file args → stages everything. File args (ask mode) → stages only those. Either way the script drops sensitive files and embedded git repositories (nested worktrees, stray clones — real submodules are kept), then commits with hooks running.

  • Hook failure → report the script output and stop. No workarounds.
  • NOTHING_STAGED → everything was excluded; report and stop.

Report

≤3 lines: the commit header, anything excluded, confirmation that it's committed. Do not re-print the message body.

You Must NOT

  • Run git add or git commit yourself — the scripts own all mutation.
  • Use --no-verify or bypass hooks in any way.
  • Push to remote or run tests — not this skill's job.
  • Ask questions in default mode — ask is the only interactive path.

评价

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

评论

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

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

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

0 / 1000 字

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

同一仓库的技能

Retire a closed issue's working artifacts out of specs/ into the GitHub wiki. Use only when the user asks to archive a finished issue, empty out specs/ for a done task, or move an issue's requirements/architecture/tasks/review/QA docs to the wiki.

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

foyzulkarim/skills432026年9月4日 更新

Executes a QA specification (specs/qa/QA-<N>-<slug>.md) written by /plan-qa: drives every step with the plan's drivers, verifies each Expected line mechanically ([assert]) or by evidence-backed judgment against the plan's written criterion ([judge]), pauses at named operator handoffs, and writes the results artifact QA-RESULTS-<N>-<slug>.md. Use only when the user asks to run or execute a QA plan — never trigger automatically.

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

foyzulkarim/skills432026年9月4日 更新

After an issue's PR has squash-merged on GitHub and its issue has closed: fast-forward the default branch, remove the issue-numbered nested worktree (.worktrees/<issue#>), and delete the local feature branch. Use when the user says to finish, tear down, or clean up a lane or worktree for a merged issue.

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

foyzulkarim/skills432026年9月4日 更新

Phase 3 of 5 — slices the ARCH doc into verification-ready task specs (tdd/test-after/ui/checklist), emitted as a separate TASKS-<N>-<slug>.md file alongside ARCH for the implement skill. Use only when the user asks to run Phase 3 or generate tasks from an ARCH doc — never trigger automatically.

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

foyzulkarim/skills432026年9月4日 更新

implement

免费

Phase 4 of 5 — implements tasks from TASKS-<N>-<slug>.md (with ARCH-<N>-<slug>.md as architecture-only context) using mode-appropriate verification (tdd, test-after, ui, checklist); pass 'auto' to run without stepping. Use only when the user asks to run Phase 4 or implement tasks from an ARCH doc — never trigger automatically from a coding request.

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

foyzulkarim/skills432026年9月4日 更新

After /start-task: park the current clean, pushed feature branch in its own issue-numbered nested worktree (.worktrees/<issue#>) and return the primary checkout to current main, so the next parallel lane can start. Use when the user says to move the branch or task to a worktree or open a parallel lane.

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

foyzulkarim/skills432026年9月4日 更新

查看 foyzulkarim 的全部技能

报告此技能的问题