{"id":"154eafe2-ba9c-42fa-873f-ec1bb2c48202","shortId":"EkWy6B","kind":"skill","title":"code-refactor","tagline":"Production-grade, 10,000+ line PRDs that let AI agents one-shot entire applications. Built on CRHQ.ai.","description":"# Code Refactor Skill\n\n> **Purpose:** Produce executable refactoring reports for an existing codebase, using a multi-round, multi-agent methodology. Two modes: **AUDIT** (high-level — find & rank opportunities) and **PLAN** (deep-dive — produce verifiable per-target refactor specs).\n\n---\n\n## When to Use This Skill\n\nTrigger on any of:\n\n- \"Audit this codebase for refactor opportunities\"\n- \"What should we refactor in <project>?\"\n- \"Tech debt review\", \"code quality audit\", \"maintainability review\"\n- \"Do a deep-dive refactor plan for <feature/module>\"\n- \"I want to give a developer a refactor task they can execute end-to-end\"\n- User wants either a high-level prioritized list **or** a specific, executable refactor proposal\n\n**Do NOT use for:**\n\n- Bug fixes (the code is wrong; this skill is for code that *works* but should be better)\n- Behavior changes / new features (refactor = same behavior, better internals)\n- Renames or trivial reorganization (a chat reply suffices)\n- Production incidents — fix first, refactor later\n\n---\n\n## The Two Modes\n\nThis skill has **two operating modes**. Pick one at the start; never run both in the same invocation.\n\n| Mode | Purpose | Input | Output |\n|---|---|---|---|\n| **AUDIT** | Find and rank refactor opportunities across a project (or subsystem) | Project/subsystem path; optional focus areas | Prioritized list of opportunities, top-to-bottom by impact × leverage / risk. Each item is a paragraph plus tags — *not* an execution spec. |\n| **PLAN** | Produce executable, verifiable refactor specs for 1–3 named targets | 1–3 targets (often picked from a prior AUDIT) plus the project path | One deep-dive spec per target, each with full pre/post verifiability loop, step-by-step instructions, and an HTML artifact template. |\n\nThe two modes share the same multi-round methodology. They differ in *what gets drafted* and *what the reviewers are looking for*.\n\n**Typical sequence:** user runs AUDIT → reviews ranked list → picks top 1–3 → user runs PLAN on those targets → executor developer follows each PLAN.\n\n---\n\n## Core Principles\n\n1. **Behavioral parity is non-negotiable.** A refactor changes internals, never observable behavior. Every PLAN must prove parity with a pre-baseline and a post-comparison. If behavior must change, that's a feature/fix, not a refactor — say so and stop.\n2. **Evidence binds every claim.** \"This is slow\", \"this is hard to maintain\", \"this is duplicated\" — each must cite file paths and line numbers. No vibes-based recommendations.\n3. **The executor closes the loop.** A PLAN's success is measured by whether the receiving developer can: capture baseline → do the work → re-run the same checks → produce a verdict. If the loop doesn't close, the PLAN failed.\n4. **Specific over abstract.** \"Extract to a helper\" is not a plan. \"Move lines 47–93 of `src/foo.ts` into a new `src/lib/normalizeFoo.ts` exporting `normalizeFoo(input: Foo): NormalizedFoo` — see proposed diff below\" is a plan.\n5. **Right-size the report.** A 5-file project does not need a platform audit. A subsystem PLAN does not need a full-stack ceremony. The methodology is fixed; depth adapts.\n6. **Multi-round, multi-perspective.** Draft 1 → Dual Review → Draft 2 → Final Review → Draft 3. Two reviewer perspectives in parallel catch different categories of issues. Skipping rounds costs more downstream than it saves now.\n7. **Project conventions win.** Read the project's own coding standards / dev guidelines first. The refactor must end up *more* aligned with the project's conventions, never less.\n8. **Defaults are decisions.** Every customization in a PLAN (test command, baseline location, artifact path) gets a default the executor can run with. The executor never blocks.\n9. **The PLAN is also a runbook.** Final section instructs the executor end-to-end, including how to produce the HTML artifact. The PLAN is *what* and *how*, not just *what*.\n\n---\n\n## The Seven Phases (shared by both modes)\n\n```\nPhase 1: Scoping & Context Load           (mode, scope, project conventions, test infra)\nPhase 2: Discovery — Draft 1              (parallel agents, one per facet or per target)\nPhase 3: Dual Review                      (skeptic + Reviewer B, parallel)\nPhase 4: Draft 2                          (apply ALL fixes, parallel where possible)\nPhase 5: Final Review                     (single reviewer, hunt remaining issues)\nPhase 6: Draft 3                          (final fixes, mark Final)\nPhase 7: Delivery                         (HTML artifact + working memory + handoff)\n```\n\nPhases are identical in shape across AUDIT and PLAN. The *contents* of each phase differ — see the per-mode sections.\n\n---\n\n## Phase 1 — Scoping & Context Load\n\nIdentical for both modes.\n\n### 1.1 Lock the mode\n\n- AUDIT or PLAN?\n- If PLAN: which 1–3 targets? (max three; if user offers more, push back and ask them to pick)\n- Scope: full project, or a subsystem path / set of paths?\n\nIf the user is ambiguous, ask in a **single batched message**. Never one question at a time.\n\n### 1.2 Load project context\n\nAlways read, in this order:\n\n1. Project's CLAUDE.md / agents.md (if present)\n2. Project's development guidelines / coding standards document (in DB project documents, or in repo)\n3. Any PRD or spec the project follows\n4. The repo's README, package.json (or equivalent), test config\n\nIdentify and capture:\n\n- **Tech stack** — language, framework, runtime, package manager\n- **Test infra** — unit / integration / e2e commands, test framework, location of tests\n- **Build / typecheck / lint commands** — exact strings\n- **Linter & formatter** — which configs are authoritative\n- **Conventions** — naming, file org, error model, validation library, logging shape\n- **Branch & commit conventions** — Conventional Commits? squash policy? PR template?\n- **Deployment** — what \"shipped\" looks like (CI? PM2? Docker?)\n- **Forbidden zones** — anything the project explicitly says do-not-touch\n\nSave this context to a working note before drafting — it gets referenced in every subsequent phase.\n\n### 1.3 Decide the discovery split\n\nFor **AUDIT**, run the 7 default facets (drop any that don't apply); add extension facets if the project clearly needs them — see Phase 2 — AUDIT.\n\nFor **PLAN**, allocate one deep-dive analysis agent per target.\n\nPlan the split before launching anything.\n\n---\n\n## Phase 2 — Discovery / Draft 1\n\nThe modes diverge here.\n\n### Phase 2 — AUDIT mode\n\nLaunch parallel agents, one per facet group. Each agent scans its facet across the scoped paths and returns **candidate opportunities with evidence**.\n\n#### Default facet split (7) — run all that apply\n\n| Facet | What the agent looks for |\n|---|---|\n| **1. Architecture & boundaries** | Tangled layers, cyclic deps, leaky abstractions, mis-located logic, modules doing too much, undocumented contracts at module seams |\n| **2. Data layer** | N+1 queries, missing indexes, unindexed FKs, schema drift, transaction misuse, ORM anti-patterns, query hotspots |\n| **3. API surface / Component architecture** | (Backend) Inconsistent endpoint shapes, ad-hoc error envelopes, drift from spec, missing validation at boundaries. (Frontend) Component sprawl, prop drilling, state-management drift, render-perf hotspots |\n| **4. Testing** | Coverage gaps in critical paths, slow tests, flaky tests, mocked-too-much tests, missing integration coverage, brittle e2e selectors |\n| **5. Performance** | Hotspots (CPU, IO, memory), unbounded loops, sync-over-async, missing caching, oversized bundles, slow startup |\n| **6. Code quality & conventions** | Drift from project's own coding standards; inconsistent naming; `any`/escape-hatch type usage; dead code; duplicated logic; missing strict-mode flags |\n| **7. Observability** | Swallowed errors, inconsistent logging shape, missing context, no structured logs, missing telemetry on critical paths, error model drift |\n\nDrop any facet that doesn't apply (e.g. drop **Data layer** for a static site).\n\n#### Extension facets — add only when relevant\n\n| Facet | When to add |\n|---|---|\n| **Build & tooling** | When CI is slow, scripts are brittle, dependency drift / advisories suspected |\n| **Security posture** | When the project handles PII, auth, payments, or has a public-internet attack surface |\n| **Configuration & env** | When env / config is suspected to have multiple sources of truth, or secrets-in-code risk |\n| **Frontend / UI** *(separate from Component architecture)* | When the project has both backend and frontend, and you're already running the API facet — split UI into its own agent |\n\n#### Per-agent prompt pattern (AUDIT)\n\n```\nYou are scanning <facet> in the project at <path>.\nProject conventions are summarized at <working note path>.\n\nFor every refactor opportunity you find, return:\n- Short title (≤80 chars)\n- One-paragraph summary\n- Evidence: 3–5 file:line references (real, verifiable)\n- Impact dimensions affected: maintainability / reliability / speed / accuracy / security (rate each H/M/L/—)\n- Estimated effort: S / M / L / XL  (S=<1 dev-day, M=1–3, L=3–10, XL=>10 — XL must be split before PLAN)\n- Estimated risk: S / M / L\n- Why now (or: why later) — one sentence\n\nConstraints:\n- Do not propose feature changes, only refactors (same behavior, better internals).\n- Do not propose anything without evidence.\n- Do not duplicate findings already covered by a more general one — note overlaps.\n- Be honest about effort and risk; underestimating burns the executor.\n\nSave findings to <agent-specific path>.\n```\n\n#### Effort/risk anchors\n\n```\nEffort:\n  S  = <1 dev-day\n  M  = 1–3 dev-days\n  L  = 3–10 dev-days\n  XL = >10 dev-days  — MUST be split into smaller items before any PLAN runs\n\nRisk:\n  S = isolated; rollback is `git revert`; no shipped state affected\n  M = touches multiple callsites or shared abstractions; rollback is straightforward\n  L = touches data, migrations, or cross-service contracts; rollback requires explicit plan\n```\n\n#### Assemble Draft 1 (AUDIT)\n\n1. **Cluster duplicates.** Two facets often surface the same root issue. Merge with a unified title; keep evidence from all angles.\n2. **Compute priority score** (advisory, not verdict):\n   ```\n   priority = (impact_sum × confidence) / (effort × risk)\n   where impact_sum = sum of dimension ratings (H=3, M=2, L=1, —=0)\n         confidence = 1.0 if evidence is strong, 0.7 if partial, 0.4 if weak\n         effort     = S=1, M=2, L=4, XL=8\n         risk       = S=1, M=2, L=4\n   ```\n3. **Order top-to-bottom by score, then editorially re-order if judgment disagrees.** When the agent overrides the score-based order, it must add a one-sentence rationale next to the moved item:\n   > *\"Moved REFACTOR-005 above REFACTOR-003 despite lower formula score: blocks 4 other opportunities by clearing a shared abstraction.\"*\n   Reviewers can challenge both the formula inputs and any overrides.\n4. **One paragraph per opportunity** in AUDIT — *not* an execution spec. The user's next step is to pick top 1–3 for PLAN mode.\n\n### Phase 2 — PLAN mode\n\nFor each target (1–3), launch one deep-dive analysis agent.\n\n#### Per-agent prompt pattern (PLAN — discovery half)\n\n```\nYou are deeply analyzing the refactor target: <target name + scope>.\nProject at <path>. Conventions at <working note path>.\n\nMap the target's full topology:\n1. Exact files / modules / functions / endpoints / tables in scope\n2. Every callsite of the target's public surface (file:line refs)\n3. Every test that exercises the target (file:line refs)\n4. Every external dependency the target uses\n5. Behavior contract (what does this currently do, observably)\n6. Test commands that exercise the target\n7. Any manual / browser-driven behaviors that matter\n8. Performance characteristics (if measurable)\n9. Documented or undocumented edge cases\n10. Anything currently broken in this target (separate from the refactor — flag, don't fix)\n\nSave topology to <topology path>. Keep file:line refs precise.\n```\n\n#### Draft 1 production (PLAN)\n\nAfter topology agents return, produce one PLAN spec per target, following the **PLAN Report Schema** below. Drafting can be parallelized (one drafting agent per target) once topology is in.\n\n---\n\n## Phase 3 — Dual Review\n\nTwo reviewers in parallel. Different perspectives. Reviewer A is **the same in both modes**; Reviewer B **changes by mode** because the right \"different perspective\" genuinely differs.\n\n### Reviewer A — The Skeptic (both modes)\n\nReads Draft 1, challenges *the claims*.\n\nLooks for:\n\n- Opportunities (AUDIT) or proposals (PLAN) **not backed by evidence**\n- **Overstated impact** — \"this is critical\" when it's a 50-line module nobody touches\n- **Understated risk** — refactors that look small but ripple across many callsites\n- **Effort estimates that are clearly wrong** in either direction (especially: any XL hiding as L)\n- **Hidden behavior changes** sneaking into a \"refactor\" — flag any proposed change that would alter observable output\n- **Missing alternatives** — was a smaller / less invasive option considered?\n- **Conventions drift** — does the proposed end-state align with the project's own guidelines?\n\n### Reviewer B — by mode\n\n#### AUDIT → Reviewer B = The Prioritizer\n\nAsks: *is this ordering defensible?*\n\nLooks for:\n\n- Items mis-ranked by the formula (effort or risk under/overstated)\n- Editorial re-orderings that lack rationale\n- Top items that are *easy* but *low impact* crowding out *higher leverage* items\n- Bottom items that should not even be on the list (out of scope, behavior change in disguise, already mitigated)\n- Themes / cross-cuts that should have been called out (e.g. five separate items all rooted in the same broken abstraction)\n- Confidence ratings that don't match the strength of cited evidence\n\n#### PLAN → Reviewer B = The Executor's Eye\n\nAsks: *can a developer actually run this end-to-end?*\n\nLooks for:\n\n- **Baseline capture is concrete enough to actually run** (commands present, outputs defined, save locations specified)\n- **Refactor steps are concrete enough to follow** without re-thinking the design\n- **Callsite hunt list is complete** (every place that touches the target is enumerated)\n- **Post-refactor parity check is a real comparison**, not \"the tests pass\"\n- **Rollback plan is real** (not \"git revert\" — what if the migration is partially applied?)\n- **HTML artifact template is producible** with the data the executor will have\n- **Drift log discipline** is preserved — no hidden behavior changes smuggled in via §9.6\n\n### Required Reviewer Output Format\n\nBoth reviewers produce reports in this shape:\n\n```\n# Review Report — <Reviewer A | Reviewer B>\n\n## CRITICAL — Will produce a wrong / unsafe / unexecutable report\n1. <short title> — <where, what, how to fix>\n\n## HIGH — Will produce confusion or rework\n...\n\n## MEDIUM / LOW\n...\n\n## Specific challenges\n- Claim X (in section Y) is not supported by evidence — needs <citation>\n- Effort estimate Z is undercounted because ...\n- ...\n\n## Priority Action Items (P0 / P1 / P2)\n```\n\nVague feedback (\"strengthen the verifiability section\") is rejected and re-requested. The reviewer must say *what* line, *what* fact is missing, *what* concrete change.\n\n---\n\n## Phase 4 — Draft 2\n\nSynthesize ALL findings from both reviewers into a unified fix list. Then launch parallel rewrite agents (typically same split as Phase 2) with explicit per-section fix instructions.\n\n### Draft 2 agent prompt pattern\n\n```\nYou are rewriting <section / target> for Draft 2. Read the current draft at <path>.\nApply ALL of the following fixes:\n\n1. <Specific fix — where, what, why> — e.g., \"REFACTOR-007's evidence cites no file:line; add 3+ refs from the topology in <topology path>\"\n2. ...\n\nSave the rewritten section to <new path>.\n```\n\nFixes must be specific and copy-pasteable. \"Strengthen security\" is rejected. \"Add input validation step at line N of REFACTOR-003's refactor instructions, using the project's `zod` schema convention from `src/lib/validation/`\" is accepted.\n\n### Cross-cutting consistency to reconcile in Draft 2\n\n- **Test commands** — one canonical command per test tier; same string used in baseline and post-check\n- **Path conventions** — match the project's actual layout, not generic guesses\n- **Naming of new code** — match project's existing naming\n- **Validation / error model** — must match what the project already uses\n- **Logging / observability** — match the project's existing logger and shape\n- **Environment / config** — match the project's single source of truth for env vars\n- **HTML artifact location & filename pattern** — pick once, reference everywhere\n\n---\n\n## Phase 5 — Final Review\n\nSingle reviewer, final pass. Goal: catch what the dual review missed.\n\nSpecifically check:\n\n- Did Draft 2 fixes actually land?\n- Did any fixes introduce new contradictions?\n- Are all evidence citations real (file:line) and accurate?\n- Is the priority ordering (AUDIT) or per-target ordering (PLAN) defensible?\n- Are all test commands runnable as written?\n- (PLAN) Does each target's pre-baseline have a 1:1 partner in the post-comparison?\n- (PLAN) Is the HTML artifact template self-contained and producible?\n- (PLAN) If §7.6 (Known pre-existing failures) has entries, are they justified?\n- (PLAN) If §9.6 (Drift log) is anticipated, are the four discipline rules visible?\n- Does each milestone / step have a testable exit criterion?\n- **Beyond this checklist** — last chance to catch anything that would make the report stronger.\n\nOutput: a concise list of remaining issues. If the doc is solid, the reviewer says so explicitly.\n\n---\n\n## Phase 6 — Draft 3\n\nSingle agent applies the final review's remaining fixes. Usually small. After this pass:\n\n- Mark the report **Final**\n- Stamp date and project name\n- Save to working location\n\n---\n\n## Phase 7 — Delivery\n\nThree things must happen, adapted to the host environment:\n\n1. **Render the report as a shareable HTML artifact** — the AUDIT or PLAN goes through the project's artifact-display mechanism so the user sees and can share it.\n2. **Save a portable copy** — a markdown file at a stable path; if the host supports public links, produce one.\n3. **Update working memory** — drafts produced, key decisions, what mode was used, what targets if PLAN.\n\nFor PLAN mode, **the deliverable to the executor developer must include the HTML artifact template they'll fill in** — see \"Executor's HTML Artifact Template\" below.\n\n---\n\n## AUDIT Report Schema\n\nHeader:\n- **Mode:** AUDIT\n- **Project:** <name>\n- **Scope:** <paths or \"full project\">\n- **Date:** <date>\n- **Methodology:** Multi-round, multi-agent (Code Refactor skill)\n\nSections:\n\n### Executive Summary\n3–5 sentences. Overall health, top 1–3 themes, suggested next step (typically: \"run PLAN on REFACTOR-001..003\").\n\n### Scope & Method\n- Paths reviewed\n- Facets reviewed (note any default facets dropped, any extension facets added)\n- Conventions referenced\n- Tools / agents used\n\n### Priority Scoring\nShow the formula. Show the H/M/L scale and effort/risk anchors. Note that the score is **advisory** — the agent may editorially re-order items, with one-line rationale per override.\n\n### Opportunities (ranked)\n\nFor each opportunity, in priority order:\n\n```\n### REFACTOR-NNN — <Title>\n\n**Scope:** <files / modules / endpoints>\n\n<One paragraph: what's wrong, what's the better state.>\n\n**Evidence:**\n- `path/to/file.ts:47–93` — <what's there>\n- `path/to/other.ts:12` — <what's there>\n- ...\n\n**Impact:**\n- Maintainability: H / M / L / —\n- Reliability: H / M / L / —\n- Speed: H / M / L / —\n- Accuracy: H / M / L / —\n- Security: H / M / L / —\n\n**Effort:** S / M / L / XL\n**Risk:** S / M / L\n**Confidence:** 1.0 / 0.7 / 0.4\n**Priority Score:** <number>\n**Editorial override (if any):** <one sentence rationale, omit otherwise>\n\n**Why now / why later:** <one sentence>\n```\n\nNo execution detail in AUDIT — that's PLAN's job.\n\n### Themes & Cross-Cuts\nIf multiple opportunities share a root cause (e.g. \"validation drift across endpoints\"), call it out as a theme. Helps the user pick PLAN targets that have leverage.\n\n### Recommended PLAN Targets\nTop 1–3 the user should consider for deep-dive. State why each made the cut.\n\n---\n\n## PLAN Report Schema (per target)\n\nFor each of 1–3 targets, the PLAN contains exactly the sections below. Numbering is per-target (REFACTOR-007 → P-007.1 through P-007.12).\n\n### P-NNN.1 Title & ID\n- **ID:** matches the AUDIT ID if applicable, else a fresh REFACTOR-NNN\n- **Title**\n- **Date:** <date>\n- **Project:** <name>\n- **Branch convention:** <e.g. `refactor/<slug>` per project guidelines>\n\n### P-NNN.2 Scope\nExact files / modules / endpoints / tables / migration files in scope. **Anything not listed is out of scope.**\n\n### P-NNN.3 Current State\n- What's there now\n- Code excerpts (≤30 lines each, file:line cited)\n- Callsite map (every place that uses the target's public surface)\n- Tests that currently exercise it (file:line)\n- Behavior contract — what the target observably does today, in plain prose\n\n### P-NNN.4 Problem Statement\nWhy this needs refactoring. Concrete, evidence-bound. Not \"code smell\" — *what* smell, *where*, *why it matters*.\n\n### P-NNN.5 Refactor Goal\nWhat the better state looks like. Architecturally, in prose. Plus: the **non-goals** — what this PLAN deliberately does *not* change. (Non-goals stop scope creep.)\n\n### P-NNN.6 Impact Dimensions\nH/M/L per dimension (maintainability, reliability, speed, accuracy, security), with a sentence justifying each rating.\n\n### P-NNN.7 Pre-Refactor Verifiability — BASELINE\n\n**The executor MUST complete this section in full before touching any code.**\n\n#### 7.1 Environment baseline\nExact commands; expected: pass.\n- `<typecheck command>` — expect: 0 errors\n- `<lint command>` — expect: 0 errors\n- `<build command>` — expect: success\n- `<full test command>` — expect: all pass\n\nIf any of the above does **not** currently pass on the base branch, the executor STOPS and chooses one of:\n- **(a) Fix the failing check first**, in a separate PR. Refactor PR rebases on top once base is green. *Default option.*\n- **(b) Scope the failing check out of the parity guarantee** — see §7.6.\n\n#### 7.2 Targeted test capture\n- List of tests that exercise the target (commands that run them in isolation)\n- Save outputs verbatim to `<baseline path>/tests-pre.txt`\n\n#### 7.3 Behavioral baseline (manual smoke tests)\nFor each user-visible behavior the target affects:\n- Step-by-step (click here, enter this, hit submit)\n- Expected output (exact strings, screenshot if applicable)\n- Save observations to `<baseline path>/manual-pre.md`\n\n#### 7.4 Performance baseline (if relevant)\n- Exact command(s) to capture timing / memory / bundle size\n- Capture 3 runs, record median\n- Save raw numbers to `<baseline path>/perf-pre.txt`\n\n#### 7.5 Baseline checkpoint\nCommit baseline files to a fresh branch (`refactor/<slug>-baseline`) so they're recoverable.\n\n#### 7.6 Known pre-existing failures (escape hatch — use sparingly)\n\nIf §7.1's hard STOP rule is invoked under option (b), each excluded check is documented here:\n\n```\n- Check: `<exact command>`\n- Failure: <one-line description; link to issue if open>\n- Why scoped out: <why fixing-first is impractical for this PLAN>\n- Parity impact: <which behaviors this check normally guards; what risk this exclusion creates>\n- Reviewer/PM acknowledgment: <name + date>\n```\n\nRules:\n- §7.6 is empty by default. Only entries explicitly invoked under §7.1(b) appear here.\n- A PLAN with **more than one entry in §7.6** signals the AUDIT mis-scoped this target. Reviewer A flags this in Phase 3.\n- Each entry must include reviewer or PM acknowledgment before the PLAN ships to an executor.\n\nThe baseline must be **concrete and runnable**. If the executor has to invent commands, the PLAN failed.\n\n### P-NNN.8 Refactor Instructions — THE WORK\n\n**Pre-conditions:**\n- Branch `refactor/<slug>` created from `<base>`\n- Baseline section 7 fully completed\n- All baselines green (or §7.6 entries acknowledged)\n\n**Step-by-step changes (numbered):**\n\nFor each step:\n- What changes (which file, which lines)\n- Proposed diff or precise edit instruction\n- Why this step (one sentence)\n- Convention notes (link to project guidelines)\n- Gotchas / things to pay attention to\n\n**New abstractions / interfaces introduced:**\n- Name, signature, location\n- Why it earns its keep\n\n**Migration approach:**\n- In-place edit, parallel-implementation-with-cutover, or shim-and-deprecate?\n- If multi-step, the cutover sequence\n\n**Callsite hunt list:**\n- Every callsite (file:line) that must be updated\n- For each: \"before / after\" delta description\n\n**Things to pay attention to:**\n- Cross-cutting concerns the executor will hit (logging, error model, validation)\n- Project conventions to honor\n\n**Style & convention notes:**\n- Direct references to the project's coding standards\n- Naming, file org, formatting expectations\n\n### P-NNN.9 Post-Refactor Verifiability — PARITY CHECK\n\n**The executor MUST complete this section in full before declaring done.**\n\n#### 9.1 Re-run environment baseline\n- Same commands as 7.1, expect: same results (still all green, except any §7.6-acknowledged checks)\n\n#### 9.2 Re-run targeted tests\n- Same commands as 7.2\n- Save outputs to `<baseline path>/tests-post.txt`\n- **Diff against `tests-pre.txt`.** Differences require explicit justification (e.g. test was renamed in this refactor, or covered under §9.6 drift log) — note in §9.6.\n\n#### 9.3 Re-run manual smoke tests\n- Same scripts as 7.3\n- Save observations to `<baseline path>/manual-post.md`\n- Behavioral parity checklist:\n  - [ ] Behavior 1 — same as pre\n  - [ ] Behavior 2 — same as pre\n  - …\n\n#### 9.4 Re-run performance baseline\n- Same commands as 7.4 (3 runs, median)\n- Save to `<baseline path>/perf-post.txt`\n- Compute delta vs pre. **Speed-target refactors** must show measurable improvement; **non-speed refactors** must show no regression beyond <X%> noise floor (define X% per project).\n\n#### 9.5 New tests added (optional but encouraged)\nIf the refactor surfaces a previously-untested edge case, add a test for it. Note location.\n\n#### 9.6 Drift log — intentional behavior changes (use sparingly, strict rules)\n\nIf, during the refactor, the executor finds a pre-existing bug whose fix is unavoidable in-flight, document each occurrence here. **Empty by default.** Each entry must satisfy ALL four rules:\n\n```\nDrift entry:\n  Location:        <file:line of the changed behavior>\n  Pre-existing bug: <commit / issue / code reference proving the bug existed before this refactor>\n  Diff justification: <pre-output → post-output; why it differs>\n  New test added:   <path:line of test that locks in the corrected behavior>\n```\n\n**Four discipline rules:**\n1. **Pre-existing only.** Drift may only correct behavior that was *already* wrong before the refactor began. Net-new functionality is not drift.\n2. **Documented in §9.6.** Every diff vs. baseline that is not byte-identical must be either covered here or in a renamed-test note in §9.2.\n3. **Test required.** Every drift entry has a corresponding new test that locks the corrected behavior.\n4. **Size cap.** If the drift would change behavior in **more than ~3 places**, the executor STOPS. The work splits: refactor PR (no drift) ships first; bug fixes ship as a separate PR. The PLAN itself does not absorb the fix scope.\n\nIf the executor cannot satisfy all four rules for a behavioral diff, the refactor has changed behavior — STOP and treat as a feature/fix, not a refactor.\n\n### P-NNN.10 Acceptance Criteria\n\nAll must be true to declare done:\n\n- [ ] All env baseline checks green (or §7.6 entries acknowledged)\n- [ ] All targeted tests pass\n- [ ] `tests-pre.txt` ≡ `tests-post.txt` (or differences justified in §9.2 / §9.6)\n- [ ] All manual smoke tests pass with same observable behavior (modulo §9.6 drift entries)\n- [ ] Perf check passes (improvement for speed targets; no regression otherwise)\n- [ ] No new lint / typecheck errors\n- [ ] Project conventions honored (per project guidelines)\n- [ ] §9.6 drift log: ≤ ~3 entries, all four rules satisfied, all backed by new tests\n- [ ] HTML artifact (§12) produced and saved\n- [ ] PR opened with link to artifact\n\n### P-NNN.11 Rollback Plan\n\n- **If parity fails partway:** branch is disposable; revert to baseline branch.\n- **If a partial migration is shipped:** explicit unwind procedure (DB migration down-migration, feature-flag flip, cutover reversal).\n- **If post-merge regression discovered:** the revert PR command, plus any data fixes needed.\n\nThe rollback must be specific. \"Git revert\" is not a plan unless the change is purely code with no migrations / no shipped state.\n\n### P-NNN.12 Final Report — HTML Artifact\n\nThe executor produces an HTML artifact summarizing the run. Use the **Executor's HTML Artifact Template** (below) as the starting point.\n\nRequired artifact contents:\n- Header: target name, date, executor, branch, PR link\n- Pre-baseline summary (commands + key outputs)\n- Changes summary (files changed, LOC delta, key abstractions added)\n- Post-baseline summary (commands + key outputs)\n- Diff vs baseline (tests, behavior, perf)\n- §7.6 entries (if any) — acknowledged exclusions\n- §9.6 drift log (if any) — entries with proof\n- Acceptance checklist (filled in)\n- Verdict: **PASS** or **FAIL** (with reason)\n\nSave to `<artifact path>` and surface via the project's artifact-display mechanism.\n\n---\n\n## Executor's HTML Artifact Template\n\nA self-contained HTML document the executor fills in at the end of a PLAN. The PLAN must hand this template (or a pointer to it) to the executor.\n\nStructure (in plain HTML/CSS, no external deps):\n\n```\n- <header>: Project, Target ID, Title, Date, Executor, Branch, PR\n- <section id=\"verdict\">: Big PASS / FAIL banner, one-sentence summary\n- <section id=\"pre-baseline\">:\n    - Env checks: command + result table\n    - Test results: pre snapshot\n    - Manual checks: pre snapshot\n    - Perf numbers: pre snapshot (3 runs + median)\n    - §7.6 acknowledged exclusions (if any)\n- <section id=\"changes\">:\n    - Files changed (table)\n    - LOC delta\n    - New abstractions introduced\n    - Notable design decisions\n- <section id=\"post-baseline\">:\n    - Env checks: command + result table\n    - Test results: post snapshot\n    - Manual checks: post snapshot\n    - Perf numbers: post snapshot (3 runs + median)\n- <section id=\"diff\">:\n    - Test output diff (pre vs post) — must be empty or fully justified\n    - Behavior parity checklist (filled)\n    - Perf delta table\n    - §9.6 drift log entries (if any)\n- <section id=\"acceptance\">: checklist with checks filled in\n- <section id=\"rollback\">: link to rollback plan, plus disposal instructions if shipped\n```\n\nStyle: simple, monospace for command/output blocks, clean tables, no external CDN. Mobile-responsive. The template itself is project-agnostic; the PLAN customizes contents.\n\n---\n\n## Anti-Patterns to Avoid\n\n| Anti-pattern | Why it kills the report |\n|---|---|\n| Recommending refactors without file:line evidence | Reviewer can't validate; executor can't locate |\n| \"Improve maintainability\" with no concrete what/how | Unactionable; produces churn |\n| Skipping baseline capture | No way to prove parity; executor improvises |\n| Skipping post-refactor parity check | Behavior drift ships unnoticed |\n| Recommending behavior change disguised as refactor | Refactor = same behavior, better internals — anything else is a feature/fix |\n| Listing 30 opportunities in AUDIT with no prioritization | The user can't act on a flat list |\n| Treating the priority formula as a verdict | Score is advisory; editorial judgment can override with a one-line rationale, and reviewers can challenge both |\n| One reviewer | Misses categories of issues a second perspective would catch |\n| Vague reviewer feedback (\"strengthen security\") | Cannot be applied; produces churn |\n| PLAN that requires the executor to design things mid-stride | Either the PLAN specifies, or it leaves a labeled \"design choice X\" with options and a recommended default |\n| Letting \"TBD\" survive into Final | Means executor will guess (badly) |\n| Ignoring the project's own coding standards | Refactor produces less-aligned code — net negative |\n| Padding the report to look thorough | Length is a side effect of completeness, not a target |\n| Running both modes in one invocation | Confuses scope; AUDIT and PLAN are sequential, not concurrent |\n| Letting an XL item ship as a single PLAN target | XL must be split during AUDIT; if it survives to PLAN, the AUDIT was wrong |\n| Stuffing §7.6 with multiple exclusions | Means the AUDIT mis-scoped this target — go back |\n| Drift log entries without all four discipline rules | Either it's not really a refactor, or scope creep — STOP |\n\n---\n\n## Quality Markers\n\nA finished report should pass:\n\n- Mode is unambiguous; outputs match the mode's schema\n- Every claim has evidence (file:line) — none are hand-waved\n- (AUDIT) Priority ordering is defensible; formula is visible; editorial overrides are justified\n- (AUDIT) No XL items remain — they've been split\n- (PLAN) Pre and post baselines are 1:1 mirrors — every check has a partner\n- (PLAN) §7.6 has 0 or 1 entries (more = AUDIT was wrong); each entry is acknowledged\n- (PLAN) §9.6 drift log is empty by default; if populated, all four rules satisfied per entry\n- (PLAN) Every step in §8 is concrete enough to execute without re-thinking\n- (PLAN) Callsite hunt list is exhaustive (the executor doesn't have to grep for more)\n- (PLAN) Acceptance criteria are testable, not aspirational\n- (PLAN) Rollback plan is real (not just \"git revert\")\n- (PLAN) HTML artifact template is self-contained and producible\n- Project conventions are honored end-to-end\n- No surviving \"TBD\", \"TODO\", or \"we'll figure this out later\"\n- The receiving developer can run the loop without coming back with clarifying questions\n\n---\n\n## Reference Workflow Checklist\n\n```\nPhase 1 — Scoping & Context Load\n  [ ] Mode locked: AUDIT or PLAN\n  [ ] Targets locked (if PLAN): 1–3 specific items\n  [ ] Scope locked: paths / subsystems\n  [ ] Project conventions loaded (CLAUDE.md, dev guidelines, PRD)\n  [ ] Test/build/lint commands captured\n  [ ] Discovery split planned (default 7 facets for AUDIT, drop/add as fits)\n\nPhase 2 — Discovery / Draft 1\n  [ ] (AUDIT) Default facets selected; extension facets added if relevant\n  [ ] (AUDIT) Facet agents launched in parallel\n  [ ] (PLAN) One topology agent per target; launched in parallel\n  [ ] All agents returned\n  [ ] Findings clustered (AUDIT) / topology assembled (PLAN)\n  [ ] (AUDIT) XL items split before they reach the ranked list\n  [ ] Draft 1 written per the appropriate schema\n\nPhase 3 — Dual Review\n  [ ] Skeptic reviewer launched\n  [ ] Mode-appropriate Reviewer B launched (Prioritizer for AUDIT, Executor's Eye for PLAN)\n  [ ] Both returned with required output format\n  [ ] Findings unified into a single fix list\n\nPhase 4 — Draft 2\n  [ ] Per-section fix instructions specific & copy-pasteable\n  [ ] Rewrite agents launched in parallel\n  [ ] Cross-cutting consistency reconciled\n  [ ] Draft 2 assembled\n\nPhase 5 — Final Review\n  [ ] Single reviewer pass\n  [ ] Remaining issues listed (concise)\n\nPhase 6 — Draft 3\n  [ ] Final fixes applied\n  [ ] Marked Final + dated\n\nPhase 7 — Delivery\n  [ ] Rendered as HTML artifact via host's artifact mechanism\n  [ ] Markdown copy saved to stable path\n  [ ] Working memory updated\n  [ ] Handed off to user with clear pointers (and PLAN handoff instructions if applicable)\n```\n\n---\n\n## When to Update This Skill\n\nUpdate when:\n\n- A new facet emerges that AUDIT consistently misses (add to the default 7 or extension menu)\n- A new category of \"executor blocker\" appears in PLAN reviews (add to Executor's Eye checklist)\n- A new project type needs a different verifiability shape (e.g. mobile app smoke testing)\n- A pattern emerges that should become a default\n\nDo **not** update for:\n\n- Project-specific quirks (those go in the report itself, not the skill)\n- One-time formatting preferences\n- Tech-stack-specific opinions (those belong in code-conventions skills)","tags":["code","refactor","crhq","prds","zeropointrepo","agent-skills","agentic-ai","agentic-workflow","ai-development","ai-development-platforms","claude-code","prd"],"capabilities":["skill","source-zeropointrepo","skill-code-refactor","topic-agent-skills","topic-agentic-ai","topic-agentic-workflow","topic-ai-development","topic-ai-development-platforms","topic-claude-code","topic-prd","topic-product-requirements"],"categories":["CRHQ-PRDs"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/ZeroPointRepo/CRHQ-PRDs/code-refactor","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add ZeroPointRepo/CRHQ-PRDs","source_repo":"https://github.com/ZeroPointRepo/CRHQ-PRDs","install_from":"skills.sh"}},"qualityScore":"0.454","qualityRationale":"deterministic score 0.45 from registry signals: · indexed on github topic:agent-skills · 8 github stars · SKILL.md body (35,974 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:08:52.248Z","embedding":null,"createdAt":"2026-05-18T13:14:32.778Z","updatedAt":"2026-05-18T19:08:52.248Z","lastSeenAt":"2026-05-18T19:08:52.248Z","tsv":"'+1':1056 '-001':2808 '-003':1619,2379 '-005':1616 '-007':2338,3021 '-007.1':3023 '-007.12':3026 '/escape-hatch':1160 '/manual-post.md':3766 '/manual-pre.md':3349 '/perf-post.txt':3795 '/perf-pre.txt':3373 '/tests-post.txt':3728 '/tests-pre.txt':3313 '0':1547,3229,3232,4848 '0.4':1557,2920 '0.7':1554,2919 '000':8 '003':2809 '1':248,252,321,336,525,648,662,736,754,806,985,1030,1353,1358,1431,1436,1498,1500,1546,1562,1571,1663,1675,1712,1810,1880,2211,2330,2549,2550,2677,2797,2981,3005,3030,3771,3915,4837,4838,4850,4967,4980,5013,5058 '1.0':1549,2918 '1.1':744 '1.2':797 '1.3':933 '10':7,1362,1364,1443,1448,1786,4055 '11':4149 '12':2883,4136,4224 '2':380,529,659,682,813,962,982,991,1052,1521,1544,1564,1573,1669,1721,2278,2300,2309,2318,2352,2402,2501,2707,3059,3776,3940,5010,5101,5122 '3':249,253,322,409,533,672,701,755,828,1072,1328,1359,1361,1437,1442,1542,1576,1664,1676,1733,1843,2346,2637,2727,2791,2798,2982,3006,3080,3365,3486,3790,3968,3996,4123,4401,4437,4981,5065,5138 '30':3089,4577 '4':450,680,836,1106,1566,1575,1625,1643,1743,2276,3127,3984,5099 '47':464,2877 '5':484,491,690,1128,1329,1750,2483,2792,3150,5125 '50':1904 '6':517,699,1146,1759,2635,3183,5136 '7':553,707,942,1019,1172,1766,2666,3203,3536,5002,5146,5198 '7.1':3221,3401,3459,3703 '7.2':3292,3724 '7.3':3314,3762 '7.4':3350,3789 '7.5':3374 '7.6':2570,3291,3390,3449,3471,3543,3712,4071,4290,4404,4750,4846 '8':581,1568,1775,3522,4880 '80':1321 '9':608,1780,3676 '9.1':3694 '9.2':3715,3967,4084 '9.3':3752 '9.4':3780 '9.5':3824 '9.6':2185,2583,3746,3751,3848,3943,4085,4096,4120,4296,4459,4861 '93':465,2878 'absorb':4022 'abstract':453,1038,1479,1632,2061,3585,4275,4415 'accept':2393,4056,4304,4906 'accur':2519 'accuraci':1341,2900,3192 'acknowledg':3445,3494,3545,3713,4073,4294,4405,4859 'across':208,719,1006,1917,2960 'act':4588 'action':2245 'actual':2084,2099,2426,2503 'ad':1082,2824,3827,3911,4276,5020 'ad-hoc':1081 'adapt':516,2672 'add':951,1209,1216,1603,2345,2370,3841,5194,5212 'advisori':1228,1525,2847,4602 'affect':1337,1472,3328 'agent':14,42,664,972,996,1002,1027,1293,1296,1594,1683,1686,1815,1835,2294,2310,2639,2784,2828,2849,5025,5032,5039,5112 'agents.md':810 'agnost':4499 'ai':13 'align':573,1968,4689 'alloc':966 'alreadi':1283,1405,2039,2448,3927 'also':612 'alter':1948 'altern':1952 'alway':801 'ambigu':784 'analysi':971,1682 'analyz':1695 'anchor':1428,2841 'angl':1520 'anti':1068,4505,4510 'anti-pattern':1067,4504,4509 'anticip':2587 'anyth':908,980,1398,1787,2610,3070,4571 'api':1073,1286 'app':5229 'appear':3461,5208 'appli':683,950,1023,1198,2160,2324,2640,4636,5141 'applic':19,3039,3345,5178 'approach':3597 'appropri':5062,5073 'architectur':1031,1076,1271,3159 'area':217 'artifact':286,594,630,710,2162,2474,2561,2685,2696,2756,2766,4135,4145,4228,4234,4243,4251,4323,4329,4923,5151,5155 'artifact-display':2695,4322 'ask':766,785,1984,2080 'aspir':4911 'assembl':1496,5045,5123 'async':1139 'attack':1245 'attent':3582,3639 'audit':46,74,90,202,260,315,499,720,748,939,963,992,1299,1499,1649,1887,1979,2524,2687,2769,2774,2940,3036,3474,4580,4717,4739,4746,4756,4810,4822,4853,4973,5005,5014,5023,5043,5047,5079,5191 'auth':1237 'authorit':878 'avoid':4508 'b':677,1861,1976,1981,2075,2202,3280,3410,3460,5075 'back':764,1892,4130,4763,4959 'backend':1077,1277 'bad':4677 'banner':4379 'base':407,1599,3250,3275 'baselin':359,428,592,2093,2415,2546,3208,3223,3316,3352,3375,3378,3385,3503,3534,3540,3699,3785,3947,4067,4161,4263,4279,4286,4541,4835 'batch':789 'becom':5237 'began':3932 'behavior':154,160,337,349,366,1392,1751,1772,1936,2035,2180,3113,3315,3325,3434,3767,3770,3775,3852,3924,3983,3992,4036,4042,4094,4288,4452,4556,4561,4568 'belong':5268 'better':153,161,1393,3155,4569 'beyond':2603,3816 'big':4376 'bind':382 'block':607,1624,4484 'blocker':5207 'bottom':225,1581,2022 'bound':3137 'boundari':1032,1092 'branch':889,3049,3251,3383,3530,4156,4162,4258,4374 'brittl':1125,1225 'broken':1789,2060 'browser':1770 'browser-driven':1769 'bug':137,3869,3897,4010 'build':867,1217 'built':20 'bundl':1143,3362 'burn':1421 'byte':3952 'byte-ident':3951 'cach':1141 'call':2049,2962 'callsit':1476,1723,1919,2121,3095,3619,3623,4891 'candid':1012 'cannot':4029,4634 'canon':2406 'cap':3986 'captur':427,848,2094,3295,3359,3364,4542,4997 'case':1785,3840 'catch':539,2491,2609,4628 'categori':541,4621,5204 'caus':2956 'cdn':4489 'ceremoni':510 'challeng':1635,1881,2226,4616 'chanc':2607 'chang':155,345,368,1388,1862,1937,1945,2036,2181,2274,3173,3550,3556,3853,3991,4041,4211,4268,4271,4410,4562 'char':1322 'characterist':1777 'chat':168 'check':437,2138,2419,2498,3263,3284,3413,3417,3436,3682,3714,4068,4100,4385,4394,4421,4430,4467,4555,4841 'checklist':2605,3769,4305,4454,4465,4965,5217 'checkpoint':3376 'choic':4660 'choos':3256 'churn':4539,4638 'ci':903,1220 'citat':2514 'cite':398,2071,2341,3094 'claim':384,1883,2227,4800 'clarifi':4961 'claude.md':809,4991 'clean':4485 'clear':957,1629,1924,5171 'click':3333 'close':412,446 'cluster':1501,5042 'code':2,23,88,140,147,562,818,1147,1155,1164,1264,2434,2785,3087,3139,3220,3666,4214,4683,4690,5271 'code-convent':5270 'code-refactor':1 'codebas':34,76 'come':4958 'command':591,861,870,1761,2101,2404,2407,2535,3225,3303,3356,3515,3701,3722,3787,4192,4265,4281,4386,4422,4996 'command/output':4483 'commit':890,893,3377 'comparison':364,2142,2556 'complet':2125,3212,3538,3686,4705 'compon':1075,1094,1270 'comput':1522,3796 'concern':3644 'concis':2619,5134 'concret':2096,2111,2273,3134,3506,4535,4882 'concurr':4723 'condit':3529 'confid':1531,1548,2062,2917 'config':845,876,1251,2461 'configur':1247 'confus':2220,4715 'consid':1959,2986 'consist':2397,5119,5192 'constraint':1383 'contain':2565,3010,4334,4928 'content':724,4252,4503 'context':650,738,800,919,1180,4969 'contract':1048,1491,1752,3114 'contradict':2510 'convent':555,578,655,879,891,892,1149,1308,1704,1960,2389,2421,2825,3050,3572,3654,3658,4115,4932,4989,5272 'copi':2364,2711,5109,5158 'copy-past':2363,5108 'core':334 'correct':3923,3982 'correspond':3976 'cost':546 'cover':1406,3744,3957 'coverag':1108,1124 'cpu':1131 'creat':3443,3532 'creep':3179,4781 'crhq.ai':22 'criteria':4057,4907 'criterion':2602 'critic':1111,1187,1899,2203 'cross':1489,2043,2395,2948,3642,5117 'cross-cut':2042,2394,2947,3641,5116 'cross-servic':1488 'crowd':2017 'current':1756,1788,2321,3081,3108,3246 'custom':586,4502 'cut':2044,2396,2949,2996,3643,5118 'cutov':3606,3617,4181 'cyclic':1035 'data':1053,1201,1485,2168,4195 'date':2657,2777,3047,3447,4256,4372,5144 'day':1356,1434,1440,1446,1451 'db':822,4172 'dead':1163 'debt':86 'decid':934 'decis':584,2734,4419 'declar':3692,4063 'deep':56,96,267,969,1680,2989 'deep-div':55,95,266,968,1679,2988 'deepli':1694 'default':582,598,943,1016,2818,3278,3453,3883,4667,4867,5001,5015,5197,5239 'defens':1988,2531,4814 'defin':2104,3820 'deliber':3170 'deliver':2747 'deliveri':708,2667,5147 'delta':3634,3797,4273,4413,4457 'dep':1036,4367 'depend':1226,1746 'deploy':898 'deprec':3611 'depth':515 'descript':3422,3635 'design':2120,4418,4645,4659 'despit':1620 'detail':2938 'dev':564,1355,1433,1439,1445,1450,4992 'dev-day':1354,1432,1438,1444,1449 'develop':107,330,425,816,2083,2751,4952 'diff':479,3562,3729,3898,3945,4037,4284,4442 'differ':299,540,728,1850,1868,1871,3732,3908,4081,5224 'dimens':1336,1539,3185,3188 'direct':1928,3660 'disagre':1591 'disciplin':2175,2591,3913,4770 'discov':4188 'discoveri':660,936,983,1690,4998,5011 'disguis':2038,4563 'display':2697,4324 'dispos':4158,4475 'dive':57,97,268,970,1681,2990 'diverg':988 'do-not-touch':913 'doc':2626 'docker':905 'document':820,824,1781,3415,3877,3941,4336 'doesn':444,1196,4898 'done':3693,4064 'down-migr':4174 'downstream':548 'draft':303,524,528,532,661,681,700,925,984,1497,1809,1829,1834,1879,2277,2308,2317,2322,2401,2500,2636,2731,5012,5057,5100,5121,5137 'drift':1063,1086,1101,1150,1191,1227,1961,2173,2584,2959,3747,3849,3891,3920,3939,3972,3989,4007,4097,4121,4297,4460,4557,4764,4862 'drill':1097 'driven':1771 'drop':945,1192,1200,2820 'drop/add':5006 'dual':526,673,1844,2494,5066 'duplic':395,1165,1403,1502 'e.g':1199,2051,2336,2957,3051,3736,5227 'e2e':860,1126 'earn':3593 'easi':2013 'edg':1784,3839 'edit':3565,3601 'editori':1585,2002,2851,2923,4603,4818 'effect':4703 'effort':1347,1417,1429,1532,1560,1920,1998,2238,2908 'effort/risk':1427,2840 'either':120,1927,3956,4650,4772 'els':3040,4572 'emerg':5189,5234 'empti':3451,3881,4448,4865 'encourag':3830 'end':115,117,570,621,623,1966,2088,2090,4343,4936,4938 'end-stat':1965 'end-to-end':114,620,2087,4935 'endpoint':1079,1717,2961,3064 'enough':2097,2112,4883 'enter':3335 'entir':18 'entri':2577,3455,3469,3488,3544,3885,3892,3973,4072,4098,4124,4291,4301,4462,4766,4851,4857,4875 'enumer':2133 'env':1248,1250,2471,4066,4384,4420 'envelop':1085 'environ':2460,2676,3222,3698 'equival':843 'error':883,1084,1175,1189,2441,3230,3233,3650,4113 'escap':3396 'especi':1929 'estim':1346,1371,1921,2239 'even':2027 'everi':350,383,585,930,1313,1722,1734,1744,2126,3097,3622,3944,3971,4799,4840,4877 'everywher':2481 'evid':381,1015,1327,1400,1517,1551,1894,2072,2236,2340,2513,2875,3136,4522,4802 'evidence-bound':3135 'exact':871,1713,3011,3061,3224,3341,3355 'except':3710 'excerpt':3088 'exclud':3412 'exclus':3442,4295,4406,4753 'execut':28,113,130,239,243,1652,2789,2937,4885 'executor':329,411,600,605,619,1423,2077,2170,2750,2763,3210,3253,3501,3511,3646,3684,3863,3999,4028,4230,4240,4257,4326,4338,4360,4373,4527,4548,4643,4674,4897,5080,5206,5214 'exercis':1737,1763,3109,3300 'exhaust':4895 'exist':33,2438,2456,2574,3394,3868,3896,3918 'exit':2601 'expect':3226,3228,3231,3234,3236,3339,3672,3704 'explicit':911,1494,2302,2633,3456,3734,4169 'export':472 'extens':952,1207,2822,5018,5200 'extern':1745,4366,4488 'extract':454 'eye':2079,5082,5216 'facet':667,944,953,999,1005,1017,1024,1194,1208,1213,1287,1504,2814,2819,2823,5003,5016,5019,5024,5188 'fact':2269 'fail':449,3262,3283,3518,4154,4311,4378 'failur':2575,3395,3418 'featur':157,1387,4178 'feature-flag':4177 'feature/fix':372,4048,4575 'feature/module':101 'feedback':2251,4631 'figur':4946 'file':399,492,881,1330,1714,1730,1740,1805,2343,2516,2714,3062,3067,3092,3111,3379,3558,3624,3669,4270,4409,4520,4803 'filenam':2476 'fill':2760,4306,4339,4455,4468 'final':530,615,691,702,705,2484,2488,2642,2655,4225,4672,5126,5139,5143 'find':50,203,1317,1404,1425,2281,3864,5041,5091 'finish':4786 'first':174,566,3264,4009 'fit':5008 'five':2052 'fix':138,173,514,685,703,1800,2216,2288,2306,2329,2332,2358,2502,2507,2646,3260,3871,4011,4024,4196,5096,5105,5140 'fks':1061 'flag':1171,1797,1942,3482,4179 'flaki':1115 'flat':4591 'flight':3876 'flip':4180 'floor':3819 'focus':216 'follow':331,835,1823,2114,2328 'foo':475 'forbidden':906 'format':2189,3671,5090,5260 'formatt':874 'formula':1622,1638,1997,2834,4596,4815 'four':2590,3889,3912,4032,4126,4769,4871 'framework':852,863 'fresh':3042,3382 'frontend':1093,1266,1279 'full':274,508,771,1710,3216,3690 'full-stack':507 'fulli':3537,4450 'function':1716,3936 'gap':1109 'general':1410 'generic':2429 'genuin':1870 'get':302,596,927 'git':1467,2152,4203,4919 'give':105 'go':4762,5249 'goal':2490,3152,3166,3176 'goe':2690 'gotcha':3578 'grade':6 'green':3277,3541,3709,4069 'grep':4902 'group':1000 'guarante':3289 'guard':3438 'guess':2430,4676 'guidelin':565,817,1974,3055,3577,4119,4993 'h':1541,2889,2893,2897,2901,2905 'h/m/l':1345,2837,3186 'half':1691 'hand':4350,4808,5166 'hand-wav':4807 'handl':1235 'handoff':713,5175 'happen':2671 'hard':390,3403 'hatch':3397 'header':2772,4253 'health':2795 'help':2968 'helper':457 'hidden':1935,2179 'hide':1932 'high':48,123,2217 'high-level':47,122 'higher':2019 'hit':3337,3648 'hoc':1083 'honest':1415 'honor':3656,4116,4934 'host':2675,2721,5153 'hotspot':1071,1105,1130 'html':285,629,709,2161,2473,2560,2684,2755,2765,4134,4227,4233,4242,4328,4335,4922,5150 'html/css':4364 'hunt':695,2122,3620,4892 'id':3032,3033,3037,4370 'ident':716,740,3953 'identifi':846 'ignor':4678 'impact':227,1335,1529,1535,1896,2016,2887,3184,3432 'implement':3604 'improv':3807,4102,4531 'improvis':4549 'in-flight':3874 'in-plac':3598 'incid':172 'includ':624,2753,3490 'inconsist':1078,1157,1176 'index':1059 'infra':657,857 'input':200,474,1639,2371 'instruct':282,617,2307,2382,3524,3566,4476,5106,5176 'integr':859,1123 'intent':3851 'interfac':3586 'intern':162,346,1394,4570 'internet':1244 'introduc':2508,3587,4416 'invas':1957 'invent':3514 'invoc':197,4714 'invok':3407,3457 'io':1132 'isol':1464,3308 'issu':543,697,1510,2623,3425,4623,5132 'item':231,1457,1613,1991,2010,2021,2023,2054,2246,2855,4727,4825,4983,5049 'job':2945 'judgment':1590,4604 'justif':3735,3899 'justifi':2580,3197,4082,4451,4821 'keep':1516,1804,3595 'key':2733,4266,4274,4282 'kill':4514 'known':2571,3391 'l':1350,1360,1375,1441,1483,1545,1565,1574,1934,2891,2895,2899,2903,2907,2911,2916 'label':4658 'lack':2007 'land':2504 'languag':851 'last':2606 'later':176,1380,2935,4949 'launch':979,994,1677,2291,5026,5035,5070,5076,5113 'layer':1034,1054,1202 'layout':2427 'leaki':1037 'leav':4656 'length':4699 'less':580,1956,4688 'less-align':4687 'let':12,4668,4724 'level':49,124 'leverag':228,2020,2976 'librari':886 'like':902,3158 'line':9,402,463,1331,1731,1741,1806,1905,2267,2344,2375,2517,2859,3090,3093,3112,3421,3560,3625,4521,4611,4804 'link':2724,3423,3574,4143,4260,4470 'lint':869,4111 'linter':873 'list':126,219,318,2031,2123,2289,2620,3072,3296,3621,4576,4592,4893,5056,5097,5133 'll':2759,4945 'load':651,739,798,4970,4990 'loc':4272,4412 'locat':593,864,1041,2106,2475,2664,3590,3847,3893,4530 'lock':745,3980,4972,4977,4985 'log':887,1177,1183,2174,2450,2585,3649,3748,3850,4122,4298,4461,4765,4863 'logger':2457 'logic':1042,1166 'look':309,901,1028,1884,1913,1989,2091,3157,4697 'loop':277,414,443,1135,4956 'low':2015,2224 'lower':1621 'm':1349,1357,1374,1435,1473,1543,1563,1572,2890,2894,2898,2902,2906,2910,2915 'made':2994 'maintain':91,392,1338,2888,3189,4532 'make':2613 'manag':855,1100 'mani':1918 'manual':1768,3317,3756,4087,4393,4429 'map':1706,3096 'mark':704,2652,5142 'markdown':2713,5157 'marker':4784 'match':2067,2422,2435,2444,2452,2462,3034,4794 'matter':1774,3146 'max':757 'may':2850,3921 'mean':4673,4754 'measur':420,1779,3806 'mechan':2698,4325,5156 'median':3368,3792,4403,4439 'medium':2223 'memori':712,1133,2730,3361,5164 'menu':5201 'merg':1511,4186 'messag':790 'method':2811 'methodolog':43,297,512,2778 'mid':4648 'mid-strid':4647 'migrat':1486,2157,3066,3596,4166,4173,4176,4217 'mileston':2596 'mirror':4839 'mis':1040,1993,3476,4758 'mis-loc':1039 'mis-rank':1992 'mis-scop':3475,4757 'miss':1058,1089,1122,1140,1167,1179,1184,1951,2271,2496,4620,5193 'misus':1065 'mitig':2040 'mobil':4491,5228 'mobile-respons':4490 'mock':1118 'mocked-too-much':1117 'mode':45,179,185,198,290,646,652,733,743,747,987,993,1170,1667,1671,1859,1864,1877,1978,2736,2745,2773,4711,4790,4796,4971,5072 'mode-appropri':5071 'model':884,1190,2442,3651 'modul':1043,1050,1715,1906,3063 'modulo':4095 'monospac':4481 'move':462,1612,1614 'much':1046,1120 'multi':38,41,295,519,522,2780,2783,3614 'multi-ag':40,2782 'multi-perspect':521 'multi-round':37,294,518,2779 'multi-step':3613 'multipl':1256,1475,2951,4752 'must':352,367,397,569,1366,1452,1602,2264,2359,2443,2670,2752,3211,3489,3504,3627,3685,3804,3812,3886,3954,4059,4200,4349,4446,4735 'n':1055,2376 'name':250,880,1158,1700,2431,2439,2660,3446,3588,3668,4255 'need':496,505,958,2237,3132,4197,5222 'negat':4692 'negoti':342 'net':3934,4691 'net-new':3933 'never':191,347,579,606,791 'new':156,470,2433,2509,3584,3825,3909,3935,3977,4110,4132,4414,5187,5203,5219 'next':1609,1657,2801 'nnn':2873,3029,3045,3058,3079,3126,3149,3182,3202,3521,3675,4054,4148,4223 'nobodi':1907 'nois':3818 'non':341,3165,3175,3809 'non-goal':3164,3174 'non-negoti':340 'non-spe':3808 'none':4805 'normal':3437 'normalizedfoo':476 'normalizefoo':473 'notabl':4417 'note':923,1412,2816,2842,3573,3659,3749,3846,3965 'number':403,3015,3371,3551,4398,4434 'observ':348,1173,1758,1949,2451,3118,3347,3764,4093 'occurr':3879 'offer':761 'often':255,1505 'omit':2930 'one':16,187,265,665,792,967,997,1324,1381,1411,1606,1644,1678,1818,1833,2405,2726,2858,2927,3257,3420,3468,3570,4381,4610,4618,4713,5030,5258 'one-lin':2857,3419,4609 'one-paragraph':1323 'one-sent':1605,4380 'one-shot':15 'one-tim':5257 'open':3427,4141 'oper':184 'opinion':5266 'opportun':52,79,207,221,1013,1315,1627,1647,1886,2863,2867,2952,4578 'option':215,1958,3279,3409,3828,4663 'order':805,1577,1588,1600,1987,2005,2523,2529,2854,2870,4812 'org':882,3670 'orm':1066 'otherwis':2931,4108 'output':201,1950,2103,2188,2617,3310,3340,3726,3902,3905,4267,4283,4441,4793,5089 'overal':2794 'overlap':1413 'overrid':1595,1642,2862,2924,4606,4819 'overs':1142 'overst':1895 'p':3022,3025,3028,3057,3078,3125,3148,3181,3201,3520,3674,4053,4147,4222 'p-nnn':3027,3056,3077,3124,3147,3180,3200,3519,3673,4052,4146,4221 'p0':2247 'p1':2248 'p2':2249 'packag':854 'package.json':841 'pad':4693 'paragraph':234,1325,1645 'parallel':538,663,678,686,995,1832,1849,2292,3603,5028,5037,5115 'parallel-implementation-with-cutov':3602 'pariti':338,354,2137,3288,3431,3681,3768,4153,4453,4547,4554 'partial':1556,2159,4165 'partner':2551,4844 'partway':4155 'pass':2146,2489,2651,3227,3238,3247,4077,4090,4101,4309,4377,4789,5130 'pasteabl':2365,5110 'path':214,264,400,595,776,779,1009,1112,1188,2420,2718,2812,4986,5162 'path/to/file.ts':2876 'path/to/other.ts':2882 'pattern':1069,1298,1688,2312,2477,4506,4511,5233 'pay':3581,3638 'payment':1238 'per':61,270,666,669,732,973,998,1295,1646,1685,1821,1836,2304,2408,2527,2861,3000,3018,3053,3187,3822,4117,4874,5033,5060,5103 'per-ag':1294,1684 'per-mod':731 'per-sect':2303,5102 'per-target':60,2526,3017 'perf':1104,4099,4289,4397,4433,4456 'perform':1129,1776,3351,3784 'perspect':523,536,1851,1869,4626 'phase':642,647,658,671,679,689,698,706,714,727,735,932,961,981,990,1668,1842,2275,2299,2482,2634,2665,3485,4966,5009,5064,5098,5124,5135,5145 'pick':186,256,319,769,1661,2478,2971 'pii':1236 'place':2127,3098,3600,3997 'plain':3122,4363 'plan':54,99,241,325,333,351,416,448,461,483,502,589,610,632,722,750,752,965,975,1370,1460,1495,1666,1670,1689,1812,1819,1825,1890,2073,2148,2530,2539,2557,2568,2581,2689,2742,2744,2805,2943,2972,2978,2997,3009,3169,3464,3497,3517,4018,4151,4208,4346,4348,4473,4501,4639,4652,4719,4732,4744,4831,4845,4860,4876,4890,4905,4912,4914,4921,4975,4979,5000,5029,5046,5084,5174,5210 'platform':498 'plus':235,261,3162,4193,4474 'pm':3493 'pm2':904 'point':4249 'pointer':4355,5172 'polici':895 'popul':4869 'portabl':2710 'possibl':688 'post':363,2135,2418,2555,3678,3904,4185,4278,4427,4431,4435,4445,4552,4834 'post-baselin':4277 'post-check':2417 'post-comparison':362,2554 'post-merg':4184 'post-output':3903 'post-refactor':2134,3677,4551 'postur':1231 'pr':896,3268,3270,4005,4016,4140,4191,4259,4375 'prd':830,4994 'prds':10 'pre':358,2545,2573,3205,3393,3528,3774,3779,3799,3867,3895,3901,3917,4262,4391,4395,4399,4443,4832 'pre-baselin':357,2544,4261 'pre-condit':3527 'pre-exist':2572,3392,3866,3894,3916 'pre-output':3900 'pre-refactor':3204 'pre/post':275 'precis':1808,3564 'prefer':5261 'present':812,2102 'preserv':2177 'previous':3837 'previously-untest':3836 'principl':335 'prior':259 'priorit':125,218,1983,4583,5077 'prioriti':1523,1528,2244,2522,2830,2869,2921,4595,4811 'problem':3128 'procedur':4171 'produc':27,58,242,438,627,1817,2165,2192,2205,2219,2567,2725,2732,4137,4231,4538,4637,4686,4930 'product':5,171,1811 'production-grad':4 'project':210,263,493,554,559,576,654,772,799,807,814,823,834,910,956,1152,1234,1274,1305,1307,1702,1971,2385,2424,2436,2447,2454,2464,2659,2693,2775,3048,3054,3576,3653,3664,3823,4114,4118,4320,4368,4498,4680,4931,4988,5220,5245 'project-agnost':4497 'project-specif':5244 'project/subsystem':213 'prompt':1297,1687,2311 'proof':4303 'prop':1096 'propos':132,478,1386,1397,1889,1944,1964,3561 'prose':3123,3161 'prove':353,4546 'public':1243,1728,2723,3104 'public-internet':1242 'pure':4213 'purpos':26,199 'push':763 'qualiti':89,1148,4783 'queri':1057,1070 'question':793,4962 'quirk':5247 'rank':51,205,317,1994,2864,5055 'rate':1343,1540,2063,3199 'rational':1608,2008,2860,2929,4612 'raw':3370 're':433,1282,1587,2004,2117,2260,2853,3388,3696,3717,3754,3782,4888 're-ord':1586,2003,2852 're-request':2259 're-run':432,3695,3716,3753,3781 're-think':2116,4887 'reach':5053 'read':557,802,1878,2319 'readm':840 'real':1333,2141,2150,2515,4916 'realli':4776 'reason':4313 'rebas':3271 'receiv':424,4951 'recommend':408,2977,4517,4560,4666 'reconcil':2399,5120 'record':3367 'recover':3389 'ref':1732,1742,1807,2347 'refactor':3,24,29,63,78,83,98,109,131,158,175,206,245,344,375,568,1314,1390,1615,1618,1697,1796,1911,1941,2108,2136,2337,2378,2381,2786,2807,2872,3020,3044,3052,3133,3151,3206,3269,3384,3523,3531,3679,3742,3803,3811,3833,3861,3931,4004,4039,4051,4518,4553,4565,4566,4685,4778 'refactor-nnn':2871,3043 'refer':1332,2480,3661,4963 'referenc':928,2826 'regress':3815,4107,4187 'reject':2257,2369 'relev':1212,3354,5022 'reliabl':1339,2892,3190 'remain':696,2622,2645,4826,5131 'renam':163,3739,3963 'renamed-test':3962 'render':1103,2678,5148 'render-perf':1102 'reorgan':166 'repli':169 'repo':827,838 'report':30,489,1826,2193,2198,2210,2615,2654,2680,2770,2998,4226,4516,4695,4787,5252 'request':2261 'requir':1493,2186,3733,3970,4250,4641,5088 'respons':4492 'result':3706,4387,4390,4423,4426 'return':1011,1318,1816,5040,5086 'revers':4182 'revert':1468,2153,4159,4190,4204,4920 'review':87,92,307,316,527,531,535,674,676,692,694,1633,1845,1847,1852,1860,1872,1975,1980,2074,2187,2191,2197,2199,2201,2263,2284,2485,2487,2495,2630,2643,2813,2815,3480,3491,4523,4614,4619,4630,5067,5069,5074,5127,5129,5211 'reviewer/pm':3444 'rework':2222 'rewrit':2293,2315,5111 'rewritten':2355 'right':486,1867 'right-siz':485 'rippl':1916 'risk':229,1265,1372,1419,1462,1533,1569,1910,2000,2913,3440 'rollback':1465,1480,1492,2147,4150,4199,4472,4913 'root':1509,2056,2955 'round':39,296,520,545,2781 'rule':2592,3405,3448,3857,3890,3914,4033,4127,4771,4872 'run':192,314,324,434,602,940,1020,1284,1461,2085,2100,2804,3305,3366,3697,3718,3755,3783,3791,4237,4402,4438,4709,4954 'runbook':614 'runnabl':2536,3508 'runtim':853 'satisfi':3887,4030,4128,4873 'save':551,917,1424,1801,2105,2353,2661,2708,3309,3346,3369,3725,3763,3793,4139,4314,5159 'say':376,912,2265,2631 'scale':2838 'scan':1003,1302 'schema':1062,1827,2388,2771,2999,4798,5063 'scope':649,653,737,770,1008,1701,1720,2034,2776,2810,2874,3060,3069,3076,3178,3281,3429,3477,4025,4716,4759,4780,4968,4984 'score':1524,1583,1598,1623,2831,2845,2922,4600 'score-bas':1597 'screenshot':3343 'script':1223,3760 'seam':1051 'second':4625 'secret':1262 'secrets-in-cod':1261 'section':616,734,2230,2255,2305,2356,2788,3013,3214,3535,3688,5104 'secur':1230,1342,2367,2904,3193,4633 'see':477,729,960,2702,2762,3290 'select':5017 'selector':1127 'self':2564,4333,4927 'self-contain':2563,4332,4926 'sentenc':1382,1607,2793,2928,3196,3571,4382 'separ':1268,1793,2053,3267,4015 'sequenc':312,3618 'sequenti':4721 'servic':1490 'set':777 'seven':641 'shape':718,888,1080,1178,2196,2459,5226 'share':291,643,1478,1631,2705,2953 'shareabl':2683 'shim':3609 'shim-and-deprec':3608 'ship':900,1470,3498,4008,4012,4168,4219,4478,4558,4728 'short':1319 'shot':17 'show':2832,2835,3805,3813 'side':4702 'signal':3472 'signatur':3589 'simpl':4480 'singl':693,788,2466,2486,2638,4731,5095,5128 'site':1206 'size':487,3363,3985 'skeptic':675,1875,5068 'skill':25,69,144,181,2787,5183,5256,5273 'skill-code-refactor' 'skip':544,4540,4550 'slow':387,1113,1144,1222 'small':1914,2648 'smaller':1456,1955 'smell':3140,3142 'smoke':3318,3757,4088,5230 'smuggl':2182 'snapshot':4392,4396,4400,4428,4432,4436 'sneak':1938 'solid':2628 'sourc':1257,2467 'source-zeropointrepo' 'spare':3399,3855 'spec':64,240,246,269,832,1088,1653,1820 'specif':129,451,2225,2331,2361,2497,4202,4982,5107,5246,5265 'specifi':2107,4653 'speed':1340,2896,3191,3801,3810,4104 'speed-target':3800 'split':937,977,1018,1288,1368,1454,2297,4003,4737,4830,4999,5050 'sprawl':1095 'squash':894 'src/foo.ts':467 'src/lib/normalizefoo.ts':471 'src/lib/validation':2391 'stabl':2717,5161 'stack':509,850,5264 'stamp':2656 'standard':563,819,1156,3667,4684 'start':190,4248 'startup':1145 'state':1099,1471,1967,2991,3082,3156,4220 'state-manag':1098 'statement':3129 'static':1205 'step':279,281,1658,2109,2373,2597,2802,3330,3332,3547,3549,3554,3569,3615,4878 'step-by-step':278,3329,3546 'still':3707 'stop':379,3177,3254,3404,4000,4043,4782 'straightforward':1482 'strength':2069 'strengthen':2252,2366,4632 'strict':1169,3856 'strict-mod':1168 'stride':4649 'string':872,2412,3342 'strong':1553 'stronger':2616 'structur':1182,4361 'stuf':4749 'style':3657,4479 'submit':3338 'subsequ':931 'subsystem':212,501,775,4987 'success':418,3235 'suffic':170 'suggest':2800 'sum':1530,1536,1537 'summar':1310,4235 'summari':1326,2790,4264,4269,4280,4383 'support':2234,2722 'surfac':1074,1246,1506,1729,3105,3834,4317 'surviv':4670,4742,4940 'suspect':1229,1253 'swallow':1174 'sync':1137 'sync-over-async':1136 'synthes':2279 'tabl':1718,3065,4388,4411,4424,4458,4486 'tag':236 'tangl':1033 'target':62,251,254,271,328,670,756,974,1674,1698,1699,1708,1726,1739,1748,1765,1792,1822,1837,2131,2528,2542,2740,2973,2979,3001,3007,3019,3102,3117,3293,3302,3327,3479,3719,3802,4075,4105,4254,4369,4708,4733,4761,4976,5034 'task':110 'tbd':4669,4941 'tech':85,849,5263 'tech-stack-specif':5262 'telemetri':1185 'templat':287,897,2163,2562,2757,2767,4244,4330,4352,4494,4924 'test':590,656,844,856,862,866,1107,1114,1116,1121,1735,1760,2145,2403,2409,2534,3106,3294,3298,3319,3720,3737,3758,3826,3843,3910,3964,3969,3978,4076,4089,4133,4287,4389,4425,4440,5231 'test/build/lint':4995 'testabl':2600,4909 'tests-post.txt':4079 'tests-pre.txt':3731,4078 'theme':2041,2799,2946,2967 'thing':2669,3579,3636,4646 'think':2118,4889 'thorough':4698 'three':758,2668 'tier':2410 'time':796,3360,5259 'titl':1320,1515,3031,3046,4371 'today':3120 'todo':4942 'tool':1218,2827 'top':223,320,1579,1662,2009,2796,2980,3273 'top-to-bottom':222,1578 'topic-agent-skills' 'topic-agentic-ai' 'topic-agentic-workflow' 'topic-ai-development' 'topic-ai-development-platforms' 'topic-claude-code' 'topic-prd' 'topic-product-requirements' 'topolog':1711,1802,1814,1839,2350,5031,5044 'touch':916,1474,1484,1908,2129,3218 'transact':1064 'treat':4045,4593 'trigger':70 'trivial':165 'true':4061 'truth':1259,2469 'two':44,178,183,289,534,1503,1846 'type':1161,5221 'typecheck':868,4112 'typic':311,2295,2803 'ui':1267,1289 'unaction':4537 'unambigu':4792 'unavoid':3873 'unbound':1134 'under/overstated':2001 'undercount':2242 'underestim':1420 'underst':1909 'undocu':1047,1783 'unexecut':2209 'unifi':1514,2287,5092 'unindex':1060 'unit':858 'unless':4209 'unnot':4559 'unsaf':2208 'untest':3838 'unwind':4170 'updat':2728,3629,5165,5181,5184,5242 'usag':1162 'use':35,67,135,1749,2383,2413,2449,2738,2829,3100,3398,3854,4238 'user':118,313,323,760,782,1655,2701,2970,2984,3323,4585,5169 'user-vis':3322 'usual':2647 'vagu':2250,4629 'valid':885,1090,2372,2440,2958,3652,4526 'var':2472 've':4828 'verbatim':3311 'verdict':440,1527,4308,4599 'verifi':59,244,276,1334,2254,3207,3680,5225 'via':2184,4318,5152 'vibe':406 'vibes-bas':405 'visibl':2593,3324,4817 'vs':3798,3946,4285,4444 'want':103,119 'wave':4809 'way':4544 'weak':1559 'what/how':4536 'whether':422 'whose':3870 'win':556 'without':1399,2115,4519,4767,4886,4957 'work':149,431,711,922,2663,2729,3526,4002,5163 'workflow':4964 'would':1947,2612,3990,4627 'written':2538,5059 'wrong':142,1925,2207,3928,4748,4855 'x':2228,3817,3821,4661 'xl':1351,1363,1365,1447,1567,1931,2912,4726,4734,4824,5048 'y':2231 'z':2240 'zod':2387 'zone':907","prices":[{"id":"95f97ec9-f01e-4d29-ab63-65cbe4f15a8b","listingId":"154eafe2-ba9c-42fa-873f-ec1bb2c48202","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"ZeroPointRepo","category":"CRHQ-PRDs","install_from":"skills.sh"},"createdAt":"2026-05-18T13:14:32.778Z"}],"sources":[{"listingId":"154eafe2-ba9c-42fa-873f-ec1bb2c48202","source":"github","sourceId":"ZeroPointRepo/CRHQ-PRDs/code-refactor","sourceUrl":"https://github.com/ZeroPointRepo/CRHQ-PRDs/tree/main/skills/code-refactor","isPrimary":false,"firstSeenAt":"2026-05-18T13:14:32.778Z","lastSeenAt":"2026-05-18T19:08:52.248Z"}],"details":{"listingId":"154eafe2-ba9c-42fa-873f-ec1bb2c48202","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"ZeroPointRepo","slug":"code-refactor","github":{"repo":"ZeroPointRepo/CRHQ-PRDs","stars":8,"topics":["agent-skills","agentic-ai","agentic-workflow","ai-development","ai-development-platforms","claude-code","prd","product-requirement-document","product-requirements","product-requirements-prompt"],"license":null,"html_url":"https://github.com/ZeroPointRepo/CRHQ-PRDs","pushed_at":"2026-05-10T05:09:04Z","description":"Production-grade, 10,000+ line PRDs that let AI agents one-shot entire applications. Built on CRHQ.ai.","skill_md_sha":"d1d5d7c0242d953690b1f569d32e0b2c43ff44bc","skill_md_path":"skills/code-refactor/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/ZeroPointRepo/CRHQ-PRDs/tree/main/skills/code-refactor"},"layout":"multi","source":"github","category":"CRHQ-PRDs","frontmatter":{},"skills_sh_url":"https://skills.sh/ZeroPointRepo/CRHQ-PRDs/code-refactor"},"updatedAt":"2026-05-18T19:08:52.248Z"}}