rewriting-code-strictly

v2026.09.24

Rewrite existing Python, TypeScript/JavaScript, or Go code for strict static typing, boundary validation, and maintainable idioms while preserving behavior. Use when the user asks to harden code, remove unsafe escape hatches, add validation, or align with mypy, Pyright, tsc, go vet, or Staticcheck. Coordinates baseline mapping, strategy, approved implementation, and review through co-located subagents and just-in-time language references.

GitHub
安装命令
npx skhub add b-mendoza/rewriting-code-strictly
Markdown
SKILL.md

Rewriting Code Strictly

Strict-rewrite orchestrator for behavior-preserving Python, TypeScript/JavaScript, or Go rewrites. Think, decide, and dispatch one subagent at a time; keep only status, decisions, validation verdicts, changed paths, risks, and material URLs.

Inputs

InputRequiredExample
TARGET_CODEYessrc/api/users.py or pasted code
LANGUAGENopython, typescript, go
USER_GOALNo"make this strict and easier to maintain"
VALIDATION_COMMANDNomypy src/api/users.py
SCOPE_LIMITSNo"do not add dependencies"
REFERENCE_NEEDNo"Pydantic strict mode"
EXTERNAL_FETCH_APPROVALNo"approved for Pydantic docs only"

Missing TARGET_CODE or unclear language → one focused question before dispatch.

Output Contract

Handoff order: (1) original behavior, (2) weaknesses, (3) typing vs validation decisions, (4) files/code, (5) validation results, (6) references used or unavailable, (7) assumptions/risks, (8) gate evidence for G_STRICT_STRATEGY_APPROVAL, G_MUTATION_SCOPE, G_IMPLEMENTATION_VALIDATION, G_STRICT_REVIEW_PASS, G_FINAL_HANDOFF_EVIDENCE.

Stops (NO_CHANGE, NEEDS_CLARIFICATION, BLOCKED, ERROR): status, smallest reason, next decision, any validation already completed.

State Machine Overview

Mermaid: flow-diagram.md. Table: state-machine.md.

GroupResult
Intake gatesTarget, language, scope; derive MUTATION_LIMITS
BaselineMapper; NO_CHANGE_CANDIDATE continues (not a stop)
StrategyStrategist; only NO_CHANGE stops before edits
Gates + approvalCheck gates; AskApproval resumes implement on approve
Implement / reviewMutate, review; ≤2 repairs re-enter implement
TerminalsPASS, NO_CHANGE, NEEDS_CLARIFICATION, BLOCKED, ERROR

Pipeline Overview

PhaseStatesExecutionOutput
IntakeIntake…DeriveLimitsInline; personalityPacket + limits
BaselineDispatchBaseline/RouteBaselinestrict-baseline-mapperSTRICT_BASELINE
StrategyDispatchStrategy/RouteStrategyStrategist + one playbookSTRICT_STRATEGY
GatesCheckGates/GateExpansion/AskApprovalInlineProceed, block, or resume
ImplementDispatchImplement/RouteImplementstrict-rewrite-implementerSTRICT_IMPLEMENTATION
ReviewDispatchReview…GateFixCyclesReviewer; repair → implementSTRICT_REVIEW
HandoffHandoff→TerminalPassInlineFinal response

Subagent Registry

SubagentPathPurpose
strict-baseline-mapper./subagents/strict-baseline-mapper.mdRead-only baseline map
strict-rewrite-strategist./subagents/strict-rewrite-strategist.mdPlaybook, optional fetch, minimal plan
strict-rewrite-implementer./subagents/strict-rewrite-implementer.mdApply rewrite; run authorized checks
strict-rewrite-reviewer./subagents/strict-rewrite-reviewer.mdIndependent review verdict

Read a subagent only when dispatching it.

Progressive Loading Map

Load only what the current decision needs. Paths here are relative to this SKILL.md; later files use their own relative paths.

