athanor
정보
아타노르 스킬은 네 단계의 연금술적 과정을 통해 복잡하게 얽히거나 레거시 코드를 체계적으로 최적화된 현대적 산출물로 변환합니다. 이 스킬은 점진적 수정이 실패한 심층 리팩토링 작업, 예를 들어 코드베이스를 패러다임 간 변환하거나 심각한 문제가 있는 모듈을 전면적으로 개편하는 경우에 설계되었습니다. 해당 과정은 각 단계에서 코드를 분석하고 정제하기 위한 구조화된 검증점을 포함합니다.
빠른 설치
Claude Code
추천npx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/athanorClaude Code에서 이 명령을 복사하여 붙여넣어 스킬을 설치하세요
문서
Athanor
Execute four-stage alchemical transmutation of code or data — decomposing prima materia, purifying its essence, illuminating its target form, synthesizing refined output. Athanor is furnace that maintains steady heat across all stages.
When Use
- Transforming legacy code into modern, well-structured equivalents
- Refactoring deeply tangled modules where incremental fixes keep failing
- Converting codebase from one paradigm to another (procedural to functional, monolith to modular)
- Processing raw, messy data into clean analytical datasets
- Simpler refactoring approaches have stalled and full-cycle transformation needed
Inputs
- Required: Material to transform (file paths, module names, or data sources)
- Required: Desired end state (target architecture, paradigm, or format)
- Optional: Known constraints (must preserve API, can't change database schema, etc.)
- Optional: Prior failed transformation attempts and why they stalled
Steps
Step 1: Nigredo — Decomposition
Break prima materia into its constituent elements. Nothing sacred; everything cataloged.
- Inventory material complete:
- List every function, class, module, or data entity
- Map all dependencies (imports, calls, data flows)
- Identify hidden coupling (shared globals, implicit state, side effects)
- Surface hidden assumptions:
- What undocumented behaviors does code rely on?
- What error conditions silently swallowed?
- What ordering dependencies exist?
- Catalog anti-patterns and technical debt:
- God objects, circular dependencies, copy-paste duplication
- Dead code paths, unreachable branches, vestigial features
- Hardcoded values, magic numbers, embedded configuration
- Produce Nigredo Inventory: structured catalog of every element, dependency, assumption, anti-pattern
Got: Complete, unflinching inventory of material. Inventory should feel uncomfortable — if it doesn't, decomposition isn't thorough enough. Every hidden assumption now explicit.
If fail: Material too large to inventory fully? Decompose by module boundary and treat each module as separate athanor run. Dependencies too tangled to map? Use grep/Grep to trace actual call sites rather than relying on documentation.
Step 2: Meditate — Calcination Checkpoint
Run meditate skill to clear assumptions accumulated during nigredo.
- Set aside nigredo inventory and clear mental context
- Anchor on transformation goal stated in Inputs
- Observe what biases nigredo introduced — did decomposition make certain approaches seem inevitable?
- Label any premature solution ideas as "tangent" and return to goal
Got: Clear, unbiased state ready to evaluate material without being anchored to its current form. Goal feels fresh rather than constrained by what was found.
If fail: Nigredo findings keep pulling attention (particularly bad anti-pattern, clever hack tempting to preserve)? Write it down and explicitly set it aside. Proceed only when goal clearer than current form.
Step 3: Albedo — Purification
Separate essential from accidental. Strip away everything that doesn't serve target form.
- From nigredo inventory, classify each element:
- Essential: Core business logic, irreplaceable algorithms, critical data transformations
- Accidental: Framework boilerplate, workarounds for old bugs, compatibility shims
- Toxic: Anti-patterns, security vulnerabilities, dead code
- Extract essential elements into isolation:
- Pull core logic out of framework wrappers
- Separate data transformation from I/O
- Extract interfaces from implementations
- Remove toxic elements entirely — document what was removed and why
- For accidental elements, determine if equivalents exist in target form
- Produce Albedo Extract: purified essential logic with clean interfaces
Got: Set of pure, isolated functions/modules that represent core value of original material. Each piece testable in isolation. Extract significantly smaller than original.
If fail: Essential and accidental too intertwined to separate? Introduce seam points (interfaces) first. Material resists purification? May need dissolve-form before athanor can continue.
Step 4: Heal — Purification Assessment
Run heal skill to assess whether purification was thorough.
- Triage albedo extract: is anything still carrying toxic residue?
- Check for drift: has purification drifted from original transformation goal?
- Assess completeness: are all essential elements accounted for, or were some discarded prematurely?
- Rebalance if needed: restore any essential elements that were incorrectly classified as accidental
Got: Confidence that albedo extract is complete, clean, ready for illumination. No essential logic was lost; no toxic patterns remain.
If fail: Assessment reveals significant gaps? Return to Step 3 with specific gaps identified. Do not proceed to citrinitas with incomplete material.
Step 5: Citrinitas — Illumination
See target form. Map purified elements to their optimal structure.
- Pattern recognition: identify which design patterns serve purified elements
- Does data flow suggest pipes/filters, event sourcing, CQRS?
- Do interfaces suggest strategy, adapter, facade?
- Does module structure suggest hexagonal, layered, micro-kernel?
- Design target architecture:
- Map each essential element to its new location
- Define interfaces between components
- Specify data flow through new structure
- Identify what must be created new (has no equivalent in original):
- New abstractions that unify duplicated logic
- New interfaces that replace implicit coupling
- New error handling that replaces silent failures
- Produce Citrinitas Blueprint: complete mapping from albedo extract to target form
Got: Clear, detailed blueprint where every essential element has home and every interface defined. Blueprint should feel inevitable — given purified elements, this structure is natural fit.
If fail: Multiple valid architectures compete? Evaluate each against constraints from Inputs. No clear winner emerges? Prefer simplest option and document alternatives as future options.
Step 6: Meditate — Pre-Synthesis Checkpoint
Run meditate skill to prepare for final synthesis.
- Clear analytical context from citrinitas
- Anchor on citrinitas blueprint as synthesis guide
- Observe any anxiety about transformation — is anything being rushed?
- Confirm readiness: blueprint clear, material purified, constraints known
Got: Calm clarity about what needs to be built. Synthesis phase should be execution, not design.
If fail: Doubt persists about blueprint? Revisit Step 5 with specific concerns. Better to refine blueprint than to begin synthesis with uncertainty.
Step 7: Rubedo — Synthesis
Compose purified elements into their target form. Philosopher's stone: working, optimized code.
- Build new structure following citrinitas blueprint:
- Create files, modules, interfaces as specified
- Migrate each essential element to its new location
- Implement new abstractions and interfaces
- Wire components together:
- Connect data flows as designed
- Implement error propagation through new paths
- Configure dependency injection or module loading
- Verify synthesis:
- Does each component work in isolation? (unit tests)
- Do components compose correctly? (integration tests)
- Does full system produce same outputs as original? (regression tests)
- Remove scaffolding:
- Delete temporary compatibility shims
- Remove migration aids
- Clean up any remaining references to old structure
- Produce Rubedo Output: transmuted code, fully functional in its new form
Got: Working code measurably better than original: fewer lines, clearer structure, better test coverage, fewer dependencies. Transformation complete and old form can be retired.
If fail: Synthesis reveals gaps in blueprint? Do not patch — return to Step 5 (citrinitas) to revise design. Individual components fail? Isolate and fix them before attempting full integration. Rubedo must not produce half-transformed chimera.
Validation Checklist
- Nigredo inventory complete (all elements, dependencies, assumptions cataloged)
- Meditate checkpoint passed between nigredo/albedo (assumptions cleared)
- Albedo extract contains only essential elements with clean interfaces
- Heal assessment confirms purification completeness
- Citrinitas blueprint maps every essential element to target form
- Meditate checkpoint passed between citrinitas/rubedo (ready for synthesis)
- Rubedo output passes regression tests against original behavior
- Rubedo output measurably improved (complexity, coupling, test coverage)
- No toxic elements survived into final output
- Transformation constraints from Inputs satisfied
Pitfalls
- Skipping nigredo depth: Rushing decomposition means hidden coupling surfaces during synthesis. Invest fully in inventory
- Preserving accidental complexity: Attachment to clever workarounds or "it works, don't touch it" code. Not essential? It goes
- Skipping meditate checkpoints: Cognitive momentum from one stage biases next. Pauses are structural, not optional
- Blueprint-less synthesis: Starting to code before citrinitas complete produces patchwork, not transmutation
- Incomplete regression testing: Rubedo must reproduce original behavior. Untested paths will break silently
- Scope creep during citrinitas: Illumination phase reveals opportunities for improvement beyond original goal. Note them but don't pursue them — athanor serves stated transformation, not hypothetical ideal
See Also
transmute— Lighter-weight transformation for single functions or small moduleschrysopoeia— Value extraction and optimization (turning base code into gold)meditate— Meta-cognitive clearing used as stage-gate checkpointsheal— Subsystem assessment used for purification validationdissolve-form— When material too rigid for athanor, dissolve firstadapt-architecture— Complementary approach for system-level migration patternsreview-software-architecture— Post-synthesis architecture review
GitHub 저장소
연관 스킬
executing-plans
디자인executing-plans 스킬은 검토 체크포인트가 포함된 통제된 배치로 실행할 완전한 구현 계획이 있을 때 사용합니다. 이 스킬은 계획을 불러와 비판적으로 검토한 후, 소규모 배치(기본값 3개 작업)로 작업을 실행하면서 각 배치 사이에 진행 상황을 아키텍트 검토를 위해 보고합니다. 이를 통해 내재된 품질 관리 체크포인트를 갖춘 체계적인 구현이 보장됩니다.
requesting-code-review
디자인이 스킬은 코드 변경 사항을 요구 사항에 따라 분석하기 위해 코드 리뷰어 하위 에이전트를 호출합니다. 작업 완료 후, 주요 기능 구현 후, 또는 메인 브랜치에 병합하기 전에 사용해야 합니다. 이 리뷰는 현재 구현체와 원래 계획을 비교하여 문제를 조기에 발견하는 데 도움이 됩니다.
connect-mcp-server
디자인이 스킬은 개발자들이 HTTP, stdio 또는 SSE 전송 방식을 통해 MCP 서버를 Claude Code에 연결하는 포괄적인 가이드를 제공합니다. GitHub, Notion 및 사용자 정의 API와 같은 외부 서비스를 통합하기 위한 설치, 구성, 인증 및 보안을 다룹니다. MCP 통합 설정, 외부 도구 구성 또는 Claude의 모델 컨텍스트 프로토콜 작업 시 활용하세요.
web-cli-teleport
디자인이 스킬은 작업 분석을 기반으로 개발자가 Claude Code 웹 인터페이스와 CLI 인터페이스 중 선택할 수 있도록 돕고, 두 환경 간 원활한 세션 텔레포트를 가능하게 합니다. 웹, CLI 또는 모바일 환경 전환 시 세션 상태와 컨텍스트를 관리하여 워크플로를 최적화합니다. 다양한 단계에서 서로 다른 도구가 필요한 복잡한 프로젝트에 사용하세요.
