finalize

eihli's avatarfrom eihli

Wrap-up checklist after completing work. Use when: (1) user says "finalize", "wrap up", "are you done?", "did you commit?", or similar, (2) before handoff/end of task, (3) to verify nothing was forgotten. Runs git status check, test/type/lint gates, critical review, and commits remaining changes.

⭐0stars🔀0forks📁View on GitHub🕐Updated Jan 11, 2026⬇️2downloads

When & Why to Use This Skill

The Finalize skill is a comprehensive automated workflow assistant designed to ensure high-quality code delivery and project integrity. It streamlines the 'Definition of Done' by executing a multi-step checklist that includes Git status verification, automated quality gates (testing, linting, and type-checking across various languages), and a rigorous critical self-review to catch security vulnerabilities or edge cases before the final commit.

Use Cases

  • Feature Completion & Handoff: Automatically verify that all project-specific tests and linting rules pass before finalizing a task or handing over code for peer review.
  • Pre-Commit Quality Assurance: Use as a safety net to detect uncommitted changes, unfinished TODOs, and potential breaking changes in Node.js, Python, Go, or Rust environments.
  • Security and Edge Case Auditing: Perform a systematic adversarial review of new code to identify injection risks, null pointer exceptions, and boundary condition errors before deployment.
  • Standardized Git Workflow: Streamline the process of staging changes and generating descriptive, high-quality commit messages that explain the 'why' behind the code.
namefinalize
description>
Wrap-up checklist after completing work. Use when(1) user says "finalize", "wrap up",

Finalize

Run this checklist before considering work complete.

1. Git Status Check

git status
git diff --stat

If uncommitted changes exist, proceed through remaining steps before committing.

2. Task Completion Check

  • Review conversation for any unfinished TODOs or skipped items
  • Check TodoWrite list - are all items marked completed?
  • If anything incomplete, finish it before proceeding

3. Run Quality Gates

Run project-appropriate checks. Detect from project structure:

Files present Commands to run
package.json npm test, npm run lint, npm run typecheck (or equivalents)
pyproject.toml / setup.py pytest, mypy ., ruff check . (or project equivalents)
Cargo.toml cargo test, cargo clippy
go.mod go test ./..., go vet ./...

Check package.json scripts or project config for actual command names. Fix any failures before proceeding.

4. Critical Self-Review

Review all changes with adversarial mindset:

  • Security: injection, auth issues, exposed secrets?
  • Edge cases: nil/null, empty collections, boundary conditions?
  • Error handling: failures caught and handled appropriately?
  • Breaking changes: backwards compatibility maintained?
  • Tests: new code has test coverage?

If issues found, fix them. Re-run quality gates after fixes.

5. Commit

If all gates pass and changes look good:

git add -A
git commit -m "<descriptive message with why, not just what>"

Report final status to user.