NeedLoad
Posture./references/personality.md
Python / TS/JS / Go defaultsmatching ./references/*-playbook.md
External URL map./references/external-sources.md (orchestrator or strategist)
Examples./references/orchestration-examples.md
State machine./flow-diagram.md, ./state-machine.md
Subagent contract./subagents/<name>.md at dispatch

One playbook after language is known. Playbooks do not chain-load external-sources.md; the map and strategist own that hop. Pass package-root-relative paths at dispatch; subagents may use ../references/....

Fetch URLs only with REFERENCE_NEED, EXTERNAL_FETCH_APPROVAL, or project-local required evidence. Unavailable URL → local evidence + risk, or NEEDS_CLARIFICATION. Network is optional for normal runs.

Default Mutation Limits

Derive in DeriveLimits. Unless SCOPE_LIMITS expands them: write only in TARGET_CODE and direct compilation/typing/import/test consequences; preserve behavior, public contracts, deps, settings, unrelated work; no new deps, broad cleanup, public API, private config, generated artifacts, or repo tooling without approval; repairs stay on reviewer-named fixes inside limits. Out-of-limits need → clarify or expand before editing. Reports include mutation-boundary evidence.

Critical Output Gates

GateEvidence
G_STRICT_STRATEGY_APPROVALStatus, non-goals, approval items, validation plan
G_MUTATION_SCOPELimits, planned/actual paths, expansions
G_IMPLEMENTATION_VALIDATIONCommands, results, unavailable/unapproved notes
G_STRICT_REVIEW_PASSSTRICT_REVIEW: PASS or blocked findings after repairs
G_FINAL_HANDOFF_EVIDENCEGate verdicts, files, validation, references, risks

Core Decision Rule

Static types for stable internals; runtime validation at trust boundaries; convert boundary data to typed internals before deeper use; keep escape hatches local and justified. Project settings outrank playbook defaults when stricter.

Execution Steps

Advance state-machine.md:

  1. Intake → DeriveLimits. Load personality; derive limits. Ask* resumes prior gate when answered; unattended → TerminalNeedsClarification.
  2. DispatchBaseline. Route PASS | NO_CHANGE_CANDIDATE | NEEDS_CLARIFICATION | ERROR. PASS and NO_CHANGE_CANDIDATE both continue to strategy.
  3. DispatchStrategy. Route PASS | NO_CHANGE | NEEDS_CLARIFICATION | ERROR. NO_CHANGE → TerminalNoChange without edits.
  4. CheckGates → GateExpansion → optional AskApproval. On expansion need, ask once. Approve → DispatchImplement. Decline → TerminalBlocked. No reply → TerminalNeedsClarification. Missing validation command → continue with implementer warning evidence.
  5. DispatchImplement. Route PASS | PASS_WITH_WARNINGS | BLOCKED | ERROR; check scope and validation gates; then review or terminal.
  6. DispatchReview. PASS → handoff. FAIL with fixes and repair_counter under 2 → re-enter DispatchImplement. Else TerminalBlocked.
  7. Handoff → TerminalPass with Output Contract and final gate evidence.

Validation Loop Summary

map → plan → gate/approve → change/check → review → targeted fix → re-check. Implementer owns authorized checks; reviewer covers drift checks may miss.

Example

TARGET_CODE=src/payments/webhook.ts, remove unsafe any, validate webhook, REFERENCE_NEED for Zod. Mapper finds TS + untrusted body. Strategist loads typescript playbook and, only if needed, external-sources.md + approved Zod URL. No expansion → implement → review → handoff. See ./references/orchestration-examples.md for approval resume, no-change, and unavailable-reference round-trips.

发现
标签

此技能尚未发布标签。

版本
最新版本元数据

版本

v2026.09.24

发布时间

Sep 24, 2026

分类

未分类

许可证

未指定

源路径

skills/rewriting-code-strictly

默认分支

main

最新提交

24c0305

Tree SHA

5b490aa