Community라이팅 & 에디팅github.com

jimweller/documenter-plugin

폴더 내용과 대화 기록을 기반으로 README.md 파일을 작성하거나 업데이트합니다. README 작성, 갱신, 또는 수정 요청 시 사용하세요.

documenter-plugin란 무엇인가요?

이 기술은 프로젝트의 폴더 내용과 현재 대화 컨텍스트를 기반으로 README.md 파일을 자동으로 생성하거나 업데이트하는 AI 에이전트 기술입니다. 개발자가 README 작성을 요청할 때, 에이전트가 프로젝트 구조를 탐색하고 변경 사항을 파악하여 각 디렉토리 수준에 적합한 문서를 작성합니다. Claude Code 플랫폼과 함께 사용하도록 설계되었으며, 제공된 스크립트를 통해 git 변경 사항을 분석하고 계획을 수립합니다. 핵심 기능으로는 '계획' 수립, '차이점 분석', 'README 업데이트/생성', 그리고 '완료' 단계로 구성되어 있으며, 변경 사항이 없는 README는 그대로 두고 필요한 경우에만 최신 상태로 유지합니다. 특히 README는 변경 이력이 아닌 현재 상태의 명세서로 작성되어야 하며, 각 디렉토리 수준의 관심사를 분리하여 상위 폴더의 내용이 하위 README에 누출되지 않도록 관리합니다.

지원 대상✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/jimweller/documenter-plugin/tree/HEAD/skills/readme

Installed? Explore more 라이팅 & 에디팅 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

미리보기

스킬 README에서

documenter-plugin preview

문서

문서 생성

현재 대화 컨텍스트와 폴더 내용을 기반으로 마크다운 콘텐츠를 작성합니다.

README는 인간 사용자를 위한 현재 상태 명세서이며, 변경 로그, 의사 결정 로그, 또는 기록이 아닙니다. 기록 정보나 선택 사항을 절대 기록하지 말고, README를 작성하는 시점의 명세서만 기록하세요.

범위

프로젝트의 모든 README.md 파일을 찾아 각각 업데이트합니다. 폴더 내용은 README의 수준과 그 하위(형제 및 하위 폴더)에 해당하며, 상위(부모)는 포함되지 않습니다. 하위 폴더 계층, 범위 및 경계 컨텍스트에 주의하세요. 서로 다른 계층의 문서 간에 개념이 누출되지 않도록 하세요. 각 README는 자신의 디렉토리 수준과 그 하위만 다루며, 상위의 관심사는 다루지 않습니다.

사용자가 특정 지침이나 집중 영역을 제공했다면, 문서에서 강조할 내용을 결정할 때 해당 컨텍스트를 적용하세요.

컨텍스트 수집

git을 직접 실행하지 마세요. 이 플러그인에 포함된 기본 스크립트가 이 기술에 필요한 모든 git 관련 작업을 처리합니다. 각 명령어는 저장소 루트에서 실행하고 스크립트의 전체 경로를 매번 작성하세요. 셸 변수는 명령어 간에 유지되지 않기 때문입니다.

계획부터 시작합니다. 계획은 모든 README를 찾고, 루트 README가 없으면 추가하고, 각 README의 기준선을 확인하고, 기준선 이후 변경된 사항을 나열하며, 각 README에 대해 수행할 작업을 알려줍니다. 사용자의 지침이 집중할 디렉토리 이름을 지정한 경우, readme 뒤에 전달하세요. 그렇지 않으면 아무것도 전달하지 마세요.

bash "${CLAUDE_SKILL_DIR}/../../scripts/doc-baseline.sh" plan readme [<focus-dir>...]

계획은 각 작업에 대해 하나의 블록을 출력합니다.

  • ## update는 기준선, 범위, README를 나열하고, 해당 기준선 이후의 커밋, diff 통계, 상태를 함께 표시합니다. README를 최신 상태로 업데이트하세요. 변경 사항이 영향을 미치지 않는 README는 기존 내용을 유지합니다.
  • ## new는 현재 코드에서 작성해야 할 README를 나열합니다. 기록이 필요하지 않습니다.
  • ## unchanged 및 ## outside the focus는 그대로 두어야 할 README를 나열합니다.

head none은 저장소에 커밋이 없음을 의미합니다. 모든 README가 새 것입니다.

업데이트 블록의 경우, 통계에 있는 파일 수를 계산합니다. 20개를 초과하면 전체 diff를 건너뛰고 변경된 파일을 직접 읽습니다. 20개 이하이면 diff를 읽습니다. ??로 표시된 추적되지 않은 파일은 diff에 나타나지 않으므로, 어느 경우든 직접 읽습니다. 범위는 블록의 범위 또는 단일 파일이 될 수 있습니다. 이는 git 경로 지정자(pathspec)이기 때문입니다.

