misc/skills/docs-to-md/SKILL.md
기술 공식 문서 사이트 URL을 받아 여러 페이지를 자동 발견(llms-full.txt → llms.txt → sitemap.xml → nav 순)하고 로컬 Markdown 파일/폴더로 저장한다. 1페이지면 단일 .md, 여러 개면 폴더 + index.md. 각 파일 frontmatter에 source_url·fetched_at·pages를 박아 stale 판별을 돕는다. Triggers — "공식문서를 md로", "docs 저장", "문서 크롤링해서 정리", "레퍼런스 로컬에 저장", "/docs-to-md <url>". 사용자가 공식 문서/레퍼런스 URL을 주면서 로컬 md 파일로 변환하거나 보관하려 할 때 사용.
npx skillsauth add dev-goraebap/skills docs-to-mdInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
기술 공식 문서를 링크 하나로 받아 로컬 .md로 정리하는 스킬. 에이전트가 나중에 컨텍스트로 참조하기 좋은 형태로 떨어뜨리는 것이 목표다.
/docs-to-md <url> [output] 을 호출했을 때.output을 생략하면 ./docs/<url-slug>/ 에 저장한다 (slug는 도메인+경로 축약).
<url>에서 origin과 pathPrefix 추출. pathPrefix는 마지막 / 까지의 경로(예: https://foo.com/guide/intro → /guide/).output이 없으면 ./docs/<host>-<path-slug>/ 로 기본값 생성.scripts/discover.mjs 를 실행해 페이지 URL 리스트를 얻는다:
node <skill-path>/scripts/discover.mjs <url> --max=20
출력은 JSON { source, pages: [{ url, title? }] }. source는 다음 중 하나이며, 폴백 순서대로 시도된다:
llms-full.txt — 이미 LLM용 풀텍스트가 제공됨. 이 한 파일만 받으면 끝.llms.txt — 문서 링크 목록. 여기서 URL을 추출해 각각 fetch.sitemap — sitemap.xml 의 <loc> 중 pathPrefix로 필터.nav — 입력 페이지 HTML의 href 중 동일 origin + pathPrefix 링크.single — 위가 모두 실패하면 입력 페이지 하나만.상세 동작은 scripts/discover.mjs 를 읽어 확인.
--max=N로 재실행.각 URL에 대해 WebFetch를 호출해 Markdown을 얻는다. Claude Code의 WebFetch는 HTML→Markdown 변환이 내장돼 있어 정적 사이트엔 충분하다.
source === 'llms-full.txt' 인 경우: fetch로 직접 받아 그대로 저장 (이미 텍스트).WebFetch(url, prompt="Return the full page content as Markdown without summarizing.") — 요약이 아니라 풀텍스트를 받도록 지시.pathPrefix를 기준으로 계산 (예: /guide/intro → intro.md, /guide/layers/shared → layers/shared.md).빈 결과/JS 렌더링 실패 감지 등 세부는 references/failure-modes.md 참조.
<output>.md 단일 파일. <output>이 폴더면 <output>/index.md..md로, 폴더 루트에 index.md 생성하여 목차를 제공한다.폴더 예시:
docs/fsd/
├── index.md # 목차 + 전체 메타
├── get-started/
│ ├── overview.md
│ └── tutorial.md
└── reference/
└── layers.md
각 개별 md 파일 상단에:
---
source_url: https://feature-sliced.design/docs/get-started/overview
fetched_at: 2026-04-18
source: sitemap # discover.mjs의 source 값
---
index.md 상단에:
---
source_root: https://feature-sliced.design/
fetched_at: 2026-04-18
source: sitemap
pages:
- url: https://feature-sliced.design/docs/get-started/overview
path: get-started/overview.md
- url: https://feature-sliced.design/docs/get-started/tutorial
path: get-started/tutorial.md
---
index.md 본문에는 위 pages 리스트를 상대 링크 목차로 렌더한다.
사용자에게 다음을 알린다:
llms-full.txt / sitemap 등)--max=N 으로 조정). 토큰·시간 폭주 방지.fetched_at 으로 판별 가능.references/failure-modes.md 를 먼저 읽고 대응.references/site-patterns.md 참조.입력:
/docs-to-md https://feature-sliced.design/ ./docs/fsd/
동작:
discover.mjs → sitemap.xml 에서 페이지 목록 획득 (수십 개 예상)WebFetch → md 변환./docs/fsd/index.md + 하위 페이지들 생성입력:
/docs-to-md https://react.dev/reference/react/useState
동작:
discover.mjs → source: single (react.dev는 llms.txt 없음 & nav 링크 필터링 후 동일 페이지만 남음)./docs/react-dev-reference-react-useState.md 단일 파일 생성testing
도메인 일반 패턴을 강의 모드로 가르치는 인지과학 기반 학습 스킬. AI가 가상 도메인 전문가(선생님) 역할을 하고 사용자가 학생으로 낯선 도메인을 차근차근 배운다. 메뉴로 시작해서 페이즈를 골라 잠수 → 능동 회상 Q&A → 자기 설명(Feynman) 순서로 진행. Dunlosky 메타분석 기반 인지과학 8원칙(Cognitive Load, Practice Testing, 정교화 질문, Self-Explanation, Schema 연결, Dual Coding, Desirable Difficulty, 분산 학습)을 본문에 명시 적용. 도메인의 법령·산업 표준·인증을 학습 본문에 정식 통합 (출처 인용이 아니라 학습 대상). AI가 판단해 보편적이고 자료 풍부한 도메인은 자료 요청 없이 진행, 좁고 깊은 도메인일 때만 사용자에게 자료 있는지 묻기. 산출물은 학습 노트 스타일 (진도 체크박스 + 페이즈별 일관 구조 + 출처 링크). 페르소나 강요 없이 보편 액터 표현("사원 A", "관리자 A"). bigpicture의 이전 단계로 작동하거나 단독 사용 가능. Triggers — "도메인 학습", "낯선 도메인 가르쳐줘", "이 산업 어떻게 굴러가요", "선생님 모드", "1:1 강의", "도메인 입문", "도메인 일반 패턴", "HR 플랫폼이 뭔지", "이커머스 흐름", "domain classroom", "/domain-classroom".
development
빅픽처 이벤트스토밍의 1:1 분석 도구. 학습 단계(domain-classroom)에서 머리에 박힌 도메인 일반 패턴을 클라이언트 시스템에 매핑해 빅픽처 산출물(시간순 도메인 이벤트·페이즈·액터·외부시스템·핫스팟·피벗)을 누적한다. domain-classroom의 학습 노트(docs/learning-notes/{도메인}- classroom.md)와 클라이언트 자료(RFP·요구사항정의서·기존 시스템 스키마)를 입력으로 받아 페이즈 단위로 진행. 페르소나·서사 없는 분석 톤. 도메인 이벤트 판별 4기준(도메인 전문가 관심·비즈니스 상태 변화·법적 의미·다른 흐름 트리거)을 명시 적용해 UI/Telemetry 이벤트 혼입 방지. 이벤트는 한국어 자연어 + Code Identifier 이중 표기. 핫스팟에 ID·답할 위치·확신도 태그 부여. 산출물은 docs/eventstorming.md 단일 파일로 시작, 후속 단계 스킬(process-modeling·software-design)이 추가될 때 폴더로 자연 분기. Initial/Update/Cycle 모드 지원 — 코드 작성 후에도 다시 사이클 가능. Triggers — "빅픽처", "빅픽처 만들어줘", "이벤트스토밍", "도메인 이벤트 정리", "Big Picture EventStorming", "페이즈 매핑", "도메인 산출물 정리", "/bigpicture".
data-ai
빅픽처 이벤트스토밍의 1:1 학습 친화 변형. 그룹 워크샵에서 도메인 전문가가 던지는 이벤트를 받아 적는 대신, AI가 가상 도메인 전문가 역할을 하고 사용자가 학습자로 1:1 인터뷰하며 빅픽처를 누적한다. 산출물(시간순 도메인 이벤트·액터· 외부시스템·핫스팟·피벗)은 빅픽처 이벤트스토밍과 거의 동일하지만, 한 보드에 한 번에 펼치는 방식이 아니라 **한 액터·한 챕터씩 시간순 서사로 누적**한다. 각 장면마다 "왜 이게 필요한가?" 설명을 곁들여 학습자가 따라올 수 있게 한다. RFP·요구사항정의서·기존 도메인 자료를 입력으로 받거나, 자료가 없으면 AI 사전 리서치(보편 사례·법령·산업 표준)로 보충해 진행. 페르소나 시점의 챕터 단위 (5~7개 장면) + 확신도 태그 [확실/일반론/추측]로 검증 지점 명시 + 사용자 인터랙션 + 액터 전환으로 빅픽처를 점진적으로 채운다. 산출물 저장은 옵셔널 — 이해 자체가 목적이다. Triggers — "낯선 도메인 이해", "도메인 차근차근 알려줘", "1:1 빅픽처", "솔로 이벤트스토밍", "RFP 분석", "비즈니스 흐름 이해", "액터 시나리오", "신규 프로젝트 도메인 파악", "빅픽처 스토리타임", "bigpicture storytime", "/bigpicture-storytime".
databases
PostgreSQL DB에 직접 접근하는 스킬. DB 조회, 테이블 구조 확인, 데이터 검증이 필요할 때 사용한다. Node.js 스크립트로 직접 연결하며 접속 정보는 환경변수 또는 credentials 파일에서 읽는다. "postgres 조회", "DB 확인", "테이블 구조", "pg-query", "쿼리 실행", "데이터 검증", "PostgreSQL 접속" 같은 요청에 트리거한다.