mcpbeat Sign in

New Feature Agent Skill

Start a new task in an isolated Git worktree branched from origin/main so multiple agents can work on the same repo in parallel without conflicts. Use at the beginning of every new feature, fix, or task — before writing any code.

701 tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
306
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/michaelshimeles/skills --skill new-feature

The instruction itself

4 sections, as written by the author

New Feature

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

  • Sync: git fetch origin.
  • 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.

  • 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.

  • 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.

  • 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.

How to use it

Copy the folder

Take michaelshimeles/new-feature from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.