Files
document-haness/.agents/skills/writing-tech-log-records
DongHyeonkaandClaude Fable 5.1 9d2a3725c5 pipeline: make tech-log-tree.json the one decomposition contract and enforce it
리뷰 두 건을 반영했다.

계약
- tech-log-tree.json 하나가 분해 계약이자 색인이다. 사람이 읽는 트리·Node Specification·
  후보 대장은 없어졌고, 문서에 남아 있던 그 개념을 걷어냈다
- candidateScope — 후보를 찾는 SSOT 범위. 접어 넣은 제2부·제3부는 근거이지 후보가 아니다
- sourceRepository — 분석한 저장소의 경로·리비전·판단 근거. 리비전을 모르면 null 로 두고
  지어내지 않는다. 갈래가 여럿이면 revisions
- 검사기: 계약 미채택·PENDING·PROMOTE↔글감 양방향·candidateScope·sourceRepository 를
  error/warn 으로 센다. 옛 스키마도 검사를 피하지 못한다. 테스트 22 → 31

기록 쓰기
- 템플릿 5종에 source·sourceRevision·topicName, Question 에 닫는 조건, 본문 없는 종류에서
  assets 제거. 고정 절 개수 삭제
- check_evidence.mjs — 인용한 코드가 SSOT 에 있는지, 앵커가 SSOT 를 가리키는지, 제목이
  계약과 같은지, 리비전이 저장소에 있는지. 게시된 기록에서 SSOT 와 다른 URL 을 잡았다

문체
- 문체 규칙의 정본을 ai-tells.md 로. explaining.md 의 질문체 제목·절 끝 대조 반복·그림 예고
  규칙을 삭제해 충돌을 없앴다. 첫 절 「설명 뒤에 평가를 붙이지 않는다」에 지우는 사례 네 유형
- voice 스킬의 「독자 쪽을 본다」를 자료에 오독 기록이 있을 때로 좁히고, 평가만 더한 예시를 교체
- check_prose: 안내 문장을 요구하던 경고 제거, 문장이 끝나지 않은 채 문단이 끝나는 조각 검사 추가

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 12:39:20 +09:00
..

writing-tech-log-records

Tech Log Studio에 올릴 기록을 쓰는 스킬. Case · Concept · Reference · Question · Decision 다섯 종류의 종류 선택, 칸 채우기, Case 본문 작성, 게시 전 대조를 다룬다.

파일

파일 무엇
SKILL.md 진입점. 종류 선택과 절차
references/record-kinds.md 다섯 종류의 칸·상한·게시 조건
references/from-ssot-to-records.md 긴 글에서 글감을 뽑는 기준과 tech-log-tree.json
references/writing-each-kind.md 종류마다 무엇을 어떤 순서로 쓰나
templates/*.md 종류별 빈 틀. 복사해서 채운다
references/body-syntax.md Case 본문의 허용·금지 문법
references/code-tables-diagrams.md 코드블록·표·SVG·이미지
references/explaining.md 설명의 깊이와 말투
references/review-checklist.md 게시 전 대조
examples/case-body.md 통과하는 본문 예시
scripts/check_body.mjs 본문을 Studio 파서로 미리 검사

본문 미리 검사

Studio에 붙여넣기 전에 확인한다. Studio가 쓰는 파서를 그대로 부르므로, 통과하면 저장도 통과한다.

node --experimental-transform-types \
  .agents/skills/writing-tech-log-records/scripts/check_body.mjs 초안.md

tech-log-frontend 체크아웃이 기본 경로에 없으면 알려 준다.

node --experimental-transform-types scripts/check_body.mjs 초안.md \
  --frontend /path/to/tech-log-frontend
# 또는 TECH_LOG_FRONTEND 환경변수

통과하면 블록 구성을, 실패하면 줄·칸과 이유를 낸다.

PASS  14개 블록 — CALLOUT 2 · CODE_BLOCK 1 · DATA_TABLE 1 · …
FAIL  초안.md:3:1  unsupported block syntax: html

계약 기준

계약 버전
@tech-log/studio-contract 3.1.0
@tech-log/public-contract 2.1.0

계약이 올라가면 body-syntax.md의 허용 목록과 record-kinds.md의 상한을 다시 맞춘다. 특히 블록 유니온(CaseRenderBlock)에 타입이 늘면 쓸 수 있는 문법이 늘어난다.

알아둘 제약

코드·표·다이어그램·이미지는 본문에만 들어간다. 본문이 있는 종류는 Case 와 Concept 이다. Reference·Question·Decision의 모든 칸은 평문으로 렌더링된다. 설계상 그렇다 — 본문을 가진 종류는 Case뿐이다.