cs-guide-writer
CS 학습 문서를 작성합니다. "오늘의 CS", "CS 정리", "{주제} 정리해줘", "최근 이슈 CS" 요청 시 사용하세요.
Best use case
cs-guide-writer is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
CS 학습 문서를 작성합니다. "오늘의 CS", "CS 정리", "{주제} 정리해줘", "최근 이슈 CS" 요청 시 사용하세요.
Teams using cs-guide-writer should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/cs-guide-writer/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How cs-guide-writer Compares
| Feature / Agent | cs-guide-writer | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
CS 학습 문서를 작성합니다. "오늘의 CS", "CS 정리", "{주제} 정리해줘", "최근 이슈 CS" 요청 시 사용하세요.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# CS 문서 작성 도우미
CS-GUIDE.md 템플릿에 맞춰 학습 문서를 작성하는 Skill입니다.
## 트리거 키워드
- "오늘의 CS: {주제}" - 특정 주제로 문서 작성
- "오늘의 CS" - 주제 미지정 시 옵션 제안 (아래 참고)
- "CS 정리: {주제}"
- "{주제} 정리해줘" (CS 관련 주제인 경우)
- "최근 이슈 CS" - 최신 기술 트렌드 주제
## "오늘의 CS" 주제 미지정 시 처리
주제 없이 "오늘의 CS"만 요청한 경우, **AskUserQuestion 도구**를 사용하여 다음 옵션을 제안:
### 옵션 1: 최신 트렌드 (Recommended)
- 웹 검색으로 2025년 최신 기술 트렌드 조사
- 가장 관련성 높은 주제 1개 선택하여 문서 작성
- 문서 상단에 `Trend` 마크 추가
### 옵션 2: 카테고리 선택
아래 카테고리 중 선택하면 해당 분야의 핵심 주제 추천:
| 대분류 | 세부 분야 | 추천 주제 예시 |
|--------|----------|---------------|
| **Network** | 프로토콜 | HTTP/HTTPS, TCP/IP, UDP, WebSocket, gRPC |
| | 아키텍처 | REST API, GraphQL, CDN, 로드밸런싱, DNS |
| | 보안 | TLS/SSL, CORS, 네트워크 보안 |
| **OS** | 프로세스/스레드 | 프로세스 vs 스레드, 컨텍스트 스위칭, 스케줄링 |
| | 메모리 | 가상 메모리, 페이징, 메모리 단편화, GC |
| | 동기화 | 뮤텍스, 세마포어, 데드락, IPC |
| | 파일 시스템 | 파일 디스크립터, I/O 모델, 버퍼/캐시 |
| **DB** | 기초 | 정규화, 인덱스, 트랜잭션, ACID |
| | 성능 | 쿼리 최적화, 실행 계획, 커넥션 풀 |
| | 분산 | 샤딩, 복제, 파티셔닝, CAP 정리 |
| | NoSQL | Redis, MongoDB, Elasticsearch, 캐싱 전략 |
| **Algorithm** | 기초 | 시간/공간 복잡도, Big-O 표기법 |
| | 자료구조 | Array, LinkedList, Tree, Graph, Hash |
| | 알고리즘 | 정렬, 탐색, DP, 그리디, 백트래킹 |
| **System Design** | 확장성 | 수평/수직 확장, 로드밸런싱, Rate Limiting |
| | 분산 시스템 | 분산 락, 합의 알고리즘, 이벤트 소싱, CDC |
| | 아키텍처 | MSA, 이벤트 드리븐, CQRS, DDD |
| | 메시징 | Kafka, RabbitMQ, 메시지 큐 패턴 |
| **Programming** | 패러다임 | OOP, 함수형 프로그래밍, 리액티브 |
| | 설계 | SOLID, 디자인 패턴, 클린 아키텍처 |
| | 품질 | TDD, 리팩토링, 코드 리뷰, 테스트 전략 |
| | API | REST 설계, API 버저닝, 문서화 |
| **Security** | 인증/인가 | OAuth, JWT, Session, RBAC |
| | 암호화 | 대칭/비대칭 암호화, 해싱, Salt |
| | 취약점 | OWASP Top 10, SQL Injection, XSS, CSRF |
| **AI/Agent** | 기초 | LLM 동작 원리, 프롬프트 엔지니어링 |
| | 도구 | AI Agent, MCP, Function Calling |
| | 응용 | RAG, 벡터 DB, 임베딩 |
| **DevOps** | CI/CD | 파이프라인, 자동화, GitOps |
| | 컨테이너 | Docker, Kubernetes, 서비스 메시 |
| | 모니터링 | 로깅, 메트릭, 트레이싱, APM |
| **Language** | Java | JVM, GC, 동시성, Stream API |
| | Kotlin | 코루틴, Null Safety, 확장 함수 |
| | 일반 | 타입 시스템, 메모리 모델, 컴파일러 |
### 옵션 3: TODO 목록
여러 주제를 한 번에 요청할 때 사용. 작성해야 할 문서를 리스트로 관리:
**사용 예시:**
- "오늘의 CS: 트랜잭션, 인덱스, 정규화 정리해줘"
- "Network 카테고리 기초 문서들 정리해줘"
- "면접 준비용으로 OS 핵심 5개 정리해줘"
**처리 방식:**
1. 요청된 주제들을 TodoWrite 도구로 TODO 목록에 추가
2. 각 주제별로 순차적으로 문서 작성
3. 완료된 항목은 completed로 표시
4. 전체 진행 상황을 사용자에게 표시
### 질문 형식 예시
```
오늘의 CS 주제를 어떻게 선택할까요?
1. 최신 트렌드 (Recommended) - 2025년 기술 트렌드에서 주제 선정
2. 카테고리 선택 - 관심 분야에서 핵심 주제 추천
3. TODO 목록 - 여러 주제를 리스트로 작성 (예: "트랜잭션, 인덱스, 정규화")
```
## 카테고리 판단 기준
| 카테고리 | 세부 분류 | 주제 예시 |
|----------|----------|----------|
| `network/` | 프로토콜 | HTTP, HTTPS, TCP/IP, UDP, WebSocket, gRPC |
| | 아키텍처 | REST API, GraphQL, CDN, 로드밸런싱, DNS |
| | 보안 | TLS/SSL, CORS, 방화벽, VPN |
| `os/` | 프로세스/스레드 | 컨텍스트 스위칭, 스케줄링, PCB, TCB |
| | 메모리 | 가상 메모리, 페이징, 세그멘테이션, GC |
| | 동기화 | 뮤텍스, 세마포어, 데드락, 조건 변수 |
| | 파일 시스템 | 파일 디스크립터, I/O 모델, 버퍼/캐시 |
| | IPC | 파이프, 소켓, 공유 메모리, 메시지 큐 |
| `db/` | 기초 | 정규화, 인덱스, 트랜잭션, ACID |
| | 성능 | 쿼리 최적화, 실행 계획, 커넥션 풀, N+1 |
| | 분산 | 샤딩, 복제, 파티셔닝, CAP, PACELC |
| | NoSQL | Redis, MongoDB, Elasticsearch, 캐싱 전략 |
| `algorithm/` | 기초 | 시간/공간 복잡도, Big-O, 점근 표기법 |
| | 자료구조 | Array, LinkedList, Tree, Graph, Hash |
| | 알고리즘 | 정렬, 탐색, DP, 그리디, 백트래킹, 분할정복 |
| `data-structure/` | 선형 | Array, LinkedList, Stack, Queue, Deque |
| | 비선형 | Tree, Graph, Heap, Trie |
| | 해시 | HashMap, HashSet, 충돌 해결 |
| `system-design/` | 확장성 | 수평/수직 확장, 로드밸런싱, Rate Limiting |
| | 분산 시스템 | 분산 락, 합의 알고리즘, 이벤트 소싱, CDC |
| | 아키텍처 | MSA, 이벤트 드리븐, CQRS, DDD, 헥사고날 |
| | 메시징 | Kafka, RabbitMQ, 메시지 큐 패턴, Pub/Sub |
| `git/` | 기초 | 버전 관리, 커밋, 브랜치, 머지 |
| | 전략 | Git Flow, GitHub Flow, Trunk-Based |
| | 내부 | Git 객체, 참조, reflog |
| `language/` | Java | JVM, GC, 동시성, Stream, 메모리 모델 |
| | Kotlin | 코루틴, Null Safety, 확장 함수, DSL |
| | 일반 | 타입 시스템, 컴파일러, 인터프리터 |
| `programming/` | 패러다임 | OOP, 함수형 프로그래밍, 리액티브 |
| | 설계 | SOLID, 디자인 패턴, 클린 아키텍처 |
| | 품질 | TDD, 리팩토링, 코드 리뷰, 정적 분석 |
| | API | REST 설계, API 버저닝, OpenAPI, 문서화 |
| `security/` | 인증/인가 | OAuth 2.0, JWT, Session, RBAC, ABAC |
| | 암호화 | 대칭/비대칭, 해싱, Salt, HTTPS |
| | 취약점 | OWASP Top 10, SQL Injection, XSS, CSRF |
| | 보안 설계 | 제로 트러스트, 시크릿 관리, 보안 감사 |
| `ai-agent/` | 기초 | LLM 동작 원리, 토큰화, 프롬프트 엔지니어링 |
| | 도구 | AI Agent, MCP, Function Calling, Tool Use |
| | 응용 | RAG, 벡터 DB, 임베딩, Fine-tuning |
| `devops/` | CI/CD | 파이프라인, GitHub Actions, GitOps |
| | 컨테이너 | Docker, Kubernetes, Helm, 서비스 메시 |
| | 모니터링 | 로깅, 메트릭, 트레이싱, APM, SRE |
| | 인프라 | IaC, Terraform, 클라우드 서비스 |
| `trend/` | - | 최신 기술 트렌드, 연도별 이슈 |
## 난이도 체계
난이도는 **3개로 고정하지 않고 유연하게 세분화**할 수 있습니다.
**핵심 원칙:**
1. **카테고리 정의가 최우선** - 각 카테고리는 "~란?" 정의 문서로 시작
2. **선수 지식 기반 순서** - 선수 지식이 없는 것 → 있는 것 순서
| 레벨 | 설명 | 표기 예시 |
|------|------|----------|
| `[1] 정의/기초` | 카테고리 정의, 선수 지식 없음 | `> \`[1] 정의\` · 선수 지식 없음` |
| `[2] 입문` | 기본 개념, 간단한 선수 지식 | `> \`[2] 입문\` · 선수 지식: 없음` |
| `[3] 중급` | 실무 핵심, 여러 기초 지식 | `> \`[3] 중급\` · 선수 지식: [문서명](./path.md)` |
| `[4] 심화` | 복잡한 개념, 다중 선수 지식 | `> \`[4] 심화\` · 선수 지식: [문서1](./path.md), [문서2](./path.md)` |
| `[5+]` | 필요 시 추가 가능 | - |
## 문서 작성 템플릿
```markdown
# {주제명}
> `[N] {레벨명}` · 선수 지식: [선수 문서](./path.md) 또는 "없음"
> `Trend` {연도} ← 트렌드 주제인 경우에만 추가
> 한 줄 정의 (명확하고 간결하게)
`#핵심한글` `#CoreEnglish` `#약어` `#FullName` `#관련기술1` `#관련기술2` `#하위개념` `#사용사례` `#면접키워드` ... (최대 30개)
## 왜 알아야 하는가?
{이 개념을 왜 배워야 하는지}
- **실무**: {실무에서 어떻게 활용되는지}
- **면접**: {면접에서 왜 자주 나오는지}
- **기반 지식**: {이 개념이 다른 개념의 기반이 되는 이유}
## 핵심 개념
- {핵심 1}
- {핵심 2}
- {핵심 3}
## 쉽게 이해하기
{실생활 비유로 개념 설명}
## 상세 설명
### {소주제 1}
{내용}
**왜 이렇게 하는가?**
{이유 설명}
## 동작 원리 (해당 시)
{Mermaid 다이어그램으로 시각화 - mermaid-diagram 스킬 참조}

