跳到正文
cccskills
免费在 GitHub 公开

commit-planner

Split a dirty working tree into single-concern Conventional Commits. The deterministic inventory.mjs helper groups dirty paths by concern (docs, source + paired test, config, governance); main context refines the grouping and presents a commit plan. Read-only until the user approves the plan — it never stages, never commits, never touches consent paths. Disjoint from the commit skill (Phase 11 executor): the planner proposes a split; the executor lands one consented commit. Use when a working tree has accumulated heterogeneous changes that should not land as one commit.

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

查看安装方法

包含的文件(2)

  • SKILL.md3.6 KB
  • inventory.mjs6.0 KB

SKILL.md(原文)

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

commit-planner — single-concern commit splitting

A dirty tree with mixed concerns (a hook fix, a docs edit, an unrelated config tweak) should not land as one commit. This skill proposes a split into single-concern Conventional Commits groups and stops. Execution stays with /commit (Phase 11) under the normal consent gates — one approved group at a time.

This skill is a generator, not a workflow phase. It enters no Track Guard ordering, blocks nothing, and writes nothing outside its report. It is read-only until the user approves the plan, and even then it only hands the approved grouping to the normal commit path.

Method

1. Inventory the dirty tree

Run git status --porcelain and collect {path, status} entries (untracked included). Do not stage anything.

2. Group deterministically

Feed the entries to the helper:

node .claude/skills/commit-planner/inventory.mjs group --json   # wraps inventory.mjs -> groupDirtyTree

groupDirtyTree(entries) is pure and deterministic — no fs, no git, no clock; the same entries (in any order) produce the same groups. Each group carries:

  • type — the Conventional Commit type the group's paths imply (docs, test, chore, feat/fix candidates surface as src-typed groups for main context to refine).
  • scope — a path-derived scope hint (top-level dir or hook/skill slug), or null.
  • paths — the group's member paths. Every input path appears in exactly one group (partition).

Pairing rule: a source file and its paired test (conventional mapping, e.g. .claude/hooks/foo_guard.mjs ↔ tests/foo-guard.test.mjs) always land in the SAME group — a commit that changes behavior carries its test.

3. Refine in main context

The helper's grouping is mechanical. Main context (Article II — decisions live here) refines it: merge groups that are one logical change, pick the final type(scope): subject per group, order the groups (dependencies first), and flag any group that intersects governance surfaces (CLAUDE.md, docs/init/**, .claude/hooks/**) for extra review.

4. Present the plan and stop

Present the ordered plan — one line per proposed commit: type(scope): subject + the paths. Then STOP. Do not stage, do not invoke /commit, do not request consent. The user approves, edits, or discards the plan; landing each group goes through the normal /grant-commit → /commit path (or the active workflow's gate C).

Constraints

  • Read-only. No git add, no git commit, no writes to .claude/state/ consent paths, no workflow.json changes.
  • Disjoint from commit. This skill plans; /commit executes. Never chain them autonomously.
  • The helper is the Foundation; you are the Domain. Never hand-partition paths when inventory.mjs can; never let the helper's mechanical grouping override an obvious logical coupling — refining is your job.
  • Article VII holds. The plan must never propose git add -A/git add . — groups name their paths explicitly.

评价

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

评论

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

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

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

0 / 1000 字

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

同一仓库的技能

archive

免费

Phase 10.5 — move the slug's workflow artifacts (intake, scout, research, spec, approvals, swarm state, security reports, rendered diagrams) to docs/archive/<YYYY-MM-DD>/<slug>/. Runs before /commit so the committed tree is clean of work-in-flight files. workflow.json stays live and gets archived as the first step of /commit.

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

friedbotstudio/baseline142026年10月13日 更新

Drift check between the baseline implementation on disk and the claims in `docs/init/seed.md` + cross-references in CLAUDE.md, README.md, and the rendered docs site. Verifies hook/agent/skill/command names + counts, settings.json wiring, project.json key presence, .mcp.json servers, vendored license files, and helper script presence. Exit 0 PASS / 1 FAIL — suitable for CI. Read-only; safe to invoke any time.

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

friedbotstudio/baseline142026年10月13日 更新

PM-mode brainstorm helper. Captures the requirement via Socratic dialogue before any entry phase (`/intake`, `/spec`, `/tdd`) drafts its artifact. Stage 0 skip-check, Stage 1 gap-analysis, Stage 2 probe-loop, Stage 3 confirm-and-persist. Output lives at `docs/brief/<slug>.md`. Never proposes solutions — Stage 2 dialogue discipline is structurally enforced via `discipline.mjs`.

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

friedbotstudio/baseline142026年10月13日 更新

brd

免费

Draft a Business Requirements Document (BRD) for cross-functional or stakeholder-heavy work that needs more structure than an intake. Use after `/intake` when the request spans multiple systems/teams, carries regulatory weight, or needs formal sign-off. Output lives at `docs/brd/<slug>.md`.

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

friedbotstudio/baseline142026年10月13日 更新

chore

免费

Workflow track for tasks that need no TDD — documentation edits, governance count bumps, vendored-skill content updates, configuration tweaks, formatting, typo fixes, dependency bumps where no project code changes. Skips `/scenario` and `/implement` (no failing test to drive) and runs the work directly. `archive`, `memory-sync`, `/grant-commit`, and `/commit` remain mandatory. `verify`, `simplify`, `integrate`, and `document` are conditional — required when the diff hits one of the listed triggers, optional otherwise. `verify` is skipped only when the diff is pure-docs/prose AND `project.json → test.kind` is `behavior` (absent/invalid `test.kind` → `structural` → verify runs). Chore is a stripped-down pipeline, not a bypass; never silently skip a conditional phase whose triggers apply.

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

friedbotstudio/baseline142026年10月13日 更新

Analyze a codebase and recommend Claude Code automations (hooks, subagents, skills, plugins, MCP servers). Use when user asks for automation recommendations, wants to optimize their Claude Code setup, mentions improving Claude Code workflows, asks how to first set up Claude Code for a project, or wants to know what Claude Code features they should use.

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

friedbotstudio/baseline142026年10月13日 更新

查看 friedbotstudio 的全部技能

报告此技能的问题