Thanks for your interest! This repo is a Claude Code plugin marketplace — one
unified plugin (wigtn-plugins) made of agents, commands, and skills. The notes
below keep contributions consistent and mergeable.
한국어 사용자를 위한 콘텐츠는 한국어로 작성하되, 코드·커밋·이 문서는 영어를 유지합니다.
.claude-plugin/marketplace.json # marketplace entry (name, version, plugin list)
plugins/wigtn-plugins/
├── .claude-plugin/plugin.json # plugin manifest (agents/commands/skills arrays)
├── agents/ *.md # one file per agent
├── commands/ *.md # one file per slash command
├── skills/ <name>/SKILL.md # one folder per skill
├── scripts/ *.sh # bundled scripts commands call directly
└── hooks/hooks.json
- Create the file/folder under the matching directory.
- Register it in
plugins/wigtn-plugins/.claude-plugin/plugin.json(add to theagents/commands/skillsarray). A skill that is not in the array is not exposed by the plugin. - Update the counts everywhere — this is enforced by CI (see below):
plugins/wigtn-plugins/.claude-plugin/plugin.jsondescription (N agents, …).claude-plugin/plugin.json(root manifest description).claude-plugin/marketplace.json(both descriptions)README.md,README.ko.md,README.cn.md(theN-Skills/N-Agentsbadges and the skill/agent tables)CLAUDE.mdarchitecture block
- User-facing content (skills, commands) is written in Korean; keep technical terms in English.
- Commits: Conventional Commits —
feat(skill):,fix:,docs:,chore:, … - Branches:
feat/<name>,fix/<desc>,refactor/<desc>. - Skill frontmatter:
name,description(with trigger keywords), optionalallowed-tools. See existing skills for the pattern. - Mermaid in generated docs: quote every label (
["..."]), use only valid shapes, nomindmap(useflowchart LR). - Bundled scripts: a command that needs several read-only lookups (
git,gh, file probes) calls one script underscripts/viabash "${CLAUDE_PLUGIN_ROOT}/scripts/<name>.sh"instead of listing the commands for the model to run one by one. Return a single JSON object, cap unbounded fields, and never let a missing tool abort the script. Keep the decision in the command (the model), not in the script. Add a line telling the model not to run the individual commands anyway — without it the model re-runs them to confirm.
Single source of truth: the version in marketplace.json and plugin.json must
match, and README / CLAUDE.md must state the same number. Bump with
SemVer: fix → patch, feat → minor.
Run the same check CI runs:
python3 .github/scripts/validate_plugin.pyIt verifies that JSON is valid and that the stated counts, the plugin.json
arrays, and the files on disk all agree — and that the version is consistent. PRs
that drift will fail this check.
Fill in the PR template, link any related issue, and keep one concern per PR.