New Feature

SkillDev tools

Sets a feature up end to end — makes the feature folder, asks whether to interview first, gets the mock built and approved, then writes the spec. Produces a feature that is ready to build, with no loop attached. Use when the user says "new feature", "set up a feature", "make the spec for X", "I want

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the New Feature skill

What this skill tells your AI

The instructions your AI receives, as published by arcasilesgroup/ai-engineering in skills/ai-goal/new-feature/SKILL.md and read by ahel’s review.

Every task gets its own worktree and branch, created from the latest origin/main. Never build on main, and never reuse another agent's worktree or branch.

Harness deltas — read first

  • Claude Code: the harness creates and manages worktrees itself (under .claude/worktrees/<name>). Skip steps 3–4 below (no manual git worktree add / remove), and keep the harness-assigned branch name. Steps 1–2 and 5 still apply.
  • Cursor-managed worktrees (branches named worktree-*): same idea — keep the assigned branch and worktree, apply steps 2 and 5.
  • Any other harness: follow all steps.

Steps

  1. Sync: git fetch origin.

  2. Scope check: run gh pr list and skim the open PRs' changed files (gh pr diff <n> --name-only). If your task needs files another open PR is editing, stop and ask for direction instead of proceeding. Also check for uncommitted work in the checkout — another agent may be mid-task.

  3. Name the task: lowercase-with-hyphens plus a short unique suffix, e.g. user-auth-0816a. If git worktree add fails because the name exists, pick a different name — never force or reuse.

  4. Create the worktree from the repo root:

    git worktree add <worktrees-dir>/<task-name> \
      -b <branch-prefix>/<task-name> origin/main
    

    Use a gitignored directory for worktrees (e.g. .claude/worktrees/ or .worktrees/) so they can never be committed by accident, and a consistent branch prefix (e.g. agent/). Follow the repo's conventions if it defines them.

  5. Enter and verify:

    cd <worktrees-dir>/<task-name>
    git branch --show-current   # must print your new branch, not main
    

    Then install dependencies fresh inside the worktree (worktrees don't share node_modules/virtualenvs) and confirm the runtime version the repo requires before running anything.

Remember

  • Worktrees do not isolate shared resources: dev-server ports, shared databases, and dependency lockfiles are global. Confirm a port answers your process (lsof -i :<port>) before trusting what it serves, and resolve lockfile conflicts by regenerating, never by hand-merging.

  • Keep the worktree until the PR is merged or closed. Cleanup after merge:

    git worktree remove <worktrees-dir>/<task-name>
    git branch -D <branch-prefix>/<task-name>
    

    -D is expected: after a squash- or rebase-merge, -d refuses even though the work is merged.

Signals

GitHub stars
55
Forks
3
Last commit
Sep 2026

Others that do the same job

Advanced
Catalog kind
skill
Gateway key
new-feature
Source
github.com/arcasilesgroup/ai-engineering