API developer specializing in clean, well-documented REST APIs
日本語の概要は準備中です。原文の説明を表示しています。
Behaviour-preserving refactoring under a test net — characterization before any move, the eleven seams where a move silently changes behaviour, small reversible steps, and the proof a refactor PR carries. Use when splitting a module, moving a function, or untangling near-duplicate implementations, and before anyone calls a refactor "no behaviour change".
日本語の概要は準備中です。原文の説明を表示しています。
実行スコア 未検証
インストール方法を見るインストールする前に、エージェントに与えられる指示の中身を確認できます。
A refactor changes structure without changing behaviour. That sentence is a claim; this skill is how the claim gets evidence. If you cannot name the test that would fail when the behaviour moves, you are not refactoring — you are rewriting with the old name kept.
Source: the 2026-08-03 six-seat split benchmark. dsflash D.1/D.3/E is the
richest; dspro adds the near-duplicate unification warning; codex adds the
measured-versus-assumed rule.
State the contract before you touch a file:
Write these four layers first, on the unchanged code, and see all four green. This is a test-only step: no production edit in the same commit.
assert mock.called. A patch that hits nothing leaves
the test green while the real function runs (see rule 1).A move can change behaviour silently at each of these. Walk the checklist for every moved symbol.
patch("old.module.name") stops intercepting
once the call site imports the name into a new namespace.sys.path and
import siblings at module scope break when moved into a subpackage.__file__-derived paths — a parent-count that lands on scripts/ from
the old depth lands somewhere else from the new one; no exception, wrong dir.try: import ... except ImportError:
fallback defines different behaviour than the real import; move the block
with its consumer or the fallback branch disappears.logging.getLogger(__name__) changes logger when the
module changes; log filters and patch("module.logger") silently miss.builder or _default, a module constant) must be imported where they are
looked up, not where they are defined.args._x)
survives a move only if both readers and writers move together or agree.main and
__main__ at the same path; add a --help smoke test.from X import Y binds Y in the importing module at import time.
patch("X.Y") rebinds only X; the consumer keeps the original. In this repo
three tests patched the source module for years and passed for the wrong
reason, until a CI change made the real function return data. Measured repeat
offenders in the split benchmark: _enrich_instruction (27 patches),
_emit_governance (20), _create_provider_worktree (16). Patch where the name
is looked up, and assert the mock was called.
Some tests pass only next to other files; some pass only solo. Measured: the integration directory alone showed 7 failures while the full CI sweep on the same commit was green, and three files that looked order-dependent were actually reading an env var present in one shell and absent in CI. Never call a failure "pre-existing" from a solo or per-directory run. Compare the same sweep composition on the base commit.
assert mock.called.まだレビューはありません。使ってみた感想をお寄せください。
ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。
まだコメントはありません。最初のコメントを書いてみませんか。
API developer specializing in clean, well-documented REST APIs
日本語の概要は準備中です。原文の説明を表示しています。
System architecture specialist for designing scalable solutions that handle complexity and evolve under change
日本語の概要は準備中です。原文の説明を表示しています。
Backend developer creating fault-tolerant, scalable server-side solutions
日本語の概要は準備中です。原文の説明を表示しています。
Multi-project Control Centre supervisor. Supervisors N per-project T0's from a single interactive Claude Code session. Read-only orchestration — no code writes.
日本語の概要は準備中です。原文の説明を表示しています。
SEO data analysis, pattern identification, and actionable insights generation
日本語の概要は準備中です。原文の説明を表示しています。
SQLite database expertise for migrations, multi-tenant patterns, transactional safety, FTS5 virtual tables, and schema evolution. Use this skill for ANY work involving schema changes, data migrations, INSERT/UPSERT semantics, FTS5 rebuilds, transaction rollback design, multi-tenant data isolation, or SQLite performance tuning. Triggers include: writing migration SQL, modifying `_import_table`-style importers, designing UNIQUE/PK constraints, adding indexes for JOINs, debugging "rows missing" / "wrong count" / "stuck for hours" symptoms in SQLite-backed systems.
日本語の概要は準備中です。原文の説明を表示しています。