static-site-build-artifact-plan-review
Plan-review pattern for static-site fixes where the deployed artifact is generated from source files (e.g. sitemap/robots/static assets). Prevents review churn by separating durable regression checks from one-time migration verification and by validating built output, not just source files.
Best use case
static-site-build-artifact-plan-review is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Plan-review pattern for static-site fixes where the deployed artifact is generated from source files (e.g. sitemap/robots/static assets). Prevents review churn by separating durable regression checks from one-time migration verification and by validating built output, not just source files.
Teams using static-site-build-artifact-plan-review should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/static-site-build-artifact-plan-review/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How static-site-build-artifact-plan-review Compares
| Feature / Agent | static-site-build-artifact-plan-review | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Plan-review pattern for static-site fixes where the deployed artifact is generated from source files (e.g. sitemap/robots/static assets). Prevents review churn by separating durable regression checks from one-time migration verification and by validating built output, not just source files.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Static-site build-artifact plan review Use when: - a website repo serves generated `dist/` output from source files - the planned change edits a source artifact like `sitemap.xml`, `robots.txt`, or other static content - reviewers may challenge whether validating the source file alone is enough ## Problem this solves A recurring review failure mode is drafting a plan that only verifies the source file after edit, while production actually serves a built/copied artifact from `dist/`. Another recurring failure mode is mixing: 1. durable regression tests that should live forever, and 2. one-time migration verification steps that depend on pre-edit state. This produced repeated `MAJOR` plan-review findings on #2357 even though the code change itself was tiny. ## Required planning pattern ### 1. Verify the production surface, not just the source file If the site is deployed from built output: - identify the build path explicitly (`build.js`, bundler, copy step, etc.) - include validation of the built/deployed artifact (`dist/...`) in the plan - do not stop at "edited source file looks right" For sitemap-style changes, include all of: - source file verification - post-build `dist/...` verification - if applicable, post-deploy HTTP verification Example planning language: - source: `aceengineer-website/sitemap.xml` - built artifact: `aceengineer-website/dist/sitemap.xml` - production URL: `https://www.example.com/sitemap.xml` ### 1A. Resolve source/generated/legacy HTML contracts explicitly For generated static sites, do not assume the only non-source surface is root `*.html`. Before a plan is approval-ready, classify **all** HTML surfaces: - canonical source: e.g. `content/**/*.html` and shared partials - generated deploy output: e.g. `dist/**/*.html` - checked-in legacy/non-authoritative HTML outside both source and deploy output, e.g. root `*.html`, `blog/**`, `calculators/**`, `case-studies/**`, `demos/**`, `samples/**`, or other historical generated trees Then state exactly which happens to legacy checked-in HTML: - sync it during implementation, **or** - declare it non-authoritative and update tests/docs/scans so it cannot create false failures or stale pass conditions. Also inspect existing tests and docs for the old contract. If tests read root/legacy pages directly or assert old branding/content, the plan must include updating those tests. If README/deploy/architecture docs still describe root HTML as authoritative, include conditional docs updates when choosing the non-authoritative path. ### 1B. For brand/content cleanup, scan visible body labels too When the task is brand identity, naming, or copy cleanup, do not limit scope to nav/footer/metadata/schema. Reviewers may find visible in-page labels that remain stale. Approval-ready plans should specify the target contexts: - visible chrome - page titles - consumer-facing body labels/headings/CTAs - OG/Twitter metadata - JSON-LD/schema identity fields - built output equivalents Use a precise allowlist for historical/legal prose so tests are not brittle, but do not exclude visible consumer-facing body labels by accident. ### 2. Split validation into two classes Always separate: #### A. Durable regression checks These should keep running after the issue ships. Examples: - every parsed `<loc>` uses `https://www...` - each `<url>` has exactly one `<loc>` - no duplicate `<loc>` values - expected key entries still exist - build output matches normalized source expectations #### B. One-time migration verification These are specific to the current edit and depend on pre-edit state. Examples: - before/after row count preserved - metadata unchanged row-for-row - pre-edit vs post-edit comparison - issue-body/path drift note recorded in closeout Do not present one-time migration checks as if they are permanent Jest-style regression tests unless you define a stable fixture/baseline. ### 3. If a check depends on pre-edit state, specify the snapshot source Never leave this vague. Do not say only "compare before vs after". Specify: - how the pre-edit snapshot is captured - where it lives temporarily - which command performs the comparison - where the evidence is reported Best practice: - capture the on-disk file before mutation during execution - do not rely on `git show HEAD:path` unless the plan explicitly proves that is the correct baseline for the execution context - record the comparison result in the implementation summary / issue comment ### 4. Resolve build-tool dependencies during planning, not during implementation If validation requires a tool like `xmllint`: - check availability during planning - record the result in the plan's evidence section - if unavailable, either choose an approved fallback now or stop and revise the plan Do not leave "xmllint or some other validator" as an implementation-time choice if review is already demanding a deterministic gate. ### 5. Use XML-aware/structure-aware validation for structure claims If the plan claims things like: - each `<url>` has exactly one `<loc>` - metadata unchanged row-for-row - all locs are non-empty and canonical prefer XML-aware parsing or clearly defined structured extraction rather than loose regex-only checks. Regex is acceptable for narrow negative checks, but reviewers may return `MAJOR` if structure claims are backed only by fragile pattern matching. ### 6. Avoid brittle absolute snapshots unless the absolute value is itself the invariant Reviewers pushed back on hard-coding a current count like `39` as an acceptance criterion. Prefer: - before/after count preserved for this execution diff instead of: - count must equal `39` unless the absolute count is truly part of the requirement. ## Plan template snippet Use this structure in plans for static-site source→build→deploy changes: ### Durable merge blockers - source artifact content is normalized/correct - built artifact exists and reflects the normalized source - structural invariants pass (unique entries, canonical host, required entries present) - deterministic validator passes (e.g. `xmllint --noout ...`) ### One-time execution verification - pre-edit snapshot captured from on-disk file before mutation - before/after count preserved - before/after metadata comparison passes - execution evidence recorded in issue/implementation summary ## Trigger phrases from reviewers that mean you should apply this skill - "verify the built artifact, not just the source file" - "before/after evidence is underspecified" - "this is a one-time migration check, not a durable regression test" - "hard-coded count is brittle" - "structure claims need parser-based verification" ## Outcome goal A plan should be approval-ready when it: - proves the production-facing artifact path - cleanly separates permanent regression tests from migration-only checks - names exact validation tools and snapshot sources - avoids brittle snapshot-only acceptance criteria
Related Skills
plan-review-prompt-refresh-after-plan-edits
Refresh reviewer prompt files from the latest on-disk plan before every adversarial re-review. Prevents Codex/Gemini from critiquing stale plan text after local edits.
workspace-hub-overnight-plan-monitor
Monitor and reconcile workspace-hub overnight planning or implementation batches, including process status, result artifacts, issue/commit verification, and controlled failed-lane recovery.
plan-gated-issue-execution-wave
Execute a multi-issue architecture/planning wave in a plan-gated repo, then safely transition approved issues into implementation with file-based Codex prompts, local approval markers, subprocess monitoring, and cleanup handling for sandbox/hook edge cases.
mixed-ops-vs-repo-fix-plan-boundary
Plan mixed operational-vs-repo remediation issues by proving live-state classification first, then only proposing code changes for confirmed repo-owned failure paths.
wave-based-parallel-plan-execution
Orchestrate phase execution by discovering dependencies, grouping into waves, spawning subagents, and collecting results with optional wave filtering
tdd-verification-and-adversarial-review
Verify pre-written TDD tests pass, conduct adversarial code review on committed diffs, and route findings to existing issues
plan-gated-issue-validation-workflow
Systematic validation pattern for plan-approved GitHub issues with pre-existing deliverables
plan-gated-issue-implementation
Workflow for executing pre-approved GitHub issues with mandatory validation checkpoints
multi-role-agent-contract-review-pipeline
Execute a 4-role agent team (Planner/Architect/Reviewer/Integrator) pipeline for self-reviewing knowledge artifacts before delivery
handle-browser-automation-financial-site-blocks
Workflow for working around Chrome extension blocks on financial sites during data collection tasks
handle-blocked-financial-sites-workaround
Workflow for accessing financial account data when browser automation is blocked on brokerage sites
handle-blocked-financial-sites-data-export
Workflow for extracting data from blocked financial sites when browser automation is restricted