플러그인 기여하기
이 가이드는 새 플러그인을 생성하고 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 작성 — 각 스킬과 명령어의 사용 예시 및 설명을 포함하세요