obsidian-writer — Obsidian 문서 작성/서식 규칙
Obsidian vault에서 새 문서를 만들거나 기존 문서 서식을 정리할 때 이 규칙을 적용한다. 이 스킬은 오로지 "쓰기(작성/서식)" 에만 관한 것이다.
저장 폴더(Inbox·프로젝트 폴더 등)의 실제 경로는 프로젝트 CLAUDE.md의 "문서 작성 설정"에 정의된 값을 따른다. 정의가 없으면 vault 루트 등 적절한 위치에 작성한다.
0. 필수 체크 (문서 생성 시 항상)
- 저장 위치: 새 파일은 항상 지정된 Inbox 폴더에 먼저 저장 (실제 경로는
CLAUDE.md의 "문서 작성 설정" 참조).
- 목차(TOC) 필수: 문서 상단에 목차를 넣는다. Obsidian 내부 링크
[[#헤딩]] 형식 사용.
1. 파일명 규칙
| 유형 |
형식 |
예시 |
| 일반 문서 |
YYYY-MM-DD 제목.md |
2026-02-19 회의록.md |
| 크롤링 문서 |
C-YYYY-MM-DD 제목.md |
C-2026-02-19 기사제목.md |
| 유튜브 요약 |
Y-YYYY-MM-DD 제목.md |
Y-2026-02-19 영상제목.md |
2. 코드 요소 색상 규칙 (span 클래스)
CSS 스니펫 inline-code-color(.obsidian/snippets/)가 아래 클래스를 정의한다. 문서에서 코드 요소를 강조할 때 이 규칙을 따른다.
- 기본은 인라인 코드(백틱) — 파일명·함수명·변수명·명령어·경로·설정키는 백틱(
`)으로 감싼다. 스니펫이 파랑 단색을 자동 적용한다.
- 종류별 색 구분이 필요할 때만 span 클래스 사용. 남발하지 말 것(핵심 심볼 위주).
| 클래스 |
용도 |
색 |
예시 |
fn |
함수/메서드 |
노랑 |
<span class="fn">calculateTotal()</span> |
var |
변수/멤버 |
하늘 |
<span class="var">retryCount</span> |
file |
파일명 |
청록 |
<span class="file">main.cpp</span> |
type |
타입/클래스 |
분홍보라 |
<span class="type">HttpClient</span> |
cmd |
명령어 |
주황 |
<span class="cmd">npm run build</span> |
- 코드블록은 언어 태그를 붙인다:
```cpp, ```bash, ```python 등. PrismJS가 토큰별(함수/타입/문자열/주석)로 자동 색칠한다.
- 색 정의를 바꾸려면
.obsidian/snippets/inline-code-color.css의 색코드만 수정(전 문서 반영).
2-1. CSS 스니펫 자동 설정 (문서 작업 시작 시 체크)
span 클래스나 코드 색상을 쓰기 전에 CSS 스니펫이 준비돼 있는지 항상 확인하고, 없으면 자동으로 생성·활성화한다.
.obsidian/snippets/inline-code-color.css 존재 확인.
- 파일이 없거나 비어 있으면 아래 전체 내용으로 생성한다.
.obsidian/appearance.json의 enabledCssSnippets 배열 확인.
"inline-code-color"가 없으면 배열에 추가한다. (appearance.json이 없으면 {"enabledCssSnippets":["inline-code-color"]}로 생성)
생성할 CSS 전체 내용:
/* ============================================================
코드 색상 스니펫
- 인라인 코드(`...`): 의미 구분 불가 → 단색(파랑)
- 코드블록(```cpp 등): PrismJS 토큰별 색상 분리
(함수/타입/변수/문자열/주석/숫자를 각각 다른 색으로)
============================================================ */
/* ---------- 1. 인라인 코드 (문장 속 `...`) : 단색 파랑 ---------- */
.markdown-preview-view code:not(pre code),
.markdown-rendered code:not(pre code) {
color: #61afef;
background-color: rgba(97, 175, 239, 0.12);
border: 1px solid rgba(97, 175, 239, 0.25);
border-radius: 4px;
padding: 0.1em 0.35em;
font-size: 0.9em;
}
.cm-s-obsidian .cm-inline-code {
color: #61afef;
background-color: rgba(97, 175, 239, 0.12);
border-radius: 4px;
padding: 0.1em 0.2em;
}
/* ---------- 2. 코드블록(```cpp 등) PrismJS 토큰별 색상 ---------- */
.token.function { color: #dcdcaa !important; } /* 함수 — 노랑 */
.token.class-name,
.token.builtin { color: #4ec9b0 !important; } /* 타입/클래스 — 청록 */
.token.keyword { color: #c586c0 !important; } /* 키워드 — 분홍보라 */
.token.string,
.token.char { color: #ce9178 !important; } /* 문자열 — 주황 */
.token.comment { color: #6a9955 !important; font-style: italic; } /* 주석 — 초록 */
.token.number { color: #b5cea8 !important; } /* 숫자/라인번호 — 연두 */
.token.macro,
.token.directive { color: #9b9b9b !important; } /* 전처리기 — 회보라 */
.token.property,
.token.variable { color: #9cdcfe !important; } /* 변수/식별자 — 하늘 */
.token.operator,
.token.punctuation { color: #d4d4d4 !important; } /* 연산자·구두점 — 회색 */
/* ---------- 3. 수동 색상 클래스 (문장 속 임의 문자열) ---------- */
.fn, .var, .file, .type, .cmd {
font-family: var(--font-monospace);
font-size: 0.92em;
}
.fn { color: #dcdcaa; } /* 함수 — 노랑 */
.var { color: #9cdcfe; } /* 변수 — 하늘 */
.file { color: #4ec9b0; } /* 파일 — 청록 */
.type { color: #c586c0; } /* 타입/클래스 — 분홍보라 */
.cmd { color: #ce9178; } /* 명령어 — 주황 */
3. 기술 문서 작성 규칙 (프로젝트 레퍼런스 문서)
프로젝트 개발 시 plan 문서(진행 관리, {프로젝트명}-plan.md)와 별도로, 프로젝트 자체를 설명하는 기술 문서({프로젝트명}.md)를 작성한다. 처음 보는 사람이 전체를 이해할 수 있는 레퍼런스.
구조 (7개 대주제)
| # |
섹션 |
내용 |
| 1 |
개요 |
프로젝트 설명, 기본 정보(소스 경로/언어/프레임워크), 배경/동기 |
| 2 |
사용법 |
CLI, TUI/GUI 조작(단축키/레이아웃), Bot 커맨드, API 커버리지 |
| 3 |
아키텍처 |
모듈 구조, 데이터 흐름, 인프라(네트워크/포트/파일 위치), 인증 구조, 설계 결정 |
| 4 |
구현 방법 |
핵심 알고리즘, 데이터 수집/처리 로직, 스키마, 계산 공식 등 상세 |
| 5 |
변경 이력 |
git log 기반 날짜별 변경 내역 테이블(개발 중 지속 추가) |
| 6 |
트러블슈팅 |
증상 → 원인 → 해결 형식(디버깅에서 발견한 이슈 지속 추가) |
| 7 |
부록 |
의존성, 보안, 제한사항, 설정값, 관련 자료, Git/백업 등 |
작성 원칙
- 목차: 문서 상단에
[[#섹션명]] 형식으로 작성.
- plan 문서와 구분: plan은 TODO/진행 관리, 기술 문서는 완성된 프로젝트 설명.
- 변경 이력: 코드 수정 시 변경 이력 테이블에 날짜 + 내용 추가.
- 트러블슈팅: 버그 수정 시 증상/원인/해결 형식으로 추가.
- 점진적 보강: 프로젝트 발전 시 해당 섹션 업데이트.
- 파일 위치/이름:
{프로젝트 폴더}/{프로젝트명}/{프로젝트명}.md (폴더명과 동일). 프로젝트 폴더 경로는 CLAUDE.md의 "문서 작성 설정" 참조.
이 스킬은 "문서 작성/서식"만 다룬다. 첨부파일 저장 위치, 웹 크롤링 문서 정리 등
vault 환경에 종속되는 규칙은 각자 환경에 맞게 별도로 정의해서 쓸 것.
1---2name: obsidian-writer3description: Obsidian vault 문서를 새로 만들거나 서식을 맞출 때 사용하는 문서 "작성" 규칙. "옵시디언", "obsidian", "새 문서", "새문서", "vault 문서", "노트 작성", "문서 작성", "목차 추가", "inbox 문서", "기술 문서 작성" 등으로 트리거. 파일명 규칙, 필수 목차(TOC, [[#헤딩]]), Inbox 저장, 코드 요소 색상(span 클래스/CSS 스니펫), 기술 문서 7섹션 구조를 정의한다. 오로지 문서 작성/서식에만 적용되는 스킬.4---56# obsidian-writer — Obsidian 문서 작성/서식 규칙78Obsidian vault에서 **새 문서를 만들거나 기존 문서 서식을 정리**할 때 이 규칙을 적용한다. 이 스킬은 **오로지 "쓰기(작성/서식)"** 에만 관한 것이다.910> 저장 폴더(Inbox·프로젝트 폴더 등)의 실제 경로는 프로젝트 `CLAUDE.md`의 "문서 작성 설정"에 정의된 값을 따른다. 정의가 없으면 vault 루트 등 적절한 위치에 작성한다.1112## 0. 필수 체크 (문서 생성 시 항상)1314- **저장 위치**: 새 파일은 항상 지정된 Inbox 폴더에 먼저 저장 (실제 경로는 `CLAUDE.md`의 "문서 작성 설정" 참조).15- **목차(TOC) 필수**: 문서 상단에 목차를 넣는다. Obsidian 내부 링크 `[[#헤딩]]` 형식 사용.16 - 하위 항목은 들여쓰기(탭)로 표현. 표시 텍스트가 필요하면 `[[#헤딩|표시텍스트]]`.17 - 예:18 ```markdown19 ## 목차20 1. [[#1. 설치]]21 2. [[#2. 사용법|사용법]]22 - [[#2-1. 세부 항목]]23 ```2425## 1. 파일명 규칙2627| 유형 | 형식 | 예시 |28|---|---|---|29| 일반 문서 | `YYYY-MM-DD 제목.md` | `2026-02-19 회의록.md` |30| 크롤링 문서 | `C-YYYY-MM-DD 제목.md` | `C-2026-02-19 기사제목.md` |31| 유튜브 요약 | `Y-YYYY-MM-DD 제목.md` | `Y-2026-02-19 영상제목.md` |3233## 2. 코드 요소 색상 규칙 (span 클래스)3435CSS 스니펫 `inline-code-color`(`.obsidian/snippets/`)가 아래 클래스를 정의한다. 문서에서 코드 요소를 강조할 때 이 규칙을 따른다.3637- **기본은 인라인 코드(백틱)** — 파일명·함수명·변수명·명령어·경로·설정키는 백틱(`` ` ``)으로 감싼다. 스니펫이 파랑 단색을 자동 적용한다.38- **종류별 색 구분이 필요할 때만 span 클래스** 사용. 남발하지 말 것(핵심 심볼 위주).3940| 클래스 | 용도 | 색 | 예시 |41|---|---|---|---|42| `fn` | 함수/메서드 | 노랑 | `<span class="fn">calculateTotal()</span>` |43| `var` | 변수/멤버 | 하늘 | `<span class="var">retryCount</span>` |44| `file` | 파일명 | 청록 | `<span class="file">main.cpp</span>` |45| `type` | 타입/클래스 | 분홍보라 | `<span class="type">HttpClient</span>` |46| `cmd` | 명령어 | 주황 | `<span class="cmd">npm run build</span>` |4748- **코드블록은 언어 태그를 붙인다**: ` ```cpp `, ` ```bash `, ` ```python ` 등. PrismJS가 토큰별(함수/타입/문자열/주석)로 자동 색칠한다.49- 색 정의를 바꾸려면 `.obsidian/snippets/inline-code-color.css`의 색코드만 수정(전 문서 반영).5051### 2-1. CSS 스니펫 자동 설정 (문서 작업 시작 시 체크)5253span 클래스나 코드 색상을 쓰기 전에 **CSS 스니펫이 준비돼 있는지 항상 확인**하고, 없으면 자동으로 생성·활성화한다.54551. `.obsidian/snippets/inline-code-color.css` 존재 확인.56 - **파일이 없거나 비어 있으면** 아래 전체 내용으로 생성한다.572. `.obsidian/appearance.json`의 `enabledCssSnippets` 배열 확인.58 - **`"inline-code-color"`가 없으면** 배열에 추가한다. (`appearance.json`이 없으면 `{"enabledCssSnippets":["inline-code-color"]}`로 생성)5960생성할 CSS 전체 내용:6162````css63/* ============================================================64 코드 색상 스니펫65 - 인라인 코드(`...`): 의미 구분 불가 → 단색(파랑)66 - 코드블록(```cpp 등): PrismJS 토큰별 색상 분리67 (함수/타입/변수/문자열/주석/숫자를 각각 다른 색으로)68 ============================================================ */6970/* ---------- 1. 인라인 코드 (문장 속 `...`) : 단색 파랑 ---------- */71.markdown-preview-view code:not(pre code),72.markdown-rendered code:not(pre code) {73 color: #61afef;74 background-color: rgba(97, 175, 239, 0.12);75 border: 1px solid rgba(97, 175, 239, 0.25);76 border-radius: 4px;77 padding: 0.1em 0.35em;78 font-size: 0.9em;79}80.cm-s-obsidian .cm-inline-code {81 color: #61afef;82 background-color: rgba(97, 175, 239, 0.12);83 border-radius: 4px;84 padding: 0.1em 0.2em;85}8687/* ---------- 2. 코드블록(```cpp 등) PrismJS 토큰별 색상 ---------- */88.token.function { color: #dcdcaa !important; } /* 함수 — 노랑 */89.token.class-name,90.token.builtin { color: #4ec9b0 !important; } /* 타입/클래스 — 청록 */91.token.keyword { color: #c586c0 !important; } /* 키워드 — 분홍보라 */92.token.string,93.token.char { color: #ce9178 !important; } /* 문자열 — 주황 */94.token.comment { color: #6a9955 !important; font-style: italic; } /* 주석 — 초록 */95.token.number { color: #b5cea8 !important; } /* 숫자/라인번호 — 연두 */96.token.macro,97.token.directive { color: #9b9b9b !important; } /* 전처리기 — 회보라 */98.token.property,99.token.variable { color: #9cdcfe !important; } /* 변수/식별자 — 하늘 */100.token.operator,101.token.punctuation { color: #d4d4d4 !important; } /* 연산자·구두점 — 회색 */102103/* ---------- 3. 수동 색상 클래스 (문장 속 임의 문자열) ---------- */104.fn, .var, .file, .type, .cmd {105 font-family: var(--font-monospace);106 font-size: 0.92em;107}108.fn { color: #dcdcaa; } /* 함수 — 노랑 */109.var { color: #9cdcfe; } /* 변수 — 하늘 */110.file { color: #4ec9b0; } /* 파일 — 청록 */111.type { color: #c586c0; } /* 타입/클래스 — 분홍보라 */112.cmd { color: #ce9178; } /* 명령어 — 주황 */113````114115## 3. 기술 문서 작성 규칙 (프로젝트 레퍼런스 문서)116117프로젝트 개발 시 **plan 문서**(진행 관리, `{프로젝트명}-plan.md`)와 별도로, 프로젝트 자체를 설명하는 **기술 문서**(`{프로젝트명}.md`)를 작성한다. 처음 보는 사람이 전체를 이해할 수 있는 레퍼런스.118119### 구조 (7개 대주제)120121| # | 섹션 | 내용 |122|---|------|------|123| 1 | **개요** | 프로젝트 설명, 기본 정보(소스 경로/언어/프레임워크), 배경/동기 |124| 2 | **사용법** | CLI, TUI/GUI 조작(단축키/레이아웃), Bot 커맨드, API 커버리지 |125| 3 | **아키텍처** | 모듈 구조, 데이터 흐름, 인프라(네트워크/포트/파일 위치), 인증 구조, 설계 결정 |126| 4 | **구현 방법** | 핵심 알고리즘, 데이터 수집/처리 로직, 스키마, 계산 공식 등 상세 |127| 5 | **변경 이력** | git log 기반 날짜별 변경 내역 테이블(개발 중 지속 추가) |128| 6 | **트러블슈팅** | 증상 → 원인 → 해결 형식(디버깅에서 발견한 이슈 지속 추가) |129| 7 | **부록** | 의존성, 보안, 제한사항, 설정값, 관련 자료, Git/백업 등 |130131### 작성 원칙132133- **목차**: 문서 상단에 `[[#섹션명]]` 형식으로 작성.134- **plan 문서와 구분**: plan은 TODO/진행 관리, 기술 문서는 완성된 프로젝트 설명.135- **변경 이력**: 코드 수정 시 변경 이력 테이블에 날짜 + 내용 추가.136- **트러블슈팅**: 버그 수정 시 증상/원인/해결 형식으로 추가.137- **점진적 보강**: 프로젝트 발전 시 해당 섹션 업데이트.138- **파일 위치/이름**: `{프로젝트 폴더}/{프로젝트명}/{프로젝트명}.md` (폴더명과 동일). 프로젝트 폴더 경로는 `CLAUDE.md`의 "문서 작성 설정" 참조.139140---141142> 이 스킬은 "문서 작성/서식"만 다룬다. 첨부파일 저장 위치, 웹 크롤링 문서 정리 등143> vault 환경에 종속되는 규칙은 각자 환경에 맞게 별도로 정의해서 쓸 것.