원클릭으로
atm-atom-map-refactor
Plan ATM framework refactors by preserving atom/map semantics before splitting large governance modules.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Plan ATM framework refactors by preserving atom/map semantics before splitting large governance modules.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
ATM Captain dispatch routing for task cards, sidecars, subagents, condition review, mailbox work, and closeout coordination.
Create registered planning families, plan documents, and task cards through the tool-first plan CLI.
Author ATM task cards with machine-readable scope, deliverables, validators, evidence, rollback, and atomization impact.
Author ATM task cards with machine-readable scope, deliverables, validators, evidence, rollback, and atomization impact.
Author ATM task cards with machine-readable scope, deliverables, validators, evidence, rollback, and atomization impact.
Resolve ATM_* error codes from CLI JSON, logs, or user reports into canonical meaning, remediation, retryability, and approval guidance.
| name | atm-atom-map-refactor |
| description | Plan ATM framework refactors by preserving atom/map semantics before splitting large governance modules. |
| argument-hint | <ATM context> |
| charter-invariants-injected | true |
Use this skill before editing ATM framework code for a refactor, extraction, governance-invariant cleanup — and for ANY task card whose scope touches a large governance module (over 600 lines), not only cards labeled as refactors (TASK-AAO-FABLE-006). The goal is to choose a small atom owner and a testable contract before moving code.
Extraction-first is a core ATM intent: prefer proposing the change as a new
atom or atom map over inline-editing the large module. The owner/pattern
selection below IS the extraction proposal — record it in the card's
atomizationImpact.extractionCandidates (see the atm-task-card-authoring
skill) and restate it in the implementing agent's dispatch report. Staying
inline is a human decision and requires a recorded inlineReason on the
card. ATM patrols this at import time via the advisory diagnostic
ATM_TASK_IMPORT_EXTRACTION_FIRST_CANDIDATE.
node atm.mjs next --prompt "$ARGUMENTS" --json
If the task is not a refactor or extraction task, still run steps 2-4 to
produce an extraction candidate whenever the touched module exceeds 600 lines,
then record it as extract, follow-up-card, or human-approved inline on
the card. Do not turn an unrelated bug fix into a broad cleanup — propose,
let the Captain/human decide, and default to opening the follow-up card.
Read references/patterns.md when choosing the extraction shape or reviewing a
proposed split.
Use the short rule:
taskflow open and taskflow close as normal operator lanes.tasks close, tasks reconcile, tasks import --write --force,
and tasks repair-closure as backend/emergency surfaces when used directly.public-surface.ts instead of changing callers ad hoc.ATM_RUNNER_SYNC_REQUIRED appears.Before implementing a refactor, produce a concise plan:
Atom:
Pattern:
Owner module:
Callers:
Public surface:
Focused test:
CLI regression:
Out of scope:
Commit split:
If the implementation proceeds, report the same fields with the final paths and validator results.
Read references/casebook.md when the current task resembles prior CID work or
when adding a new lesson after a successful extraction.
Add a new case only after a task is governed done. Keep cases short: problem, chosen pattern, owner module, proof, lesson.
INV-ATM-001 ??No second registry (enforcement: gate, breaking change: yes)
Rule: A host project must not create a second AtomicRegistry implementation outside of packages/core or introduce a parallel ID allocation, version tracking, or registry promotion path.INV-ATM-002 ??Lock before edit (enforcement: doctor, breaking change: no)
Rule: No governed file mutation may occur without a valid ScopeLock recorded in .atm/locks/ for the current WorkItem. Agents must call atm lock before editing files.INV-ATM-003 ??Schema-validated promotion only (enforcement: gate, breaking change: yes)
Rule: An UpgradeProposal must pass all automatedGates (including JSON Schema validation) before promotion. Direct registry mutation that bypasses the UpgradeProposal path is forbidden.INV-ATM-004 ??No competing highest authority (enforcement: doctor, breaking change: yes)
Rule: No host project rule, profile, or configuration may declare itself to have authority equal to or higher than the AtomicCharter. Any rule that contradicts an invariant must go through a charter waiver proposal.INV-ATM-005 ??Host rule amendments require waiver flow (enforcement: waiver-required, breaking change: no)
Rule: When a host project rule conflicts with a charter invariant, the host must submit a behavior.evolve UpgradeProposal with a charterWaiver field and a linked HumanReviewDecision. Silent override is not permitted.INV-ATM-006 ??Framework work tracking stays target-local (enforcement: doctor, breaking change: yes)
Rule: The framework repository must not host downstream adopter planning queues or project-specific work tracking artifacts. ATM framework-development tasks may live in the framework repository only as ATM-managed .atm/history/tasks ledger records with CLI transition evidence.INV-ATM-007 ??Public framework docs remain English-only (enforcement: doctor, breaking change: yes)
Rule: Public contributor-facing documentation in the framework repository must remain English-only and repository-neutral. Non-English planning notes, local experiments, or downstream operating guidance must live in the coordinating host workspace unless they are translated into neutral English framework documentation.INV-ATM-008 ??Broker tickets, not refusals (enforcement: doctor, breaking change: no)
Rule: Every governed shared-write gate (runner-sync, build windows, release mirrors, git commit, projection regeneration) must respond with a broker ticket - execute now, enqueue with position, or batch into a shared write window - never a bare refusal. Reads and private writes (own ledger, evidence, task events, lane sessions) never queue. The only standing exceptions are the four owner-ruled cases in docs/governance/parallel-governance-charter.md; any new serialization point requires an explicit project-owner ruling before it ships.