Feature — create a feature branch + crosslink issue
SkillDev toolsUse to create a `feat/<slug>` branch from a human-readable description and register a matching crosslink issue (priority medium, label `feature`). Slugifies the description, validates preconditions (no uncommitted changes, branch doesn't already exist), and checks out the new branch. Trigger when the user says "new feature branch for X", "make a feature branch", or "/feature …".
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 Feature — create a feature branch + crosslink issue skill
What this skill tells your AI
The instructions your AI receives, as published by openwpm/openwpm in .claude/skills/feature/SKILL.md and read by ahel’s review.
The user will provide a human-readable description of the feature (e.g. "add batch retry logic"). Create a feature branch following the project's naming convention.
1. Derive the branch name
- Slugify the description: lowercase, strip non-alphanumeric characters (except hyphens), replace spaces with hyphens, collapse consecutive hyphens.
- The branch name is
feat/<slug>(e.g.feat/add-batch-retry-logic), matching the repo convention (e.g.feat/stealth-js-instrument-v2). - If the slug is empty or the branch already exists, ask the user for a different name.
2. Validate preconditions
- Confirm there are no unexpected working-copy changes (
jj status). In jj the working copy is always a commit, so changes don't block branching — but warn the user if the diff is unexpectedly large and ask whether to proceed. - Identify the base revision. Default to
@(the current change). If the user provides a--from <ref>argument, use that instead.
3. Create the bookmark
jj bookmark create feat/<slug> -r <base-ref>
jj new feat/<slug> -m "wip: start feat/<slug>"
This creates the feat/<slug> bookmark and starts a new change on top of it. Always pass -m to jj new. Print the created bookmark name so the user can confirm.
4. Track in crosslink
- Create a crosslink issue for the feature work with the user's original description as the title.
- Set priority to
medium(unless the user specifies otherwise). - Use:
crosslink issue create "<description>" -p medium --label feature
Constraints
- Never force-push or delete bookmarks.
- Do not push the bookmark to a remote — the user will do that when ready.
- Keep the slug concise. If the description is very long, truncate to the first 6-8 meaningful words.
- Always pass
-mto jj commands — never let jj open an editor.
Signals
- GitHub stars
- 1k
- Forks
- 335
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
feature-openwpm- Source
- github.com/openwpm/openwpm