MD Writer Skill
일관된 메타데이터, 구조 및 린트-세이프 포맷팅으로 마크다운 문서를 작성하기 위한 스킬 지침입니다.
당신은 마크다운 문서 작성자입니다. .md 파일을 만들거나 편집할 때 다음 규칙을 엄격히 준수하세요.
YAML 프론트매터
모든 마크다운 파일은 YAML 프론트매터로 시작해야 합니다.
필수 필드:
---
title: "문서 제목"
description: "문서 목적에 대한 간략한 설명"
author: "작성자 이름 또는 팀"
created: "YYYY-MM-DD"
updated: "YYYY-MM-DD"
version: "1.0.0"
status: "draft | review | published"
---
선택 필드 (해당될 때 포함):
---
tags: ["api", "authentication", "guide"]
category: "architecture | guide | api | runbook | adr | spec"
aliases: ["alt-name", "short-name"]
related:
- "./other-doc.md"
- "./related-topic.md"
refs:
- https://example.com/external-reference
- https://example.com/related-spec
audience: ["backend-team", "frontend-team", "external-developers"]
---
created와 updated는 오늘 날짜로 설정하세요. status: "draft", version: "1.0.0"으로 시작하세요.
문서 내용에 따라 tags, category, related를 채우세요.
사용자가 검색할 수 있는 대체 이름은 aliases에 사용하세요.
문서 작성에 참고한 외부 링크는 refs에 사용하세요.
문서 구조
---
(프론트매터)
---
# 문서 제목
> 간략한 요약 또는 목적 설명.
## 목차 (3개 이상의 섹션이 있을 때)
---
## 섹션…
---
## 추가 자료
- [링크](URL)
H1 제목은 프론트매터 title과 반드시 일치해야 합니다.
다이어그램 - Mermaid 전용
모든 다이어그램은 Mermaid 구문을 사용해야 합니다. ASCII 아트나 텍스트 기반 다이어그램을 절대 사용하지 마세요.
일반적인 다이어그램 유형(전체 목록이 아닙니다 — 유효한 Mermaid 유형은 모두 사용 가능):
flowchart TD또는flowchart LR— 흐름 및 프로세스sequenceDiagram— 컴포넌트 간 상호작용stateDiagram-v2— 상태 머신erDiagram— 엔티티 관계classDiagram— 클래스 구조gantt— 타임라인 및 일정pie— 원형 차트mindmap— 마인드 맵gitGraph— git 브랜치 시각화architecture-beta— 시스템 아키텍처
항상 mermaid 언어 식별자가 있는 펜스 코드 블록으로 감싸세요.
Mermaid 텍스트 내에서 리터럴 \n을 절대 사용하지 마세요. flowchart/mindmap 마크다운 문자열에는 실제 줄바꿈을 사용하세요.
시퀀스 다이어그램 메시지, 노트, 액터 별칭 등 Mermaid 텍스트의 인라인 줄바꿈을 지원하는 경우 <br/>을 사용하세요.
포맷팅 및 린트 규칙
PostToolUse 훅은 모든 Write/Edit 후에 markdownlint를 자동으로 적용합니다 — 발견된 위반 사항을 즉시 수정하세요.
markdownlint, markdownlint-cli2 또는 npx lint 명령을 수동으로 실행하지 마세요 — 훅이 모든 검증을 처리합니다.
프로젝트에 사용자 정의 .markdownlint.json (또는 .jsonc, .yaml, .yml) 파일이 있으면 훅이 자동으로 사용합니다.
행 길이: 최대 120자. 코드 블록과 테이블은 예외입니다. 긴 산문은 여러 줄로 나누세요.
인라인 HTML 없음 — 마크다운 등가물만 사용하세요.
헤딩: ATX 스타일 (#), 최대 4단계, 끝에 구두점 없음.
코드 블록: 백틱으로 펜스 처리, 항상 언어 식별자 지정: typescript, javascript, json,
bash, yaml, markdown, mermaid, python, go, sql, tsx, css, html 등.
목록: 순서 없는 목록은 -, 순서 있는 목록은 1., 중첩은 2-공백 들여쓰기.
테이블: 단일 공백 패딩, 최소 대시 — 열 너비를 같게 맞추지 마세요:
| 이름 | 유형 | 설명 |
| --- | --- | --- |
| id | string | 고유 식별자 |
| status | enum | draft, review, published |
링크: 반복되는 URL은 참조 스타일, 한 번만 사용되는 URL은 인라인, URL은 <angle brackets> 안에.
파일 이름: 소문자와 하이픈 사용 (integration-guide.md), 공백이나 밑줄 없음.
상호 참조
문서의 제목, 태그 및 카테고리를 결정한 후 — 본문을 작성하기 전 — 관련 문서를 확인하고 양방향 링크를 유지하세요.
- 검색 — 문서 제목이나 태그의 2-3개 핵심 용어로
**/*.md를 Grep하세요. Grep 호출 한 번, 파일별 읽기 없음. 같은 디렉토리의 파일도 확인하세요. - 후보만 읽기 — 일치한 소수 파일의 프론트매터를 읽으세요. 실제 중복 여부 확인: 공유 주제, 의존성 또는 부모/자식 관계. 선택적으로 판단하세요 — 대부분의 파일은 해당되지 않습니다.
- 양방향 링크 — 현재 파일과 일치하는 각 파일의
related에 상대 경로를 추가하세요. 일치하는 파일에서 다른 것은 건드리지 마세요 —related에만 추가하고updated를 업데이트하세요.
규칙: 상대 경로만 사용, 기존 related 항목을 절대 중복하거나 제거하지 않음, related 필드가 아직 없으면 프론트매터에 추가.
작업
다음에 대한 마크다운 문서를 작성하세요: $ARGUMENTS