All checks were successful
Publish ParaWiki / build-and-deploy (push) Successful in 29s
- PLAN.md · PROGRESS.md 도입: 병렬 에이전트 조정 지점 - CLAUDE.md 린화 + 에이전트 작업 흐름 섹션 (상세는 Output/guides/로 분리) - Output/guides/cimery-dev-guide.md, obsidian-cli.md 신설 - Agents: cimery-architect-researcher, adr-drafter - Commands: /plan, /progress, /adr, /research, /cimery-start - Skill: plan-commit - Hooks: raw/ 쓰기 차단, SessionStart PLAN/PROGRESS 주입, wiki/ADR 변경 시 log 갱신 알림, auto-approve (deny 훅 우선 유지) - .gitignore: .claude/ 공유 자산 포함, 로컬 상태·바이너리만 유지 제외 Closes #3 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
4.9 KiB
4.9 KiB
name, description
| name | description |
|---|---|
| lint | Library-tidying scan over the entire wiki/. Detects broken wikilinks, orphan pages, missing frontmatter fields, stale sources, index mismatches, oversized index lines, and log gaps — then proposes and applies fixes. Use when the user says "위키 정리", "lint", "도서관 정리", or "/lint". |
lint
위키 전체를 점검하고, 깨지거나 낡은 것·규칙 위반을 찾아 수정·업데이트까지 수행하는 도서관 정리 스킬.
절차 (순서대로 실행)
1. 인벤토리 수집
wiki/*.md전체 파일 목록(이하WIKI_FILES).raw/전체 파일 목록(이하RAW_FILES, README/CLAUDE 제외).wiki/index.md내 모든[[...]]wikilink 목록(INDEX_LINKS).wiki/log.md내create/delete/rename이벤트 목록(LOG_EVENTS).- 각 위키 페이지의 frontmatter(
title,tags,sources,updated,principles)와 본문 내 wikilink 전체(PAGE_LINKS_BY_FILE).
2. 점검 항목
각 항목은 찾기(detect) → 제안(report) → 가능하면 자동 수정(apply). 의미가 모호한 수정은 제안만 하고 사용자 확인을 남겨둠.
A. 깨진 wikilink (자동 수정 어려움 — 제안)
- 각 페이지의
[[X]]에 대해wiki/X.md가 존재하는지 검사. - 없으면 깨진 링크. 유사 이름(대소문자·띄어쓰기 차이) 페이지가 있으면 자동 교정 제안.
B. 오탈자·이명 (자동 수정 어려움 — 제안)
- 페이지 제목과 wikilink 텍스트 불일치 확인.
C. 고아 페이지 (자동)
WIKI_FILES중 어떤 다른 페이지에서도 링크되지 않고, index.md에도 없는 페이지.- index.md에 한 줄 엔트리를 추가 (카테고리: 내용 기반 판단, 애매하면 "개념"). 120자 이내.
D. index.md 누락·불일치 (자동)
WIKI_FILES⊄INDEX_LINKS→ 누락된 페이지는 index에 추가.INDEX_LINKS⊄WIKI_FILES→ 삭제된 페이지에 대한 죽은 엔트리는 index에서 제거.
E. index 엔트리 길이 (자동)
- [[X]] — ...한 줄이 120자 초과 시 설명을 요약해 자르기.
F. frontmatter 누락·형식 (자동)
- 필수 필드:
title,sources,updated. - 누락이면 추가.
title은 파일명에서,updated는 오늘 날짜로,sources는 빈 배열로 두고 사용자 보완 제안.
G. 존재하지 않는 source 참조 (제안)
- 각 페이지의
sources:배열이 가리키는 경로가 실제로raw/에 있는지 확인. 없으면 이름 변경·삭제 여부 조사를 제안.
H. 로그 누락 (자동)
WIKI_FILES각 페이지에 대해log.md에 해당 페이지명의create이벤트가 있는지 확인.- 없으면 "(late)" 태그와 함께 오늘 날짜의 create 엔트리를 log.md 맨 위에 추가:
- YYYY-MM-DD create [[페이지명]] — (late) lint에 의해 역추적 등록.
I. 삭제된 페이지의 죽은 참조 (자동)
log.md의 delete 이벤트 대상 페이지가 여전히 다른 페이지에서 링크되면, 해당 링크를 일반 텍스트로 변환 또는 새 대상 제안.
J. 오래된 updated: (제안)
- 페이지의
sources:파일들의 mtime이 페이지updated:보다 7일 이상 새것이면 재검토 제안.
K. 잠정 설계 원칙 연결 누락 (제안)
- 페이지가 "해석" 섹션에서 원칙(비패밀리/증분/선형-GIS) 중 하나를 언급하는데, frontmatter
principles:에 빠져 있으면 추가 제안.
L. 중복 개념 (제안)
- 두 페이지 제목·핵심 용어가 과도하게 겹치면 병합 후보로 리포트. 자동 병합은 금지.
3. 실행 순서
- 자동 가능한 항목부터 수정 (E → F → H → D → I → C 순서).
log.md에- YYYY-MM-DD meta — lint run: 자동 수정 N건 적용.한 줄 추가.- 제안만 가능한 항목(A, B, G, J, K, L)은 최종 보고에 리스트화.
4. 최종 보고 형식
## Lint 결과
### 자동 수정 N건
- [A] ...
- [B] ...
### 수동 확인 필요 M건
- **깨진 링크**: [[X]] (페이지 [[Y]] 내부) → 제안: [[Z]] 로 변경?
- **병합 후보**: [[A]] ⟷ [[B]]
- **오래된 updated**: [[C]] (sources 변경된 지 N일)
- **원칙 연결 누락**: [[D]]에 'principles: [증분]' 추가?
### 원칙 커버리지 현황
- 비패밀리: 페이지 N개
- 증분: 페이지 N개
- 선형-GIS: 페이지 N개 ← ⚠️ 비어 있음 / 부족
주의사항
raw/파일은 절대 수정·이동·삭제 금지 (불변 원본). lint는 오직wiki/쪽만 수정.- 자동 수정 전, 각 변경은 사용자가 되돌릴 수 있도록
log.md에 흔적을 남긴다. - 애매한 의미 수정(깨진 링크의 의도 추정, 병합)은 절대 자동화 금지. 보고만.
- 한 번의 실행에서 너무 많은 파일을 재작성하지 않는다. 30건 넘으면 일부만 처리하고 나머지는 보고.