# Finalize

> Post-implementation checklist — docs, code quality, conventions, visual verification, issue hygiene. Triggers on 'finalize', 'ready to merge', 'preflight check', 'wrap this up', 'final review'.

- Skill: `steveclarke/finalize` (Agent Skill)
- Install (CLI): `npx skillmds@latest add steveclarke/finalize`
- Raw SKILL.md: https://api.skillmd.com/api/skills/steveclarke/finalize/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: steveclarke (https://skillmd.com/u/steveclarke)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/steveclarke/finalize

---


# Finalize

## How it works

This skill runs a universal checklist, then checks the project's agent
instructions file (`CLAUDE.md`, or `AGENTS.md` in harnesses that use it) for any
project-specific finalization requirements (look for a "Finalize Checklist"
section or similar). The project knows what it needs — this skill just makes sure
nothing gets skipped.

**Harness-neutral.** The checklist is tool-agnostic: run the project's real
lint/test/build commands with whatever shell and tooling the harness has. Steps
that name a specific tool (e.g. the Impeccable UI pass, or the Memory step) apply
only where that tool exists — skip them, with a note, where it doesn't. Nothing
here requires subagents.

## Universal Checklist

Work through each section. Report what passes and what needs fixing.
Fix issues directly rather than just listing them — the user wants the
work done, not a report.

### 1. Lint & Format

Run whatever lint/format tools the project uses. Check CLAUDE.md/AGENTS.md or
package.json/Gemfile for the commands. Common ones:

- Ruby: `standardrb`, `rubocop`
- JS/TS: `eslint`, `oxlint`, `prettier`, `oxfmt`
- CSS: `stylelint`
- Python: `ruff`, `black`

### 2. Tests

Run the project's test suite. Check for:
- All tests pass
- No skipped tests that shouldn't be skipped
- New code has test coverage (or note if it doesn't)

### 3. Code Quality Sweep

Scan changed files for common issues:
- Raw/hardcoded values that should use project utilities or constants
- Inconsistent patterns with existing code (naming, structure, style)
- Dead code, redundant logic, TODO/FIXME comments left behind
- Debug statements (console.log, binding.pry, debugger, puts)
- Security: hardcoded secrets, unsafe patterns

### 4. Documentation

Check that new/changed code has corresponding documentation:
- README or docs pages updated if user-facing behavior changed
- Inline docs (JSDoc, YARD, docstrings) on public APIs
- Any project-specific docs (check CLAUDE.md/AGENTS.md for the list)

### 5. UI & Design Quality

Skip this section if the changeset has no view/template/component files.

**Run the Impeccable skill on changed view files:**
- `$impeccable audit <target>` — accessibility, performance, responsive behavior, theming
- `$impeccable polish <target>` — final UI quality pass: spacing, interaction states, typography, transitions, component-library fit, design-system compliance, tokens

Use the current Impeccable command routing rather than legacy standalone
skills. `normalize` was folded into `polish`; do not try to invoke it
separately.

Report which Impeccable commands were run and what they found. Fix issues directly.

**Consistency with existing pages** (not covered by Impeccable):
- New pages match the structure of similar existing pages
- Headers, content wrappers, and action placement follow established patterns
- If the page deviates from the dominant pattern, the deviation is intentional
  and justified

**Visual verification:**
- Changes render correctly in dev server, Storybook, or Lookbook
- Light mode and dark mode if applicable
- Mobile/responsive if applicable

### 6. Git & Issue Hygiene

- PR description reflects the actual scope of changes
- `Closes #N` or equivalent issue linking in PR body
- Parent issues/epics updated if this is part of a larger effort
- Follow-on issues created for deferred or discovered work
- Issues added to project board with correct status

### 7. Project-Specific Checks

Read the project's CLAUDE.md/AGENTS.md for a "Finalize Checklist" section (or
similar). If it exists, work through those items too. These are project-specific
requirements that the universal checklist can't know about.

### 8. Memory

If this is a Claude Code session with persistent memory:
- Update memory files with key learnings, decisions, or patterns discovered
- Update status tracking (component counts, phase progress, etc.)

