플러그인 기여하기
이 가이드는 새로운 플러그인을 생성하고 f5-sales-demo 마켓플레이스에 추가하는 방법을 설명합니다.
플러그인 구조
섹션 제목: “플러그인 구조”모든 플러그인은 plugins/ 하위에 각자의 디렉터리에 위치하며 다음 구조를 따릅니다:
디렉터리plugins/
디렉터리example-plugin/
디렉터리.claude-plugin/
- plugin.json
디렉터리skills/
디렉터리example-skill/
- SKILL.md
디렉터리references/
- reference-data.md
디렉터리commands/
- example-command.md
디렉터리agents/
- example-agent.md
- README.md
플러그인 생성하기
섹션 제목: “플러그인 생성하기”-
플러그인 디렉터리 생성
Terminal window mkdir -p plugins/example-plugin/.claude-pluginmkdir -p plugins/example-plugin/skillsmkdir -p plugins/example-plugin/commands -
plugin.json작성plugins/example-plugin/.claude-plugin/plugin.json생성:{"name": "example-plugin","description": "What this plugin does","version": "1.0.0","author": {"name": "f5-sales-demo"},"homepage": "https://github.com/f5-sales-demo/marketplace/tree/main/plugins/example-plugin","keywords": ["relevant", "keywords"],"license": "Apache-2.0","repository": "https://github.com/f5-sales-demo/marketplace"} -
스킬 추가
프론트매터와 함께
plugins/example-plugin/skills/example-skill/SKILL.md생성:---name: example-skilldescription: One-line description of what this skill does---Detailed instructions for Claude when this skill activates.참조 데이터는
SKILL.md와 함께references/하위 디렉터리에 배치합니다. -
명령어 추가
plugins/example-plugin/commands/example-command.md생성:---description: What this command doesargument_hint: "[optional-args]"allowed_tools:- Read- Glob- Grep---Instructions for Claude when the user invokes this command. -
marketplace.json에 플러그인 추가
.claude-plugin/marketplace.json의plugins배열에 항목을 추가합니다:{"name": "example-plugin","description": "What this plugin does","version": "1.0.0","author": { "name": "f5-sales-demo" },"source": "./plugins/example-plugin","category": "productivity","homepage": "https://github.com/f5-sales-demo/marketplace/tree/main/plugins/example-plugin","license": "Apache-2.0","keywords": ["relevant", "keywords"],"tags": ["searchable", "tags"],"repository": "https://github.com/f5-sales-demo/marketplace"} -
로컬에서 테스트
Claude Code가 로컬 디렉터리를 참조하도록 설정하여 게시 없이 플러그인을 테스트합니다:
Terminal window claude --plugin-dir ./plugins/example-plugin스킬이 올바른 컨텍스트에서 활성화되고 명령어가 예상된 출력을 생성하는지 확인합니다.
플러그인 제출하기
섹션 제목: “플러그인 제출하기”- 새 플러그인을 설명하는 GitHub 이슈 생성
main에서 기능 브랜치 생성- 플러그인 디렉터리 추가 및
marketplace.json업데이트 docs/plugins/example-plugin.mdx에 문서 페이지 추가Closes #N으로 이슈에 연결된 PR 생성- CI 실패 수정 후 검사 통과 시 병합
모범 사례
섹션 제목: “모범 사례”- 스킬을 집중적으로 유지 — 하나의 스킬은 하나의 일을 잘 수행해야 합니다
- 참조 파일 활용 — 대용량 데이터셋, 스키마, 조회 테이블은 SKILL.md에 인라인으로 작성하지 말고
references/에 배치합니다 - 지능적으로 범위 설정 — 가능한 경우 작업 집합을 좁히기 위해 커밋되지 않은 변경 사항을 확인합니다
- 출력을 심각도별로 그룹화 — 사용자가 수정 사항의 우선순위를 정할 수 있도록 ERROR, WARNING, INFO 수준을 사용합니다
- README 작성 — 사용 예시와 각 스킬 및 명령어에 대한 설명을 포함합니다