Skip to content
cccskills
FreePublished on 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.

The English summary is being prepared. Showing the original description.

See how to install

Files included (3)

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

SKILL.md (original)

Review the instructions the agent will receive before you install.

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.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

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.

The English summary is being prepared. Showing the original description.

foyzulkarim/skills43Updated Sep 4, 2026

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.

The English summary is being prepared. Showing the original description.

foyzulkarim/skills43Updated Sep 4, 2026

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.

The English summary is being prepared. Showing the original description.

foyzulkarim/skills43Updated Sep 4, 2026

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.

The English summary is being prepared. Showing the original description.

foyzulkarim/skills43Updated Sep 4, 2026

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.

The English summary is being prepared. Showing the original description.

foyzulkarim/skills43Updated Sep 4, 2026

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.

The English summary is being prepared. Showing the original description.

foyzulkarim/skills43Updated Sep 4, 2026

See all skills by foyzulkarim

Report a problem with this skill