start-feature

otrebu's avatarfrom otrebu

Create or switch to feature branches with proper naming conventions. Use when user wants to start working on a new feature, start a feature. Generates feature/branch-name patterns from descriptions, checks existence, and creates/switches accordingly.

⭐0stars🔀0forks📁View on GitHub🕐Updated Nov 18, 2025

When & Why to Use This Skill

The 'start-feature' skill automates Git branch management by converting natural language feature descriptions into standardized, SEO-friendly branch names. It streamlines the developer workflow by handling status verification, branch creation, and switching, ensuring projects maintain consistent naming conventions and organized version control without manual overhead.

Use Cases

  • Streamlined Feature Initiation: Quickly create a properly formatted branch like 'feature/api-refactor' by simply describing the task to the AI, eliminating manual naming decisions.
  • Context Switching: Seamlessly switch back to existing feature branches by referring to the feature name, allowing the AI to identify and checkout the correct branch automatically.
  • Workflow Standardization: Enforce consistent 'feature/<slug>' naming patterns across a repository to improve team collaboration and repository maintainability.
  • Safe Development Practices: Automatically verify git status before branching to ensure the working directory is clean, preventing accidental code conflicts or lost changes.
namestart-feature
descriptionCreate or switch to feature branches with proper naming conventions. Use when user wants to start working on a new feature, start a feature. Generates feature/branch-name patterns from descriptions, checks existence, and creates/switches accordingly.
allowed-toolsBash(git status:*), Bash(git branch:*), Bash(git checkout:*)

Start Feature

Overview

Creates or switches to feature branches following the feature/<slug> naming convention. Analyzes feature descriptions to generate concise, descriptive branch names and handles branch creation or switching automatically.

Process

1. Check Current Branch

1. Parse Feature Description

Extract 2-4 key words that capture the essence of the feature from the description.

Branch naming rules:

  • Format: feature/<slug>
  • Slug: 2-4 words, kebab-case
  • Extract core concept from description
  • Avoid redundant words: "feature", "new", "add"

Examples:

  • "user authentication" → feature/user-auth
  • "dark mode toggle" → feature/dark-mode
  • "add pagination to table component" → feature/table-pagination
  • "refactor the api client" → feature/api-refactor

2. Verify Git Status and Current Branch

Before creating or switching branches, verify current git status:

git status

Ensure working directory is clean or changes are properly handled.

git branch --show-current

Is it already a feature branch? If so ask the user if they want to branch off from here or go back to main branch first.

3. Check Branch Existence

Check if the branch already exists:

git branch --list feature/<slug>

4. Create or Switch

If branch doesn't exist:

git checkout -b feature/<slug>

Confirm: "Created and switched to feature/<slug>"

If branch exists:

git checkout feature/<slug>

Confirm: "Switched to existing feature/<slug>"

5. Confirm Ready

Output format:

  • Branch name: feature/<slug>
  • Action taken: "Created and switched to..." or "Switched to existing..."
  • Ready message: "Ready to work on [feature description]"

Constraints

  • Never create branches outside the feature/ prefix
  • Branch names must be lowercase kebab-case
  • If description is unclear or empty, ask for clarification before proceeding
  • Always verify current git status before creating/switching branches

Example Usage

User request: "Start feature for user profile editing"

Process:

  1. Extract key words: "user", "profile", "editing" → "user-profile-edit"
  2. Check: git branch --list feature/user-profile-edit
  3. Create: git checkout -b feature/user-profile-edit
  4. Confirm: "Created and switched to feature/user-profile-edit. Ready to work on user profile editing."