agentleFS
NemesLaszloNemesLaszlo/claude-code-harness/.claude/skills/new-feature/SKILL.md

new-feature

Skill1 starsChanged 14 days agoMITView on GitHub

Start a task in an isolated Git worktree branched from origin/main so parallel agents or sessions never collide on the same checkout. Use when starting a feature, fix, or refactor that must not touch main, when several agents share one repo, or when the user says new feature, start a task, isolate this, or new branch for this.

  • Reads credentials

41 other projects use a version of this, 5 of them edited.

Adopted by

Most recently taken up by

Used with

Projects with it also use greploop-apps, bug-fix and 4 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • jaydubya818Skill

    greploop-apps

    Run greploop through @greptile-apps when the normal trigger rejects a large PR. Use only with the companion greploop skill.

    Also in 4 projects that use this

  • u9401066Skill

    bug-fix

    Structured bug fixing workflow with root cause analysis and regression prevention. Triggers: BF, 修 bug, fix bug, debug, 除錯, 錯誤, error, 問題, issue, 修復, fix, 故障, fault, 異常, exception, 失敗, failure, 不能用, broken, 壞掉.

    Also in 3 projects that use this

  • SvampenSkill

    init-project

    Generates a tailored .claude/project-config.md for the current project. Asks about project type, quality check commands, documentation paths, insight tags, and review strictness.

    Also in 4 projects that use this

  • corygabrielsenSkill

    spike

    Implement N approaches as separate branches, then compare side-by-side. Removes "implementation effort" as a variable from the decision.

    Also in 3 projects that use this

  • asterkinSkill

    adr

    Create Architecture Decision Records (ADRs) following project standards. Guides template usage, process, and best practices for documenting architecturally significant decisions.

    Also in 3 projects that use this

  • VercelSkill

    deploy

    Deploy applications to Vercel. Use when the user says "deploy", "deploy to Vercel", "push to production", "deploy my app", or "go live".

    Also in 3 projects that use this

The file

We split this skill into the rules it gives an agent

3 rules. 0 are common, 2 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 38 edited versions we read keep these.

  • 2

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Keep the harness-assigned branch name.

    line 25
  2. Distinctive:

    Any other harness: follow all steps.

    line 27
  3. Distinctive:

    Keep the worktree until the PR is merged or closed.

    line 55

“Common” is measured: kept by at least 6 in 10 of the 38 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Context

  • Current branch: !git branch --show-current || true
  • Uncommitted work: !git status --short || true
  • Existing worktrees: !git worktree list || true
  • Open PRs: !gh pr list --limit 20 2>/dev/null || echo "gh unavailable or not a GitHub repo"

Your task

Isolate the task $ARGUMENTS in 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 manages worktrees natively. Prefer the native path and skip the manual git worktree add:
    • From the terminal: claude --worktree <task-name> (or claude -w <task-name>). The checkout lands in .claude/worktrees/<task-name>/ on branch worktree-<task-name>. claude -w "#1234" or a PR URL checks out that PR.
    • From inside a session: use the EnterWorktree tool with the task name. Leave with ExitWorktree.
    • Subagents can get a throwaway worktree with isolation: worktree in their frontmatter.
    • Keep the harness-assigned branch name. Make sure .claude/worktrees/ is gitignored (this collection's .gitignore already does that). Put gitignored files that a worktree needs, such as .env, in a .worktreeinclude file so the harness copies them.
  • Cursor-managed worktrees (branches named worktree-*): keep the assigned branch and worktree; run steps 1, 2 and 5 only.
  • Any other harness: follow all steps.

Steps

  1. Sync: git fetch origin.
  2. Scope check: skim open PRs' changed files (gh pr diff <n> --name-only). If this task needs files another open PR is editing, stop and ask for direction. Also check for uncommitted work in the shared 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 the name already exists, pick another; never force or reuse.
  4. Create the worktree (manual harnesses only):

    git worktree add .claude/worktrees/<task-name> -b agent/<task-name> origin/main
  5. Enter and verify:

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

    Install dependencies fresh inside the worktree (worktrees don't share node_modules, bin/obj, or 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 lockfiles are global. Confirm a port answers your process before trusting it, and resolve lockfile conflicts by regenerating, never by hand-merging.
  • Keep the worktree until the PR is merged or closed. Claude Code removes unnamed, unchanged worktrees itself and asks before removing ones with changes. Manual cleanup after merge:

    git worktree remove .claude/worktrees/<task-name>
    git branch -D agent/<task-name>   # -D is expected after a squash or rebase merge

Next

Small change: build it directly. Anything touching data, auth, APIs, or several files: run /plan-feature first, then /implement.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.