start-feature

Create an isolated feature branch from master using git worktree.

34|12|Updated Aug 1, 2021
One-click install
npx skills add https://github.com/pear-studio/nonebot-dicepp --skill start-feature-pear-studio
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: start-feature
Source: https://github.com/pear-studio/nonebot-dicepp/tree/main/docs/agent/skills/start-feature
Command: npx skills add https://github.com/pear-studio/nonebot-dicepp --skill start-feature-pear-studio

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

It prevents feature-branch work from polluting your current workspace by ensuring a clean starting state and using Git worktree to isolate changes while sharing the same environment.

Core Features & Use Cases

  • Workspace safety checks: Refuses to create a new feature branch when git status --short indicates uncommitted changes, and reports what needs commit or stash.
  • Consistent branch naming: Accepts a provided branch name or infers one from context, then normalizes it to a feature/ or hotfix/-style pattern.
  • Isolated work via git worktree: Creates and enters a dedicated worktree for the branch, then validates shared developer links like .venv and .claude/.
  • Example use case: Starting a refactor for the dice rules should happen in its own isolated worktree so builds, logs, and experiments don’t interfere with ongoing development.

Quick Start

Ask to create a feature branch named "feature/roll-refactor" from the latest master, using git worktree isolation and validating .venv and .claude links before switching to the worktree.

Frequently Asked Questions about start-feature

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create an isolated feature branch with git worktree?

To create an isolated feature branch with git worktree, this skill checks for uncommitted changes, normalizes a feature/ branch name from the latest master, and switches your working directory into a dedicated worktree root. It validates .venv and .claude symlinks after creation.

What happens if I have uncommitted changes when starting a feature branch?

If uncommitted changes are detected via git status --short, the feature branch creation is refused to prevent workspace pollution. The skill reports what needs to be committed or stashed before you can proceed with creating an isolated worktree.

How do I normalize branch names for pull request preparation?

Branch names are normalized automatically by inferring context or accepting a provided name, then converting it into a feature/ or hotfix/ style pattern. This ensures consistent branch naming for pull request preparation across development tasks.

Does git worktree work with shared Python environments and symlinks?

Git worktree works with shared Python environments by validating .venv and .claude symlinks after creating the isolated branch. This ensures your development environment links remain functional when switching the working directory to the worktree root.

Why should I use git worktree for refactoring dice logic in a TRPG bot?

Using git worktree for refactoring dice logic keeps builds, logs, and experiments isolated from ongoing development. It prevents feature-branch work from polluting your current workspace while sharing the same environment configuration.

Can I start a feature branch from a specific base ref instead of the latest master?

The skill defaults to creating the worktree from a fresh latest master base ref. It uses EnterWorktree to establish the isolated branch and applies workspace safety checks before switching directories.