| name | document-organizer |
| description | 한국 공공기관 공문서 파일들을 공문 번호별로 자동 분류하여 폴더로 정리합니다. 같은 공문 번호를 가진 파일들(본문 + 첨부파일)을 하나의 폴더에 모아주며, 폴더명은 본문 파일명을 사용합니다. Use when: (1) 공문서 정리, (2) 공문 분류, (3) 공문 파일 정리가 필요할 때. 파일명 패턴은 references/pattern_examples.md 참조. |
| allowed-tools | Bash(node *), Read, Write, Glob, Grep |
Document Organizer
Overview
Windows 환경에서 한국 공공기관 공문서 파일을 공문 번호별로 자동 분류합니다.
런타임: Node.js (필수)
Workflow
Claude는 아래 순서를 반드시 따른다.
Step 1. Config 확인
이 스킬 디렉토리 내 config.json을 읽는다.
config.json이 없는 경우 (최초 실행):
사용자에게 공문서가 저장된 폴더 경로를 질문한다:
"공문서 파일이 들어있는 폴더의 경로를 알려주세요."
사용자가 경로를 알려주면, 그 경로를 기본값으로 config.json을 자동 생성한다:
{
"version": "1.0",
"default_profile": "work",
"profiles": {
"work": {
"name": "기본 공문 폴더",
"path": "{사용자가 알려준 경로}",
"last_used": null
}
}
}
중요:
- 경로 작성 시 반드시 Windows 절대경로 + **역슬래시 이스케이프(
\\)**를 사용한다.
- 사용자가
바탕화면의 공문 모음 폴더 등 자연어로 말하거나, 현재 세션 작업 디렉토리에서 실행하는 경우에도 절대경로로 변환하여 저장한다.
- 예시 경로를 제시하지 않는다. 사용자가 지정한 경로가 곧 기본값이 된다.
config.json이 있는 경우:
profiles.<default_profile>.path를 추출하고 바로 Step 2로 진행한다.
Step 2. 스크립트 실행
node "<이 스킬의 디렉토리>/scripts/organize.mjs"
- 스킬 디렉토리는
~/.claude/skills/document-organizer (설치 위치에 따라 다를 수 있음)
- 프로필 지정 시:
node organize.mjs <config_path> <profile_name>
- 스크립트가 config.json을 직접 읽고, 대상 폴더를 스캔하고, 정리까지 한번에 수행
Step 3. 결과 보고
스크립트 출력을 사용자에게 전달 (생성 폴더 수, 이동 파일 수)
최초 실행은 경로 질문 1턴 + config 생성 & 스크립트 실행 1턴 = 최대 2턴.
이후 실행은 config 읽기 + 스크립트 실행 = 1턴으로 완료해야 한다.
파일명 패턴
(기관명-공문번호 (본문) 발신기관명) [제출] 제목.확장자
(기관명-공문번호 (첨부) 발신기관명) [붙임N] 제목.확장자
(기관명-공문번호 (본문)) [제출] 제목.확장자 ← 발신기관 없는 경우도 지원
정규표현식:
/\(([^-]+)-(\d+)\s+\((본문|첨부)\)[^)]*\)/
[^)]*로 괄호 닫기 전까지의 모든 내용(발신기관명 등)을 허용합니다.
상세 예시 → references/pattern_examples.md
Configuration
위치: 이 스킬 디렉토리 내 config.json
최초 실행 시: AI가 사용자에게 경로를 질문하고, 사용자가 지정한 경로를 기본값으로 하여 config.json을 자동 생성한다. 사용자가 직접 편집할 필요 없음.
구조 예시:
{
"version": "1.0",
"default_profile": "work",
"profiles": {
"work": {
"name": "기본 공문 폴더",
"path": "(사용자가 최초 실행 시 지정한 경로)",
"last_used": null
}
}
}
경로 규칙:
- 반드시 Windows 절대경로 사용 (
C:\\...)
- JSON 내 역슬래시는 이스케이프 (
\\)
/c/Users/... 같은 Git Bash 스타일 경로 사용 금지
- 기본값 없음: 사용자가 최초 실행 시 지정한 경로가 곧 기본값
상세 구조 → references/config_structure.md
Commands
| 사용자 입력 | 동작 |
|---|
"공문서 정리" / "공문 정리" / "공문 분류" | 기본 프로필로 정리 |
"personal 프로필로 공문 정리" | 특정 프로필 사용 |
"공문 경로 변경" / "다른 폴더로 공문 정리" | 새 경로를 질문하고 config.json 업데이트 |
"공문 정리 설정 초기화" | config.json 삭제 (다음 실행 시 경로 재질문) |
Output Example
공문 모음\
├── (인창고등학교-22206 (본문) 경기도구리남양주교육지원청 초등교육지원과) [제출] AI 중점학교 운영 신청\
│ ├── (인창고등학교-22206 (본문) 경기도구리남양주교육지원청 초등교육지원과) [제출] AI 중점학교.pdf
│ ├── (인창고등학교-22206 (첨부) 경기도구리남양주교육지원청 초등교육지원과) [붙임1] 신청서.hwpx
│ └── (인창고등학교-22206 (첨부) 경기도구리남양주교육지원청 초등교육지원과) [붙임2] 계획서.hwpx
└── (인창고등학교-568 (본문) 경기도구리남양주교육지원청 초등교육지원과) [제출] 디지털튜터\
├── (인창고등학교-568 (본문) 경기도구리남양주교육지원청 초등교육지원과) [제출] 디지털튜터.pdf
└── (인창고등학교-568 (첨부) 경기도구리남양주교육지원청 초등교육지원과) [붙임1] 명단.xlsx
Scripts
scripts/organize.mjs — 메인 정리 스크립트 (Node.js)
Notes
- 본문 파일이 없는 공문은
공문_기관명-번호 폴더명 사용
- 패턴 미매칭 파일은 이동하지 않고 원본 위치 유지
- 이미 폴더가 존재하면 기존 폴더에 파일 추가