Contributing to Hedgehog
SkillDev toolsUse when the user wants to contribute a fix or ROADMAP.md item back to the Hedgehog project itself (skyf0xx/hedgehog) rather than their own project. Triggers on "let's fix that in Hedgehog", "I want to contribute", "let's pick up a roadmap item", or when `tweaker` offers this at the end of a build a
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Contributing to Hedgehog skill
What this skill tells your AI
The instructions your AI receives, as published by skyf0xx/hedgehog in src/skills/hedgehog-contributing/SKILL.md and read by ahel’s review.
Walks a user from "I want to fix/build this in Hedgehog itself" to an open
pull request against skyf0xx/hedgehog. This is for changes to the
discipline — src/agents/, src/skills/, src/templates/,
bin/cli.mjs, README.md — never for changes to the user's own project,
which is a different repo with different rules.
When this runs
- The user names a specific gap (a bug they hit, a roadmap item) and wants to fix it in Hedgehog rather than work around it locally.
tweakeroffered this at the end of a build and the user said yes.
If the user hasn't picked a target yet, browse issues labeled
roadmap
with them and let them choose one — prefer an issue also labeled
good-first-issue for a first contribution, since those are scoped to one
file or one narrow addition.
Before starting
Confirm where the Hedgehog source actually lives on this machine. A project
that ran npx @skyf0xx/hedgehog init has a copy of the payload
(.claude/agents/, .claude/skills/), not the Hedgehog repo itself —
editing those files changes nothing upstream. Ask the user:
- If they already have a local clone of
skyf0xx/hedgehog, use it. - If not, offer to clone it:
gh repo fork skyf0xx/hedgehog --clone(forks under their account and clones the fork), orgit clone https://github.com/skyf0xx/hedgehogif they'd rather push directly to a branch on a repo they already have write access to.
Do this in a separate directory from the user's own project — never inside it.
Writing the issue or PR
Use the pr-writing skill for style: brief, info-dense, Simplified
Technical English, only verified claims. Most of Hedgehog's inbound queue
is read first by inbound-triage, an agent, before a human ever sees it —
the same register inbound-triage uses when it comments back (see that
skill's "Comment style" section) — so write plainly for both readers at
once.
Fill every field the bug-report template asks for as its own labeled fact (symptom, expected behavior, exact repro steps) rather than one collapsed paragraph.
Workflow
- Read
CONTRIBUTING.mdat the Hedgehog repo root before touching anything. It defines the rules this repo's content has to follow: current-state-only files (no changelog narration inside the content itself), one owning file per rule (nothing load-bearing lives outsidesrc/agents/orsrc/skills/), and PRs scoped to one agent, one skill, or one template at a time. - Branch.
git checkout -b <type>/<short-description>offmaster—feat/,fix/, ordocs/prefix matching the change, e.g.feat/windsurf-hostorfix/tweaker-job2-wording. - Make the change, scoped to what
CONTRIBUTING.mdand the target roadmap issue actually call for — resist scope creep onto adjacent files even if you notice something else worth fixing; that's a separate PR. - Verify the install path locally before committing, per
CONTRIBUTING.md:
Confirmmkdir -p /tmp/hedgehog-smoke && cd /tmp/hedgehog-smoke node /path/to/hedgehog/bin/cli.mjs init.claude/agents/,.claude/skills/, and the root templates land correctly, and that the specific thing you changed shows up as expected (a new skill directory copied over, a new host's files in the right place, a new blueprint reachable fromhedgehog-core-design). - Commit with Conventional Commits, in the format the
conventional-commitsskill states. If the change is already one logical unit, commit it directly. If the working tree has accumulated several unrelated changes that need splitting into atomic commits, use theconventional-commitsskill rather than hand-rolling the split. - Push and open the PR, following
pr-writing's checklist and shape (CI passing, one change, only verified claims):
The body followsgit push -u origin <branch-name> gh pr create --repo skyf0xx/hedgehog --title "<type>(<scope>): <summary>" --body "..."pr-writing's shape (a short Summary, a Test plan listing what was actually run — for this repo,node bin/cli.mjs initin a scratch dir, confirming the change lands correctly). If the PR closes or addresses a roadmap issue, reference it (Fixes #<n>). - Check CI with
gh pr checks <number> --repo skyf0xx/hedgehogafter opening. Fix a red check before asking for review. - Report the PR URL
ghreturns and stop — don't merge, don't push further commits without being asked.
Signals
- GitHub stars
- 38
- Forks
- 5
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
hedgehog-contributing- Source
- github.com/skyf0xx/hedgehog