Finalize
Use when a project is ready for review, deploy, or merge and needs the production-quality bar confirmed. Runs lint/format/typecheck and fixes errors; audits SEO/Geo/schema/jsonld/sitemap/robots/opengraph and core web vitals; verifies versions are current; sweeps dead code and unused dependencies; outputs a structured report with severity tiers.From its SKILL.md
npx -y skills add germondai/skills --skill finalizeAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its file declares
Copied from the file, not written here
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
4.8 KB, ~1.2k tokens by cl100k_base, as published. Nobody here has run it
Finalize
Use this when a project (or branch) is ready for review, deploy, merge, or release. Trigger on "is this ready to ship?", "final check before deploy", "production-ready?", or after the build is green and you want a final sweep.
What it runs (and fixes)
Code quality gates
- Lint. eslint, biome, ruff, golangci-lint, or whatever the project uses. Fix errors; surface warnings.
- Format. prettier, biome, black, gofmt — formatter decides, no style debates.
- Typecheck. tsc, mypy, go build, cargo check. Zero errors. Avoid
any/@ts-ignoreunless explicitly justified with a comment.
Production readiness (web projects)
- SEO.
<title>,<meta description>, canonical URL, robots meta, sitemap.xml, robots.txt, structured data, hreflang if multi-locale. - GEO / AI-search. llms.txt, machine-readable metadata, clear entity descriptions, FAQ schema where appropriate.
- OpenGraph & Twitter cards. og:title, og:description, og:image, og:url, og:type, twitter:card, twitter:image.
- Schema.org / JSON-LD. Valid
@contextand@type, required fields per type (Organization, WebSite, Article, Product, FAQPage). Validate with Google's Rich Results Test or schema.org validator. - Core Web Vitals. LCP < 2.5s, INP < 200ms, CLS < 0.1. Verify with Lighthouse (target 100/100), PageSpeed Insights, and Chrome UX Report where available.
- Accessibility. Color contrast, alt text, ARIA labels, keyboard nav, focus order. Run axe-core or Lighthouse a11y audit.
Dependency hygiene
- Latest versions. Check against the registry. Update where safe; note breaking changes.
- Best practices. Use current recommended patterns, check documentation if needed.
- Dead dependencies. Remove unused packages. Run
depcheck,npm prune, or equivalent.
Repo hygiene
- Dead code. Unused import/exports, unreachable branches, commented-out code, debug logs, orphan files.
- Secrets. No API keys or tokens committed. Run
gitleaksor equivalent. - CI green. All checks passing, coverage threshold met if configured.
Security (sanity check)
- Inputs validated server-side.
- Output encoded for context (HTML, JS, URL, SQL).
- Auth/authz enforced where needed.
- No critical CVEs in deps (
npm audit,pip-audit, etc.).
Process
- Detect the stack. Read
package.json,pyproject.toml,go.mod,Cargo.toml. Pick the right tools. - Run code quality gates first (lint, format, typecheck). Fix errors.
- Sweep production-readiness for the project type. Skip categories that don't apply (skip SEO for a CLI tool).
- Update dependencies. Outdated check, then safe upgrades with build verification.
- Remove dead code and unused packages.
- Re-run all gates to confirm nothing broke.
- Report in the structure below.
Output contract
A finalization report with three sections:
- ✅ Fixed — resolved inline: lint errors, formatter changes, typecheck failures, dead code removed, deps updated.
- ⚠️ Surfaced — judgment calls: kept
ts-ignore(upstream type is wrong), kept dep (transitive consumer), Lighthouse CLS at 0.08 (under threshold but tight). - ❌ Blocked — issues that prevent shipping: security finding, breaking change in major dep upgrade, missing env var, schema validator failure that needs content rewrite.
Plus: commands run in order, with exit codes.
When NOT to use
- Don't run mid-development — this assumes code is otherwise done.
- Don't try to fix architectural problems — surface them and stop.
- Don't replace code review — this automates mechanical checks, not judgment.
Example report
✅ Fixed
- Removed 3 unused imports (Button.tsx, Card.tsx)
- Removed lodash.get (unused; native ?? covers all sites)
- Updated next 14.2.5 → 14.2.18 (patch)
- prettier --write on 12 files
- Typecheck: 0 errors (was 2)
⚠️ Surfaced
- og:image is 1200×630 but 1.2 MB; Lighthouse flagged. Suggest CDN variant.
- Lighthouse Performance: 98/100 (LCP 1.8s, INP 145ms, CLS 0.04). Under threshold but below 100/100 target.
❌ Blocked
- npm audit: 1 critical CVE in node-fetch (transitive via og-generator@2). Upgrading to og-generator@3 is a breaking change — needs your decision.
References
- Agent Skills specification
- Local authoring guide:
CLAUDE.md - Google Rich Results Test
- Web Vitals
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.
Gives 0 of the 12 instructions most seo skills give in ~1.2k tokens
Counted across 454 of the 460 authors here whose files we hold, read 2026-08-07
- Implement structured data using JSON-LDin 29 of 454, across 25 files
- Write unique meta descriptions under 160 charactersin 25 of 454, across 20 files
- Verify one H1 exists per pagein 24 of 454, across 15 files
- Maintain a single H1 per pagein 24 of 454, across 15 files
- Use JSON-LD format for all schema markupin 23 of 454, across 16 files
- Use descriptive anchor text for internal linksin 22 of 454, across 18 files
- Add descriptive alt text to imagesin 19 of 454, across 15 files
- Read product marketing context before auditingin 19 of 454, across 11 files
- Write unique title tags under 60 charactersin 19 of 454, across 14 files
- Add unique title and meta description per pagein 19 of 454, across 17 files
- Fetch robots.txt and sitemap.xmlin 19 of 454, across 18 files
- Place the primary keyword in the first 100 wordsin 18 of 454, across 17 files
Said here and by no other author read
- fix lint errors and surface warnings
- run formatters without style debates
- fix all typecheck errors to zero
- check dependencies against latest versions
- remove unused packages and dead code
- scan for committed secrets
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.