Index of every page on this site: llms.txt
All skills
michaelshimeles avatar

/new-feature

@11b1576
Run it yourself

Isolate repository edits in a Git worktree before starting a feature, fix, or documentation change. Preserve a worktree already assigned to the same task. Read-only reviews and investigations do not need a new worktree.

Use this Skill: https://skilld.dev/gh/michaelshimeles/rstack/new-feature

Nothing lands on disk. Nothing to clean up.

Fork this Skill

Edit a local copy. It keeps the author and licence.

SKILL.md

≈58 tokens for metadata: the name and description. ≈698 when used: this file.

Description uses 2.9% of example budget

Before choosing a Skill, your Agent reads its name and description. All available Skills share that space.

  • A shorter description leaves more room for other Skills. This entry exceeds our 1% size suggestion.

In our Claude Code example, all Skill names and descriptions share 8,000 characters. This Skill uses ≈233 characters, or 2.9%.

The 1% threshold is a size suggestion. Longer descriptions can still fit.

Your model, settings, and other Skills decide how much text your Agent can read.

Example settings and source

The example uses a 200k-token context and default Claude Code settings. The count includes the name, description, separators, and when_to_use when present. Codex also counts local file paths.

Skit's source and limits: Codex 0.160.1, Claude Code 2.1.292.

New Feature

Each editing task gets its own worktree and branch, created from the latest origin/main unless the user specifies a different base. Read-only work can use the existing checkout. Never build on main or reuse another task's work.

Check existing isolation first

Inspect git worktree list, git status --short, the current branch, and the session's task assignment. If the environment already created a worktree for this task, keep its path and branch and skip steps 3 and 4. In step 5, use the actual assigned path. Do not infer isolation from the editor name or a branch prefix alone. Otherwise 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). For shared files, read the overlapping diffs. Independent edits may proceed in your own worktree. Ask for direction only when the changes conflict in behavior, require another task's unfinished work, or ownership is unclear. Check shared checkouts for uncommitted work without changing it. On another hosting platform, use its equivalent PR/MR tools; if unavailable, report the scope-check limitation and still isolate.

  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 directory outside the checkout, or a gitignored directory inside it, so worktrees cannot be committed by accident. Use 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

    Confirm the required runtime version. Install dependencies inside the worktree when needed for the task's checks. Documentation-only work does not require installing an unrelated application toolchain.

Remember

  • Worktrees do not isolate dev-server ports or shared databases. Tracked dependency lockfiles are separate in each worktree. 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.

Source: SKILL.md on GitHub

skilld matched fixed text patterns in SKILL.md and file names. Patterns miss obfuscated code.

skilld run checks every file with the same patterns. It asks for approval before it loads a Skill with a behavior marked Needs approval.

1 warning6d3 checks · Risk SAFE
  • Gen Agent Trust Hub6d

    The skill manages Git worktrees for feature development using standard CLI tools. It is generally safe, but it carries a low risk of indirect prompt injection as it instructs the agent to read untrusted content from pull request diffs.

  • Socket7d

    No alerts

  • Snyk7d

    Risk: MEDIUM · 1 issue

Signed by skilld at 11b1576. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub last week.

Activeupdated 3 weeks ago

README badge

README badge for michaelshimeles/rstack/new-feature