## 예제 코드 (해당 시)
```java
// 예제 코드
```
## 코드 블록 언어 가이드
웹 뷰어(cs-web)의 Highlight.js 호환성을 위해 아래 언어를 사용합니다.
### 권장 언어 태그
| 언어 | 태그 | 비고 |
|------|------|------|
| Java | `java` | |
| Kotlin | `kotlin` | |
| JavaScript | `javascript` 또는 `js` | |
| TypeScript | `typescript` 또는 `ts` | |
| Python | `python` | |
| SQL | `sql` | |
| JSON | `json` | |
| YAML | `yaml` | |
| Markdown | `markdown` | |
| **쉘/터미널** | `shell` 또는 `bash` | ⚠️ `powershell` 사용 금지 |
| HTML | `html` | |
| CSS | `css` | |
| Go | `go` | |
| Rust | `rust` | |
### 주의사항
- **`powershell` 사용 금지**: Highlight.js 기본 빌드에 포함되지 않아 웹에서 하이라이팅 안됨
- Windows 명령어도 `shell` 또는 `bash`로 표기
- 언어 미지정 시 하이라이팅 없이 표시됨
## 트레이드오프 (해당 시)
| 장점 | 단점 |
|------|------|
| {장점} | {단점} |
## 트러블슈팅 (해당 시)
### 사례 1: {증상/문제 요약}
#### 증상
{에러 메시지, 로그, 현상}
#### 원인 분석
{왜 발생했는지 - 기술적 근거 포함}
#### 해결 방법
{구체적인 명령어/코드와 함께 해결법 제시}
#### 예방 조치
{모니터링, 설정 변경 등 재발 방지 방법}
## 면접 예상 질문
### Q: {질문}
A: {답변 - "왜?"에 대한 설명 포함}
## 연관 문서
| 문서 | 연관성 | 난이도 |
|------|--------|--------|
| [선수 문서](./path.md) | 선수 지식 | Beginner |
| [관련 문서](./path.md) | 관련 개념 | Intermediate |
| [후속 문서](./path.md) | 심화 학습 | Advanced |
## 참고 자료
- {출처}
```
## 키워드 작성 가이드
문서 상단에 검색용 키워드를 작성합니다. 나중에 검색 시 해당 문서를 쉽게 찾을 수 있도록 합니다.
### 키워드 작성 원칙
1. **최대 30개**까지 작성 가능 (내용에 맞게 충분히 작성)
2. **한글/영문** 모두 포함 (검색 편의)
3. **약어와 전체 명칭** 모두 포함
4. **관련 기술/도구/서비스/프레임워크** 포함
5. **동의어/유사어/대체 용어** 포함
6. **사용 사례/시나리오** 관련 키워드 포함
7. **면접 키워드** 포함 (자주 나오는 질문 관련)
### 키워드 분류 체계
키워드는 다음 카테고리별로 작성합니다:
| 분류 | 설명 | 예시 |
|------|------|------|
| **핵심 개념** | 주제의 핵심 용어 (한글/영문) | `#트랜잭션` `#Transaction` |
| **약어/전체명** | 약어와 풀네임 | `#MSA` `#마이크로서비스` `#Microservices` |
| **관련 기술** | 함께 사용되는 기술/도구 | `#Spring` `#JPA` `#Hibernate` |
| **하위 개념** | 세부 개념/종류 | `#ReadCommitted` `#Serializable` |
| **사용 사례** | 실제 적용 시나리오 | `#분산락` `#동시성제어` `#데드락` |
| **비교 대상** | 대안/경쟁 기술 | `#MySQL` `#PostgreSQL` `#Oracle` |
| **면접 키워드** | 면접 빈출 주제 | `#ACID` `#격리수준` `#락` |
### 카테고리별 키워드 예시 (확장)
| 카테고리 | 주제 | 키워드 (최대 30개) |
|----------|------|-------------------|
| **AI/Agent** | AI Agent | `#AI에이전트` `#AIAgent` `#LLM` `#대규모언어모델` `#Claude` `#GPT` `#Gemini` `#ChatGPT` `#Anthropic` `#OpenAI` `#Google` `#자율AI` `#Agentic` `#ToolUse` `#FunctionCalling` `#ReAct` `#CoT` `#ChainOfThought` `#프롬프트` `#RAG` `#벡터DB` `#임베딩` `#파인튜닝` `#토큰` `#컨텍스트윈도우` |
| **Network** | WebSocket | `#웹소켓` `#WebSocket` `#WS` `#WSS` `#실시간통신` `#양방향통신` `#FullDuplex` `#Socket.io` `#STOMP` `#SockJS` `#채팅` `#푸시알림` `#게임서버` `#Polling` `#LongPolling` `#SSE` `#ServerSentEvents` `#HTTP업그레이드` `#핸드셰이크` `#연결유지` `#Stateful` `#Spring` `#Netty` |
| **DB** | 트랜잭션 | `#트랜잭션` `#Transaction` `#ACID` `#원자성` `#Atomicity` `#일관성` `#Consistency` `#격리성` `#Isolation` `#지속성` `#Durability` `#커밋` `#Commit` `#롤백` `#Rollback` `#격리수준` `#IsolationLevel` `#ReadUncommitted` `#ReadCommitted` `#RepeatableRead` `#Serializable` `#락` `#Lock` `#데드락` `#Deadlock` `#동시성` `#MVCC` |
| **OS** | 프로세스 | `#프로세스` `#Process` `#스레드` `#Thread` `#PCB` `#ProcessControlBlock` `#컨텍스트스위칭` `#ContextSwitch` `#스케줄링` `#Scheduling` `#fork` `#exec` `#IPC` `#프로세스간통신` `#공유메모리` `#파이프` `#소켓` `#메시지큐` `#좀비프로세스` `#고아프로세스` `#멀티프로세스` `#멀티스레드` |
| **System Design** | MSA | `#MSA` `#마이크로서비스` `#Microservices` `#분산시스템` `#DistributedSystem` `#API게이트웨이` `#APIGateway` `#서비스메시` `#ServiceMesh` `#Istio` `#Envoy` `#서비스디스커버리` `#로드밸런싱` `#서킷브레이커` `#Resilience4j` `#Saga패턴` `#CQRS` `#이벤트소싱` `#EventDriven` `#Kafka` `#RabbitMQ` `#Docker` `#Kubernetes` `#컨테이너` `#오케스트레이션` |
| **Programming** | OOP | `#OOP` `#객체지향` `#ObjectOriented` `#캡슐화` `#Encapsulation` `#상속` `#Inheritance` `#다형성` `#Polymorphism` `#추상화` `#Abstraction` `#SOLID` `#SRP` `#OCP` `#LSP` `#ISP` `#DIP` `#클래스` `#Class` `#인터페이스` `#Interface` `#추상클래스` `#오버라이딩` `#오버로딩` `#디자인패턴` `#의존성주입` `#DI` |
| **Security** | JWT | `#JWT` `#JsonWebToken` `#토큰` `#Token` `#인증` `#Authentication` `#인가` `#Authorization` `#AccessToken` `#RefreshToken` `#Bearer` `#Claim` `#Payload` `#Header` `#Signature` `#HS256` `#RS256` `#만료시간` `#토큰탈취` `#토큰무효화` `#블랙리스트` `#OAuth` `#OIDC` `#세션` `#Stateless` |
### 키워드 포맷
```markdown
`#핵심한글` `#CoreEnglish` `#약어` `#관련기술1` `#관련기술2` `#하위개념1` `#하위개념2` `#사용사례` `#비교대상` `#면접키워드`
```
### 키워드 개수 가이드
| 문서 복잡도 | 권장 키워드 수 |
|------------|---------------|
| 기초 개념 (정의) | 10~15개 |
| 중급 개념 | 15~20개 |
| 심화 개념 | 20~25개 |
| 복합 주제 | 25~30개 |
## 작업 절차
1. **카테고리 판단**: 주제에 맞는 카테고리 선택
2. **난이도 판단**: [1] 정의/기초 → [2] 입문 → [3] 중급 → [4] 심화 중 선택
- 카테고리 정의 문서("~란?")는 반드시 [1]
- 선수 지식이 없으면 낮은 레벨, 있으면 높은 레벨
3. **파일 생성**: `cs/{category}/{topic}.md` (kebab-case)
4. **내용 작성**: 위 템플릿 준수
- **정의**: 한 문장으로 명확하게
- **키워드**: 검색용 키워드 10~30개 (한글/영문, 약어, 관련 기술, 하위 개념, 면접 키워드)
- **왜 알아야 하는가**: 실무/면접/기반지식 관점
- **난이도 태그 + 연관 문서** 필수
5. **README 업데이트**: `cs/{category}/README.md`의 해당 레벨 섹션에 링크 추가
6. **git add**: 생성/수정된 파일 staging
### README 업데이트 시 확인사항
- 해당 레벨 섹션([1], [2], [3], [4])에 문서 추가
- 선수 지식이 있다면 명시
- 전체 목차에도 추가
- 정의 문서가 없으면 TODO로 추가
## 품질 기준
| 항목 | 기준 |
|------|------|
| 정확성 | 공식 문서, 신뢰할 수 있는 출처 기반 |
| 이해 용이성 | "쉽게 이해하기" 섹션 필수 포함 |
| 논리성 | 모든 설명에 "왜?"에 대한 답변 포함 |
| 실용성 | 면접 대비 + 실무 적용 가능한 내용 |
| 트러블슈팅 | 실무 문제 사례와 해결법 포함 (해당 시) |
### 트러블슈팅 품질 기준
| 조건 | 설명 |
|------|------|
| 재현 가능 | 같은 환경에서 같은 문제를 재현할 수 있어야 함 |
| 구체적 수치 | 에러 메시지, 로그, 메트릭 등 구체적 데이터 포함 |
| 원인 분석 | "왜 발생했는지" 기술적 분석 필수 |
| 다중 해결책 | 가능하다면 여러 해결 방법 제시 |
| 예방 조치 | 재발 방지를 위한 모니터링, 설정 가이드 |
## 최근 이슈 CS 처리
"최근 이슈 CS" 요청 시:
1. 웹 검색으로 최신 기술 트렌드 조사
2. 가장 관련성 높은 주제 1개 선택
3. 적절한 카테고리에 문서 생성 (주로 `ai-agent/` 또는 주제에 맞는 카테고리)
4. 문서 상단에 `Trend` 마크 추가
5. `cs/trend/README.md`에도 링크 추가 (트렌드 인덱스)
## 다이어그램 가이드
**ASCII 대신 SVG 다이어그램 사용**
시각적 설명이 필요한 경우 ASCII 다이어그램 대신 SVG를 생성합니다. 두 가지 방식을 상황에 맞게 선택합니다.
### 방식 선택 가이드
| 상황 | 권장 방식 | 이유 |
|------|----------|------|
| **플로우차트, 시퀀스** | Mermaid | 자동 레이아웃, 빠른 작성 |
| **ER/클래스 다이어그램** | Mermaid | UML 문법 지원 |
| **상태 다이어그램** | Mermaid | 상태 전이 표현 용이 |
| **마인드맵, Git 그래프** | Mermaid | 전용 문법 지원 |
| **계층 구조 (OSI 등)** | SVG 직접 | 정교한 테이블 레이아웃 |
| **네트워크 토폴로지** | SVG 직접 | 정확한 배치 제어 |
| **패킷/프레임 구조** | SVG 직접 | 데이터 구조 시각화 |
| **비교 다이어그램** | SVG 직접 | 좌우/전후 비교 레이아웃 |
| **정교한 레이아웃 필요** | SVG 직접 | 픽셀 단위 제어 가능 |
### 다이어그램 적용 섹션
| 섹션 | 다이어그램 유형 | 권장 방식 |
|------|----------------|----------|
| 핵심 개념 | Mindmap | Mermaid |
| 상세 설명 | Flowchart / 구조도 | Mermaid 또는 SVG |
| 동작 원리 | Sequence / 상태 전환 | Mermaid |
| 계층/구조 | 테이블 / 토폴로지 | SVG 직접 |
### 방식 1: Mermaid CLI (mermaid-diagram 스킬)
**적합한 경우:** 플로우차트, 시퀀스, 상태 다이어그램, 마인드맵 등
```bash
# 1. images 디렉토리 생성
mkdir -p cs/{category}/images
# 2. .mmd 파일 작성
# 3. SVG 생성
npx -p @mermaid-js/mermaid-cli mmdc \
-i cs/{category}/images/{name}.mmd \
-o cs/{category}/images/{name}.svg \
-b transparent
# 4. git add
git add cs/{category}/images/
```
**지원 다이어그램:** Flowchart, Sequence, Class, State, ER, Gantt, Mindmap, GitGraph, Timeline, C4 등
자세한 문법과 템플릿은 `mermaid-diagram` 스킬 참조.
### 방식 2: SVG 직접 생성 (svg-diagram 스킬)
**적합한 경우:** 계층 구조, 비교표, 정교한 레이아웃, 데이터 구조
```bash
# 1. images 디렉토리 생성
mkdir -p cs/{category}/images
# 2. SVG 파일 직접 작성
# cs/{category}/images/{name}.svg
# 3. git add
git add cs/{category}/images/
```
**색상 팔레트 (필수 준수):**
| 용도 | 시작색 | 끝색 |
|------|--------|------|
| 파랑 (기본) | #3498DB | #2980B9 |
| 초록 (성공) | #2ECC71 | #27AE60 |
| 빨강 (경고) | #E74C3C | #C0392B |
| 주황 | #E67E22 | #D35400 |
| 보라 | #9B59B6 | #8E44AD |
자세한 템플릿과 스타일 가이드는 `svg-diagram` 스킬 참조.
### 마크다운 삽입
```markdown