bash "${CLAUDE_SKILL_DIR}/../../scripts/doc-baseline.sh" diff <sha> <scope>

그런 다음, 업데이트하거나 작성할 각 README에 대해 해당 디렉토리로 범위를 지정하여:

  1. 현재 README 읽기 (있는 경우)

  2. 해당 디렉토리 수준 및 하위의 코드베이스 탐색

  3. 관련 결정, 변경 사항 또는 교훈을 위해 대화 기록 검토

  4. 변경 사항과 대화 컨텍스트를 사용하여 업데이트가 필요한 섹션 식별. 코드와 문서를 서로 대조하여 확인합니다. 코드에서 함수, 플래그 또는 모듈이 제거된 경우, 모든 README에서 해당 이름을 grep으로 검색한 후, 각 일치 항목과 각 README의 개요를 다시 읽어 동일한 항목에 대한 일반 언어 설명을 확인합니다.

    grep -rn '<제거된 이름>' <dir>/README.md
    

작성하거나 편집하는 텍스트에 표식 라인(marker line)을 절대 포함하지 마세요. finish가 작성 후 추가합니다. 이미 표식 라인으로 끝나는 README를 편집할 때는 해당 라인을 그대로 둡니다.

README 업데이트가 필요할 만한 변경 사항이 없으면 그렇게 말하고 진행하세요. finish는 여전히 적용됩니다.

README.md 개요

README.md의 섹션 순서와 내용입니다. 모든 섹션은 대상 프로젝트에서 채워집니다. 프로젝트에 해당 내용이 없는 섹션은 생략합니다.

  • # 제목 및 5문장 이하의 개요
  • 선택적 이미지 또는 비디오
  • ## 아키텍처 - 구성 요소를 글머리 기호 목록으로, 각각의 목적과 함께
  • ## 사전 요구 사항 - 계정, 키, 자격 증명, 도구, 런타임, CLI, 각각 필요한 이유와 함께
  • ## 프로젝트 구조 - 파일 없이 폴더만, 각각 한 줄 목적과 함께
  • ## 설치 - 프로젝트를 설치하는 명령어
  • ## 사용법 - 프로젝트를 실행하는 명령어
  • ## 테스트 - 프로젝트에 테스트가 없는 경우 생략

500줄 미만을 목표로 합니다. 더 긴 README는 세부 정보를 해당 코드 옆의 중첩된 README로 이동하여 분할합니다.

형태

# 제목

간략한 개요. 5문장 이하.

<!-- 선택적 이미지 또는 비디오 하이라이트 -->
<img src="demo.png" alt="데모" width="800"/>

## 아키텍처

상위 수준 구성 요소 및 목적

- 구성 요소 - 목적
- 구성 요소 - 목적

## 사전 요구 사항

- 사전 요구 사항 - 설명 및 이유 (계정, 키, 자격 증명, 도구, 런타임, CLI)

## 프로젝트 구조

폴더 구조를 표시합니다. 파일은 포함하지 마세요.

```text
project/
├── src/
│   ├── component-a/     # 목적 - src/component-a/README.md 참조
│   └── component-b/     # 목적 - src/component-b/README.md 참조
├── scripts/             # 목적
└── tests/               # 목적
```

## 설치

```bash
# 프로젝트 설치 방법
<설치 명령어>
```

## 사용법

```bash
# 프로젝트 실행 방법
<실행 명령어>
```

## 테스트

```bash
# 테스트 실행 방법
<테스트 명령어>
```

완료

매번, 아무것도 작성하지 않은 실행을 포함하여 finish를 실행하세요. plan은 계획 파일을 남겨두고 finish만이 이를 제거하므로, finish를 건너뛰는 실행은 다음 실행이 걸려 넘어질 상태를 남깁니다.

bash "${CLAUDE_SKILL_DIR}/../../scripts/doc-baseline.sh" finish readme

계획이 새 것 또는 업데이트로 표시한 모든 README와 계획 이후 생성된 모든 README에 계획이 확인한 HEAD를 스탬프합니다. 스탬프는 README 끝에 있는 표식 라인(marker line)으로, 해당 커밋을 명명하는 HTML 주석입니다. finish는 변경되지 않은 README와 집중 영역 밖의 README는 그대로 두고, 저장소에 커밋이 없으면 아무것도 스탬프하지 않습니다. 종료 코드 4는 계획된 README가 없음을 의미합니다. 작성한 후 finish를 다시 실행하세요.

  • stamp를 직접 호출하거나 표식 라인을 수동으로 작성/편집하지 마세요. finish가 작성합니다.
  • 표식은 메타데이터입니다. 기록을 남기지 말라는 규칙은 이에 적용되지 않습니다.

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

관련 스킬