← ClaudeAtlas

writing-adrlisted

ADR(Architecture Decision Record)의 형식·프로세스·신설 절차 정본. ADR 파일을 직접 쓰고, 위치·번호를 스캔으로 정한다. Use when "ADR 작성", "ADR 신설", "아키텍처 결정 기록", 구현 중 repo 아키텍처 결정을 문서로 남길 때.
HarryJhin/groundwork · ★ 0 · AI & Automation · score 70
Install: claude install-skill HarryJhin/groundwork
# writing-adr ADR은 파일 하나가 설계 결정 하나를 담는 마크다운 문서다. 이 스킬이 형식·프로세스·신설 절차·산출물 규약의 정본이고, 다른 문서에 의존하지 않는다. `references/`의 문서는 ADR 관행 일반을 다루는 외부 배경 자료다. 이 스킬의 규정을 반영하지 않으므로 형식 기준으로 삼지 않는다. ADR은 repo 안에 산다. 그 repo의 아키텍처 결정을 그 repo가 보관하고, 코드와 함께 커밋되어 함께 옮겨 다닌다. repo 밖에 ADR을 두지 않는다. **경로 기준**: 이 문서의 상대 경로는 두 기준으로 갈린다. `references/`처럼 이 스킬이 거느린 파일은 스킬 디렉터리 `${CLAUDE_PLUGIN_ROOT}/skills/writing-adr/` 기준이고, `${CLAUDE_PLUGIN_ROOT}`는 groundwork 플러그인이 설치된 디렉터리이지 실행 시점 작업 디렉터리가 아니다. `docs/adr/`처럼 산출물이 놓이는 경로는 대상 repo 루트 기준이고, 그 루트는 `git rev-parse --show-toplevel`로 얻는다. ## 산출물 규약 - **위치**: `<repo 루트>/docs/adr/`. repo 루트는 `git rev-parse --show-toplevel`로 얻는다. - **명명**: `ADR-NNNN-<topic>.md`. `NNNN`은 네 자리 제로패딩이고 `<topic>`은 결정 요지의 영문 kebab-case다. - **번호 축**: 그 repo `docs/adr/` 안에서만 증가한다. repo마다 독립이라 다른 repo의 번호는 ���지 않는다. - **스펙·플랜과 독립**: 같은 repo의 `docs/specs/SPEC-NNNN-<topic>.md`와 `docs/plans/PLAN-NNNN-<topic>.md`는 둘이 짝을 이뤄 번호를 공유하는 별도 축이고, ADR은 거기 참여하지 않는다. 한 작업이 ADR을 몇 개 남기든 스펙 번호는 줄지 않는다. 번호가 겹쳐도 파���명 접두(`ADR-` 대 `SPEC-`·`PLAN-`)가 구분한다. - **커밋**: 그 repo의 정규 산출물이다. 결정을 낳은 코드 변경과 함께 커밋한다. - **소비자**: 후속 세션이 `docs/adr/`를 열어 `ADR-NNNN`으로 인용한다. ## 형식 정본 ADR 파일은 최상단 h1 하나와 그 아래 `##` 섹션으로 이뤄진다. 섹션은 아래 순서를 지킨다. | 섹션 | 내용 | 형식 | |---|---|---| | `## Title` | 결정을 한 문장으로 정의 | 능동태 완결 문장 | | `## Status` | 결정의 수명 | 아래 「Status 값」 중 하나 | | `## Date` | 결정 확정일 | ISO 8601 `YYYY-MM-DD` | | `## Context` | 결정을 강제한 힘 | 서술 | | `## Decision` | 결정 자체 | 능동태 서술 | | `## Consequences` | 파급 | `Positive:` / `Negative: