dot-ai-worktree-prd

📁 vfarcic/dot-ai 📅 8 days ago
9
总安装量
8
周安装量
#31360
全站排名
安装命令
npx skills add https://github.com/vfarcic/dot-ai --skill dot-ai-worktree-prd

Agent 安装分布

amp 8
github-copilot 8
codex 8
kimi-cli 8
gemini-cli 8
cursor 8

Skill 文档

Create Git Worktree for PRD

Create a git worktree with a descriptive branch name based on the PRD title. This ensures feature branches have human-readable names that describe what the work is about.

Workflow

Step 1: Identify the PRD

Try to infer the PRD number from the current conversation. Look for PRD references like “PRD 353”, “PRD #353”, or “prd-353”.

If not found in context, ask the user: “Which PRD should I create a worktree for? (e.g., 353)”

Step 2: Get the PRD Title

If the PRD content is already in the conversation context, extract the title from there.

Otherwise, read the PRD file. PRD files are in the prds/ directory with naming pattern [number]-[slug].md:

ls prds/ | grep "^[PRD_NUMBER]-"

The title is on the first line in format: # PRD #[number]: [Title]

Step 3: Generate Descriptive Branch Name

Convert the PRD title to a branch-friendly name:

  1. Start with prd-[number]-
  2. Extract the title after the colon (e.g., “Update to Kimi K2.5 Model Support”)
  3. Convert to lowercase
  4. Replace spaces with hyphens
  5. Remove special characters except hyphens and dots
  6. Keep it concise (truncate if very long)

Examples:

  • “PRD #353: Update to Kimi K2.5 Model Support” → prd-353-kimi-k2.5-support
  • “PRD #290: Skills Distribution System” → prd-290-skills-distribution
  • “PRD #264: GitOps Tool ArgoCD Integration” → prd-264-gitops-argocd-integration

Step 4: Create the Worktree

Run the following commands directly. Replace [branch-name] with the name generated in Step 3.

  1. Get the repo name and compute the worktree path:
repo_name=$(basename "$(git rev-parse --show-toplevel)")
worktree_path="../${repo_name}-[branch-name]"
  1. Validate — check that the branch, worktree path, and worktree registration don’t already exist:
git show-ref --verify --quiet "refs/heads/[branch-name]" && echo "ERROR: Branch already exists"
test -d "${worktree_path}" && echo "ERROR: Worktree path already exists"
git worktree list | grep -q "[branch-name]" && echo "ERROR: Worktree already registered"

If any check fails, inform the user and ask how to proceed.

  1. Create the worktree branching from main:
git worktree add "${worktree_path}" -b [branch-name] main
  1. Initialize submodules in the new worktree:
cd "${worktree_path}" && git submodule update --init --recursive
  1. Report the result to the user:
    • Worktree path: ${worktree_path}
    • Branch: [branch-name]
    • Next step: cd ${worktree_path}

Guidelines

  • Descriptive names: Branch names should describe the feature, not just the PRD number
  • Consistent format: Always prefix worktree directory with the repository name
  • Base on main: Always branch from main for new feature work
  • Clean names: Keep branch names concise but descriptive