Show complete, copy-pasteable command sequences for the four most common contribution types, so a first-time contributor can match their situation to a working example.
All commands below use scripts and conventions verified in package.json, AGENTS.md, and
CONTRIBUTING.md — nothing here is invented. [Existing] unless marked otherwise.
git checkout dev
git pull
git checkout -b feat/hr-payroll-tax-compliance
mkdir -p skills/hr-payroll-tax-compliance/{content,prompts,examples}
# Author SKILL.md from .github/skill-template.md, plus one .md file per subdirectory.
bun run sync # regenerate .claude-plugin/marketplace.json
# Update the root router per .agents/skills/hr-root-router-maintaining/SKILL.md
bun run validate # must pass with 0 errors
bun run matrix # regenerate docs/engineering/skill-matrix.md
bun run registry # regenerate registry/skills.json
git add .
git commit -m "feat(hr-payroll-tax-compliance): add new skill"
git push origin feat/hr-payroll-tax-compliance
# Open PR: base = dev, head = feat/hr-payroll-tax-complianceResulting structure:
skills/
├── hr-payroll-tax-compliance/ # new
│ ├── SKILL.md
│ ├── content/
│ │ └── understanding-payroll-tax-compliance.md
│ ├── prompts/
│ │ └── payroll-tax-prompts.md
│ └── examples/
│ └── quarterly-tax-filing-workflow.md
└── ... (existing skills, unchanged)
git checkout dev
git pull
git checkout -b feat/hr-offboarding-add-examples
# Add skills/hr-offboarding/examples/conducting-an-exit-interview.md
bun run validate
bun run lint:md
git add .
git commit -m "feat(hr-offboarding): add exit interview example workflow"
git push origin feat/hr-offboarding-add-examplesNo router change needed — the skill already exists in the routing table. Only its maturity
tier changes (Partial → Full), which bun run matrix will reflect automatically.
git checkout -b fix/hr-analytics-turnover-formula
# Edit skills/hr-analytics/content/*.md
bun run lint:md
git commit -m "fix(hr-analytics): correct turnover formula in tips"
git push origin fix/hr-analytics-turnover-formulagit checkout -b docs/clarify-skill-tiers
# Edit docs/engineering/format.md (or another file under docs/engineering/contributing/)
bun run lint:md
bun run lint:links
git commit -m "docs: clarify skill maturity tier definitions"
git push origin docs/clarify-skill-tiersApplies to all of the above:
- Base branch:
dev(nevermain). - Fill in
.github/pull_request_template.md:- What changed — one or two sentences
- Content type — check the box(es) that apply (new skill, skill tier upgrade, content fix, documentation, tooling/configuration)
- Why — the problem being solved or value added
- Related issue —
Closes #NNif applicable - Validation — confirm content reviewed, no duplicate information, links verified, formatting follows repository standards, CI checks pass
- Commit convention — confirm commits follow Conventional Commits
- Wait for CI (
.github/workflows/:knip,lint,matrix,test,typecheck,validate, plusskill-reviewfor PRs touchingskills/hr-*/**) to pass. - A maintainer reviews and merges.
- Run the exact validation commands relevant to your change type before pushing — a
content-only change doesn't need
bun run typecheck, but apackages/change does. - Keep the commit scope aligned with the primary thing changed (
hr-analytics,hr-skills-build, or no scope for repo-wide changes).
- Forgetting
bun run syncafter adding a new skill directory (Example A) — leaves.claude-plugin/marketplace.jsonout of sync with the PR's actual skill additions. - Opening the PR against
main. - Skipping
bun run lint:mdon documentation-only changes — markdownlint and case-police still apply to prose, not just skill files.
- [Proposed] None currently open — this page is meant to stay a stable set of worked
examples rather than duplicating reasoning that belongs in
AGENTS.mdorGOVERNANCE.md.
- [Unknown] Whether maintainers expect changeset entries (
bun run changeset) from external contributors, or whether that's reserved for maintainer-driven releases. Not stated in CONTRIBUTING.md or AGENTS.md; worth confirming before including it in a contributor-facing example.