Skip to main content
yu-iskw

claude-code-plugin-template

by yu-iskwv0.1.0

Starter scaffold for a Claude Code plugin repository.

Installation guide →
10 skillsApache-2.0 GitHub

Documentation

# Claude Plugin Template

Template repository for bootstrapping a Claude Code plugin with:

- plugin manifest (`.claude-plugin/plugin.json`)
- skills (`skills/**/SKILL.md`)
- agents (`agents/*.md`)
- hooks (`hooks/hooks.json`)
- quality checks (`trunk` + GitHub Actions)
- integration smoke tests (`integration_tests/`)

## Quickstart

1. Create a new repository from this template.
2. Update `.claude-plugin/plugin.json` (`name`, `version`, `description`, `author`, `repository`).
3. Replace sample components with your own:
   - `skills/hello-world/SKILL.md`
   - `agents/say-hello-agent.md`
   - `hooks/hooks.json`
4. Run local checks:
   - `make lint`
   - `make test-integration-docker`

## Repository Layout

```text
.claude-plugin/
  plugin.json                    # Claude plugin metadata
agents/
  say-hello-agent.md             # Example agent
commands/
  .gitkeep                       # Optional command definitions
hooks/
  hooks.json                     # Hook config
integration_tests/
  Dockerfile                     # Smoke test image
  run.sh                         # Orchestrates integration scripts
  validate-manifest.sh
  test-plugin-loading.sh
  test-component-discovery.sh
skills/
  hello-world/
    SKILL.md                     # Example skill
.github/workflows/
  integration_tests.yml          # Plugin smoke tests
  trunk_check.yml                # Lint checks
  trunk_upgrade.yml              # Scheduled Trunk upgrades
```

## Local Development

- `make format`: format files with Trunk
- `make lint`: run all linters via Trunk
- `make test-integration-docker`: run integration tests in Docker

You can also run integration tests directly:

- `./integration_tests/run.sh`
- `./integration_tests/run.sh --manifest-only`
- `./integration_tests/run.sh --verbose`

## CI

GitHub Actions includes:

- `.github/workflows/trunk_check.yml`: lint and static checks
- `.github/workflows/integration_tests.yml`: manifest validation and plugin loading smoke tests
- `.github/workflows/trunk_upgrade.yml`: weekly Trunk dependency updates

## Release

1. Update `.claude-plugin/plugin.json` version.
2. Tag and publish a release.
3. Share your repository as the plugin entry point/template.

## License

Apache License 2.0. See `LICENSE`.