A Claude Code plugin that packages the
crossplane contributing guide and
provider development guide into a skill: guidance for
contributing to crossplane/crossplane or any crossplane-contrib provider
repository — commit hygiene, DCO sign-off, PR structure, coding style, and
provider-specific API/controller conventions.
It's a working summary derived from the upstream docs, not a mirror of them — always defer to the linked upstream sources for anything this skill doesn't cover or that has since changed.
/plugin marketplace add jabbrwcky/crossplane-contributor-skill
/plugin install crossplane-contributor@crossplane-contributor-skill
skills/crossplane-contributor/SKILL.md— the core checklist: commit hygiene, coding style, provider API conventions, conditions/events, PR checklist.skills/crossplane-contributor/references/coding-style.md— full coding-style rules with before/after examples.skills/crossplane-contributor/references/provider-development.md— managed resource /ProviderConfig/ controller pattern in depth, with a worked example.skills/crossplane-contributor/references/governance.md— crossplane-contrib-specific process: repo bootstrapping,OWNERS.md, registry publishing, maintainer trial, archival policy.skills/crossplane-contributor/references/ai-policy.md— Crossplane's AI contribution policy: ownership, authentic engagement, enforcement.
Bump version in .claude-plugin/plugin.json and push to main. CI takes it from there:
tag-version.ymldetects the version change and pushes av<version>tag.release.ymlruns on that tag push, rebuildscrossplane-contributor.skillfrom the currentskills/crossplane-contributor/sources, and publishes a GitHub Release with it attached and a changelog compiled from the conventional commits since the last tag.
For Claude.ai, grab the .skill file from the release assets and upload it (there's no auto-update path there).
No repo setup needed — both workflows run on the default GITHUB_TOKEN. tag-version.yml pushes the tag with it, then explicitly dispatches release.yml via the API rather than relying on its push: tags trigger (events from GITHUB_TOKEN, like that tag push, never start another workflow run — but workflow_dispatch is exempt from that restriction, so the explicit dispatch call still fires it).
Apache-2.0 — see LICENSE.