Communitygithub.com

TheColliery/CoalLedger

AI 코딩 에이전트를 위한 문서 상태 점검 모음 – CoalMine의 문서화 대응. 6+1개의 카나리(경고)를 통해 문서 구조를 종속성 없는 CommonMark+GFM AST 엔진으로 감지하고, 맥락에 따라 심각도를 판단하며, 수정 사항은 선택형으로 적용(자동 적용 금지). 또한 문서가 변경되었을 때 MEMORY.md가 업데이트되지 않으면 조용히 알림. TheColliery의 일부.

CoalLedger란 무엇인가요?

이 스킬은 AI 코딩 에이전트(예: Claude Code, Cursor 등)가 프로젝트 문서의 노후화(rot)를 탐지하고 보고하도록 설계된 문서 상태 점검 도구입니다. 6+1개의 카나리 중 하나로, 시간이 지나면서 무효화된 문서 콘텐츠를 식별합니다. 기계적 연령 표시(버전 문자열, 날짜 스탬프, TODO, 배지 등)를 통해 'SUSPECTED'로 분류하고, 풀(Full) 모드에서는 맥락 기반 의미 판단을 거쳐 'CONFIRMED'로 확정합니다. 심각도는 문서의 맥락(예: 보안 설치 단계는 HIGH-CRITICAL, 보관된 문서의 오래된 날짜는 LOW)에 따라 동적으로 결정되며, 수정은 항상 사용자 선택에 맡겨집니다. 지원 플랫폼은 Markdown, RST, AsciiDoc 등 다양한 문서 포맷이며, 환경 변수나 설정 파일(.coalledger.json)을 통해 Quick/Full 모드와 심각도 기준을 제어할 수 있습니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add TheColliery/CoalLedger

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

문서 부패(Doc-Rot)

사용자의 언어로 답변하되, 기술 용어, 명령어, 경로, 검사 ID는 그대로 유지하세요.

시간이 지나면서 무효화된 문서 콘텐츠를 찾으세요. 확인된(confirmed) 부패는 CONFIRMED로 보고, 단순히 오래된 것은 SUSPECTED로 분류하세요.

매개변수

  • SCOPE: 지정된 파일 (기본값, 인자가 주어질 때) | 이 세션에서 수정된 문서 파일 | 전체 저장소 문서 — .md/.mdx/.markdown/.rst/.txt/.adoc/.asciidoc/.org (파일이 20개 이상이면 먼저 확인).
  • TIER: Quick = 기계적 연령 표시만 (~무료) · Full = 의미적 진부화 판단 (유료). 기본값은 .coalledger.json의 quickVsFull 설정을 따르며, Full은 항상 별도 동의가 필요합니다.

연령 표시(기계적 계층 — 결정론적 탐지)

표시신호
버전 문자열문서가 프로젝트의 현재 버전보다 오래된 버전을 명시 (버전의 출처(예: manifest)와 비교)
날짜 스탬프"마지막 업데이트"/재검증 기한/확인된 날짜가 과거이거나 이미 지남
완료되지 않은 작업 표시TODO / FIXME / "coming soon" / "not yet" 등 생명 징후 없음
오래된 배지저장소 상태와 모순되는 하드코딩된 상태/버전 배지

탐지는 결정론적이지만, 표시가 부패를 의미하는지는 그렇지 않습니다. 보관 문서의 오래된 날짜는 괜찮지만, 설치 가이드의 오래된 날짜는 문제입니다.

방법

  1. Quick: 표에 따라 연령 표시를 수집합니다. 오래되었다고 해서 부패한 것은 아닙니다. 표시만 있으면 SUSPECTED로 분류됩니다.
  2. Full: 각 표시를 맥락에서 판단하고, 날짜가 표시되지 않은 부패를 찾습니다 — 변경된 표면에 대한 지침, 이후 문서로 대체된 주장(라이브 문서 간의 순수한 모순은 문서 일관성 문제이며, 부패는 시간 축입니다).
  3. CONFIRMED 전 확인: 현재 상태가 문서와 모순될 때만(버전 출처가 더 새로운 버전을 명시, 참조된 표면이 사라짐) CONFIRMED입니다. 추론된 사항은 SUSPECTED로 유지됩니다.
  4. 맥락에 따른 심각도(고정된 매핑이 아닌), 이후 severityFloor를 따릅니다. 부패한 설치/보안 단계(사용자가 따르는) = HIGH-CRITICAL; 오래된 배지나 버전 언급 = MEDIUM; 보관된 문서의 오래된 날짜 = LOW.

