agentleFS
michael-palmesmichael-palmes/kookaburra-cut/.agents/skills/kookaburra-commit/SKILL.md

kookaburra-commit

Skill9 starsChanged 9 days agoApache-2.0View on GitHub

Plans and creates git commits for the Kookaburra Cut repo. Reviews uncommitted changes for red flags, groups them into logical conventional commits and executes them. Use for every commit in this repo, whenever asked to "commit", "commit my changes", "plan commits", "review and commit", or before opening a PR. Project-scoped distillation of ps-commit.

The file

Files
SKILL.md

kookaburra-commit

Reviews all uncommitted changes, groups them into logical conventional commits and executes them. Every commit in this repo goes through this flow; never hand-roll git commit for substantive changes. Do not push unless asked.

When to use

  • Any time work in this repo needs committing, including before opening a PR
  • The user says "commit", "plan commits" or "review and commit"

Instructions

  1. Gather. git status, git diff HEAD --stat, git ls-files --others --exclude-standard, then read the full git diff HEAD and any untracked files. Nothing to commit: say so and stop. Merge conflicts: ask the user to resolve first and stop.
  2. Validate. pnpm lint always; pnpm build when TypeScript changed; pnpm vitest related --run <changed src files> when src/ changed. Fix and rerun until clean. Never run full suites or verifies here: CI runs every hermetic test on push, and pnpm ready runs the verifies a branch needs once before its PR (docs/determinism.md, "Gate tiers").
  3. Light review. Scan the diff for red flags before planning:
    • Focus drift (the Focus section of AGENTS.md): data or network leaving the Mac without explicit consent, weakened trust checks on imported projects, packs or web content, a flow with no default or no next step, slideshow-looking output, or wordy copy. Report each with the fix the Focus implies; where goals clash, its order decides (protect the user, exact exports, simplicity, polish)
    • Determinism: wall-clock APIs (Date.now, performance.now, new Date, requestAnimationFrame, setTimeout) in scenes, engine or toolkit; drive motion from useTimeline() instead
    • Hard-coded colours, type or motion in scenes; use useTheme() tokens instead
    • Licensed assets staged: nothing under src/assets/models/licensed/ is ever committed
    • Absolute paths or remote URLs in scene files; use the project assets/ folder
    • Leftover debug output (console.log, debugger), secrets, dead code, TODO without an owner
    • Accidental files: .DS_Store, dist/, node_modules/, export output
    • House writing rules broken: em dashes, multi-line comments, comments that restate the code
    • Private workspace names (this leaked once and forced a history rewrite of a pushed PR): nothing from the user's own ~/Kookaburra Cut projects may land in code, tests, fixtures, docs, skills or messages, so no project, folder or scene names, slugs, on-screen copy, product, client or people's names, or local paths. Run the check below (the same one pnpm ready runs): it matches every added and untracked line against the project folder names on this Mac and the leak shapes in scripts/workspace-denylist.txt, and already skips the gate fixtures CLAUDE.md and docs/determinism.md name and the *-spike projects. Every hit is a finding, fixed by swapping in a neutral placeholder (product-tour, "Highlights", /Users/x); a new shape of leak goes into the denylist as a regex, never as a name. The folder check can't see scene copy or product names, so also grep for the names of any workspace project opened this session.
      node scripts/workspace-names.mjs
  4. Group into commits. One logical change per commit; split unrelated work, never split one cohesive change. Tests stage with the source they cover. Messages: type: subject, lowercase imperative, under 72 characters, no scope, no body. Types: feat, fix, docs, refactor, perf, test, chore, ci, build, revert.
  5. Approve or auto-commit. A single commit with no review findings commits straight away; report what was committed. Multiple commits or any finding: present the findings and the plan (message plus files per commit) and wait for approval.
  6. Execute. git reset HEAD first, then per commit: git add -- <files> (hunk-split with git add -p when one file spans commits), verify with git diff --cached --stat, then git commit -m "...". If a hook rejects the commit, stop and show its output; never retry with --no-verify.
  7. Verify. git log --oneline -n <count> and git status; report anything left uncommitted and why.

Edge cases

  • Ambiguous hunk ownership: ask, do not guess
  • Aborted mid-plan: stop; git reset --soft HEAD~N undoes the last N commits
  • Binary assets: stage by name, never diff, and check they are meant to be committed (see the licensed-assets rule above)

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.