Back to list
younwony

cs-guide-writer

by younwony

0🍴 0📅 Jan 23, 2026

SKILL.md


name: cs-guide-writer description: CS 학습 문서를 작성합니다. "오늘의 CS", "CS 정리", "{주제} 정리해줘", "최근 이슈 CS" 요청 시 사용하세요.

CS 문서 작성 도우미

CS-GUIDE.md 템플릿에 맞춰 학습 문서를 작성하는 Skill입니다.

트리거 키워드

  • "오늘의 CS: {주제}" - 특정 주제로 문서 작성
  • "오늘의 CS" - 주제 미지정 시 옵션 제안 (아래 참고)
  • "CS 정리: {주제}"
  • "{주제} 정리해줘" (CS 관련 주제인 경우)
  • "최근 이슈 CS" - 최신 기술 트렌드 주제

"오늘의 CS" 주제 미지정 시 처리

주제 없이 "오늘의 CS"만 요청한 경우, AskUserQuestion 도구를 사용하여 다음 옵션을 제안:

  • 웹 검색으로 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 정리
NoSQLRedis, 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, 리팩토링, 코드 리뷰, 테스트 전략
APIREST 설계, API 버저닝, 문서화
Security인증/인가OAuth, JWT, Session, RBAC
암호화대칭/비대칭 암호화, 해싱, Salt
취약점OWASP Top 10, SQL Injection, XSS, CSRF
AI/Agent기초LLM 동작 원리, 프롬프트 엔지니어링
도구AI Agent, MCP, Function Calling
응용RAG, 벡터 DB, 임베딩
DevOpsCI/CD파이프라인, 자동화, GitOps
컨테이너Docker, Kubernetes, 서비스 메시
모니터링로깅, 메트릭, 트레이싱, APM
LanguageJavaJVM, 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
NoSQLRedis, 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/JavaJVM, GC, 동시성, Stream, 메모리 모델
Kotlin코루틴, Null Safety, 확장 함수, DSL
일반타입 시스템, 컴파일러, 인터프리터
programming/패러다임OOP, 함수형 프로그래밍, 리액티브
설계SOLID, 디자인 패턴, 클린 아키텍처
품질TDD, 리팩토링, 코드 리뷰, 정적 분석
APIREST 설계, 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] 중급` · 선수 지식: 문서명`
[4] 심화복잡한 개념, 다중 선수 지식> \[4] 심화` · 선수 지식: 문서1, 문서2`
[5+]필요 시 추가 가능-

문서 작성 템플릿

# {주제명}

> `[N] {레벨명}` · 선수 지식: [선수 문서](./path.md) 또는 "없음"

> `Trend` {연도}  ← 트렌드 주제인 경우에만 추가

> 한 줄 정의 (명확하고 간결하게)

`#핵심한글` `#CoreEnglish` `#약어` `#FullName` `#관련기술1` `#관련기술2` `#하위개념` `#사용사례` `#면접키워드` ... (최대 30개)

## 왜 알아야 하는가?

{이 개념을 왜 배워야 하는지}

- **실무**: {실무에서 어떻게 활용되는지}
- **면접**: {면접에서 왜 자주 나오는지}
- **기반 지식**: {이 개념이 다른 개념의 기반이 되는 이유}

## 핵심 개념

- {핵심 1}
- {핵심 2}
- {핵심 3}

## 쉽게 이해하기

{실생활 비유로 개념 설명}

## 상세 설명

### {소주제 1}

{내용}

**왜 이렇게 하는가?**
{이유 설명}

## 동작 원리 (해당 시)

{Mermaid 다이어그램으로 시각화 - mermaid-diagram 스킬 참조}

![{다이어그램 설명}](./images/{diagram-name}.svg)

## 예제 코드 (해당 시)

```java
// 예제 코드

코드 블록 언어 가이드

웹 뷰어(cs-web)의 Highlight.js 호환성을 위해 아래 언어를 사용합니다.

권장 언어 태그

언어태그비고
Javajava
Kotlinkotlin
JavaScriptjavascript 또는 js
TypeScripttypescript 또는 ts
Pythonpython
SQLsql
JSONjson
YAMLyaml
Markdownmarkdown
쉘/터미널shell 또는 bash⚠️ powershell 사용 금지
HTMLhtml
CSScss
Gogo
Rustrust

주의사항

  • powershell 사용 금지: Highlight.js 기본 빌드에 포함되지 않아 웹에서 하이라이팅 안됨
  • Windows 명령어도 shell 또는 bash로 표기
  • 언어 미지정 시 하이라이팅 없이 표시됨

트레이드오프 (해당 시)

장점단점
{장점}{단점}

트러블슈팅 (해당 시)

사례 1: {증상/문제 요약}

증상

{에러 메시지, 로그, 현상}

원인 분석

{왜 발생했는지 - 기술적 근거 포함}

해결 방법

{구체적인 명령어/코드와 함께 해결법 제시}

예방 조치

{모니터링, 설정 변경 등 재발 방지 방법}

면접 예상 질문

Q: {질문}

A: {답변 - "왜?"에 대한 설명 포함}

연관 문서

문서연관성난이도
선수 문서선수 지식Beginner
관련 문서관련 개념Intermediate
후속 문서심화 학습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/클래스 다이어그램MermaidUML 문법 지원
상태 다이어그램Mermaid상태 전이 표현 용이
마인드맵, Git 그래프Mermaid전용 문법 지원
계층 구조 (OSI 등)SVG 직접정교한 테이블 레이아웃
네트워크 토폴로지SVG 직접정확한 배치 제어
패킷/프레임 구조SVG 직접데이터 구조 시각화
비교 다이어그램SVG 직접좌우/전후 비교 레이아웃
정교한 레이아웃 필요SVG 직접픽셀 단위 제어 가능

다이어그램 적용 섹션

섹션다이어그램 유형권장 방식
핵심 개념MindmapMermaid
상세 설명Flowchart / 구조도Mermaid 또는 SVG
동작 원리Sequence / 상태 전환Mermaid
계층/구조테이블 / 토폴로지SVG 직접

방식 1: Mermaid CLI (mermaid-diagram 스킬)

적합한 경우: 플로우차트, 시퀀스, 상태 다이어그램, 마인드맵 등

# 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 스킬)

적합한 경우: 계층 구조, 비교표, 정교한 레이아웃, 데이터 구조

# 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 스킬 참조.

마크다운 삽입

![{설명}](./images/{name}.svg)

결정 플로우

  1. 복잡한 논리 흐름, 분기가 많음 → Mermaid Flowchart
  2. API/시스템 간 통신 → Mermaid Sequence
  3. DB 스키마, 클래스 관계 → Mermaid ER/Class
  4. 개념 정리, 브레인스토밍 → Mermaid Mindmap
  5. OSI 7계층 같은 테이블 형태 → SVG 직접
  6. 네트워크 토폴로지, 아키텍처 → SVG 직접 (정교) 또는 Mermaid (빠름)
  7. 정확한 위치/크기 제어 필요 → SVG 직접

Score

Total Score

50/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

Reviews

💬

Reviews coming soon