에스컬레이션 경계

어떤 주장이 EVER TRUE였는지는 문서 근거 확인(doc-grounding)의 작업이며, 높은 위험의 주장에 대한 공식 검증은 CoalBoard(/coalboard) 스킬이 설치되어 있으면 해당 스킬로 에스컬레이션됩니다. 이 카나리는 "시간이 그것을 깨뜨렸는가"에만 답합니다.

출력

| # | 경로:줄 | 표시 | 증거 (현재 상태) | 심각도 | 수정 |

CONFIRMED 테이블만; SUSPECTED(오래되었지만 입증되지 않음)는 별도 목록으로, 메인 테이블에 포함되지 않습니다.

보고: ReportFindings를 호출 가능할 때 호출하세요 — file/line은 반드시 표시 자체의 줄이어야 하며, 의역이 아니어야 합니다. 해결할 수 없는 줄은 최선의 추정치를 보고하고, 요약에서 부정확함을 명시하고, 절대 생략하지 마세요. 심각도는 위의 맥락별 심각도 규칙에 따라 summary에 접두사로 붙이고(예: [HIGH] …), 가장 심각한 것부터 순위를 매기며, SUSPECTED(오래되었지만 입증되지 않음)는 verdict: PLAUSIBLE로 표시합니다. 채팅은 요약 줄(개수 · SUSPECTED 목록 · 32개 초과 overflow) + 수정 메뉴만 전달하고, 내용을 반복하지 않습니다. 호출 불가능 시 → 위 테이블을 변경 없이 유지합니다. 수정 적용 클릭 = 아래의 Apply-safe-fixes 클래스에 대한 동의를 의미하며(모호하지 않은 현재 값 업데이트만), Fix 모드를 우회하지 않고 함께 구성합니다. 수정 라운드 후, 동일한 결과를 outcome: fixed/skipped/no_change_needed와 함께 다시 보고합니다.

수정 모드 (선택형)

대화형 세션에서 보고 후 반드시 질문 도구를 통해 이 메뉴를 제시해야 합니다(결과가 0이거나 사용자가 없을 때만 건너뜁니다). 라이브 문서를 절대 자동 수정하지 마세요.

  • 안전한 수정 적용: 현재 값이 명확한 업데이트만(버전 문자열을 manifest의 값으로 업데이트, 사용자가 확인한 날짜 새로고침, 사용자가 확인한 죽은 TODO 삭제). 각 수정: 체크포인트(git 저장소라면 git stash/commit, 아니라면 파일을 별도로 복사 — git이 있다고 가정하지 마세요) -> 적용 -> 변경된 줄 다시 읽기.
  • 내가 선택: 결과를 나열하고 사용자가 선택합니다.
  • 보고만: 변경 없이 종료합니다.

절대 자동 수정 금지: 대체된 지침 다시 쓰기(콘텐츠 결정), 섹션 삭제, 현재 진실을 확인하지 않은 모든 것.

다국어

연령 표시는 언어에 구애받지 않습니다(버전, 날짜, 배지는 어떤 산문 언어에서도 동일하게 보입니다. 날짜 형식은 다양함 — 구조로 파싱하고, 영어 월 이름에 의존하지 마세요). 의미 판단은 잘 처리되지 않는 언어에서 낮은 신뢰도의 플래그로 저하되며, 거짓 경보를 발생시키지 않습니다.

문제 보고

이 카나리가 오작동하면, 사용자가 검토한 요약과 함께 https://github.com/TheColliery/CoalLedger/issues에 제출하도록 제안하세요 — 절대 자동 제출하지 마세요.

관련 스킬