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.
In this repository11 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- kookaburra-background-authoringSkill
- kookaburra-brand-packsSkill
- kookaburra-export-presetsSkill
- kookaburra-lighting-authoringSkill
- kookaburra-pr-descriptionsSkill
- kookaburra-releaseSkill
- kookaburra-scene-authoringSkill
- kookaburra-skill-creatorSkill
- kookaburra-video-editingSkill
The file
Files
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
- Gather.
git status,git diff HEAD --stat,git ls-files --others --exclude-standard, then read the fullgit diff HEADand any untracked files. Nothing to commit: say so and stop. Merge conflicts: ask the user to resolve first and stop. - Validate.
pnpm lintalways;pnpm buildwhen TypeScript changed;pnpm vitest related --run <changed src files>whensrc/changed. Fix and rerun until clean. Never run full suites or verifies here: CI runs every hermetic test on push, andpnpm readyruns the verifies a branch needs once before its PR (docs/determinism.md, "Gate tiers"). - 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 fromuseTimeline()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 Cutprojects 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 onepnpm readyruns): it matches every added and untracked line against the project folder names on this Mac and the leak shapes inscripts/workspace-denylist.txt, and already skips the gate fixturesCLAUDE.mdanddocs/determinism.mdname and the*-spikeprojects. 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
- Focus drift (the Focus section of
- 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. - 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.
- Execute.
git reset HEADfirst, then per commit:git add -- <files>(hunk-split withgit add -pwhen one file spans commits), verify withgit diff --cached --stat, thengit commit -m "...". If a hook rejects the commit, stop and show its output; never retry with--no-verify. - Verify.
git log --oneline -n <count>andgit status; report anything left uncommitted and why.
Edge cases
- Ambiguous hunk ownership: ask, do not guess
- Aborted mid-plan: stop;
git reset --soft HEAD~Nundoes 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)
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
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.

