Git Finalization Skill
Turns an approved implementation into a verified task commit. Prepares everything; executes the commit only when the user explicitly asks.
When to Use
- Right after a valid
APPROVED(finalization: documentation updates + gate) — invoked from the codex-review flow. - The
commitaction (stageready_for_commit). - Resuming into
ready_for_commit.
Inputs
- Approved state (fingerprint recorded),
docs/ai-context/TASK_PLAN.md, the actual diff,bin/frappe-workflow git inspect/changed-files.
Outputs
- Finalized docs:
docs/ai-context/FEATURE_CHANGELOG.mdupdated (feature-changelog skill),docs/ai-context/PROJECT_CONTEXT.mdwhen architecture changed (project-context skill),docs/ai-context/TASK_PLAN.mdstatuscodex_approved+ review record. - A prepared commit: Conventional Commit subject (+ optional body), exact
git add -- <path>commands, excluded-files list. - After user-requested execution: verified commit, hash/subject recorded,
stage
committed.
Procedure
Gate: references/finalization-gate.md. Message: references/conventional-commits.md. Staging: references/task-file-staging.md.
Preconditions
bin/frappe-workflow validate finalization-gatepasses (approval valid, fingerprint matches, secret scan clean).
Stopping Conditions
- Commit executed and verified → record hash/subject,
state transition committed, hand to the deployment question. Done. - User has not asked to execute → stop after presenting the prepared commit; the workflow waits.
- Unrelated files already staged → stop and report (never commit around them).
Prohibited
git add ./-Ain any form; staging.claude/machine-local state (deployment.local.json,task-workflow.lock) or unrelated files.- Executing the commit without an explicit user request this session.
--amend(unless the user explicitly asks and nothing was pushed), force-push, AI attribution (Co-Authored-By,Claude,Codex,AI-generated) in the message.- Updating documentation outside this finalization window.
Shared Rules
git-safety-rules.md, security-rules.md, shared-workflow-rules.md.