```
### 결정 플로우
1. **복잡한 논리 흐름, 분기가 많음** → Mermaid Flowchart
2. **API/시스템 간 통신** → Mermaid Sequence
3. **DB 스키마, 클래스 관계** → Mermaid ER/Class
4. **개념 정리, 브레인스토밍** → Mermaid Mindmap
5. **OSI 7계층 같은 테이블 형태** → SVG 직접
6. **네트워크 토폴로지, 아키텍처** → SVG 직접 (정교) 또는 Mermaid (빠름)
7. **정확한 위치/크기 제어 필요** → SVG 직접Related Skills
content-research-writer
Assists in writing high-quality content by conducting research, adding citations, improving hooks, iterating on outlines, and providing real-time feedback on each section. Transforms your writing process from solo effort to collaborative partnership.
dotfiles-guide
Use when adding new configurations, packages, or modules to this dotfiles repository. Covers file placement, package lists, and module creation.
Ad Copy Writer
Write high-converting advertising copy for paid media campaigns
writer
Document creation, format conversion (ODT/DOCX/PDF), mail merge, and automation with LibreOffice Writer.
tone-rewriter
Rewrite text in any of 10 tones (professional, casual, friendly, formal, empathetic, persuasive, academic, simple, witty, urgent) while preserving meaning. x402 pay-per-use: $0.01 USDC. Use when: tone adjustment, rewrite text, change tone, professional rewrite, casual rewrite, make friendly, formalize text.
backend-dev-guidelines
Opinionated backend development standards for Node.js + Express + TypeScript microservices. Covers layered architecture, BaseController pattern, dependency injection, Prisma repositories, Zod valid...
ashby-api-guide
This skill should be used when the user asks about "Ashby API", "how to use Ashby tools", "Ashby authentication", "Ashby MCP tools", "what can I do with Ashby", or needs help understanding available Ashby operations. Provides complete API documentation and tool usage guidance.
api-tutorial-writer
Эксперт по написанию API-туториалов и документации. Используй для создания гайдов по интеграции API, документации endpoints, примеров кода на разных языках, обработки ошибок и best practices.
api-style-guide
Style and formatting rules for API/SDK documentation, samples, and tutorials.
api-documentation-writer
Expert guide for writing comprehensive API documentation including OpenAPI specs, endpoint references, authentication guides, and code examples. Use when documenting APIs, creating developer portals, or improving API discoverability.
aiwf:backend-dev-guidelines
Comprehensive backend development guide for Node.js/Express/TypeScript microservices. Use when creating routes, controllers, services, repositories, middleware, or working with Express APIs, Prisma database access, Sentry error tracking, Zod validation, unifiedConfig, dependency injection, or async patterns. Covers layered architecture (routes → controllers → services → repositories), BaseController pattern, error handling, performance monitoring, testing strategies, and migration from legacy patterns.
adr-writer
Creates Architecture Decision Records documenting key technical decisions with context, alternatives considered, tradeoffs, consequences, and decision owners. Use when documenting "architecture decisions", "technical choices", "design decisions", or "ADRs".