start-feature
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:
- Extract key words: "user", "profile", "editing" → "user-profile-edit"
- Check:
git branch --list feature/user-profile-edit - Create:
git checkout -b feature/user-profile-edit - Confirm: "Created and switched to
feature/user-profile-edit. Ready to work on user profile editing."
More from otrebu/agents
gh-code-search
Search GitHub for real-world code examples and implementation patterns. Use when user wants to find code examples on GitHub, search GitHub repositories, discover how others implement features, learn library usage patterns, or research architectural approaches. Fetches top results with smart ranking (stars, recency, language), extracts factual data (imports, syntax patterns, metrics), and returns clean markdown for analysis and pattern identification.
85fix-eslint
Automatically fix ESLint errors by modifying code to comply with linting rules. For small codebases (≤20 errors), fixes directly. For larger codebases (>20 errors), spawns parallel agents per directory for efficient processing. Never disables rules or adds ignore comments.
22web-to-markdown
Batch-process web pages via headless Playwright browser, extract HTML, convert to markdown using Turndown, and save to timestamped scratchpad file. Use when user asks to "capture these pages as markdown", "save web content", "fetch and convert webpages", or needs clean markdown from HTML. All URLs from one prompt → single file at docs/web-captures/<timestamp>.md.
22readwise-api
Fetch and analyze Readwise reading activity for any date range. Use when user asks about articles saved, highlights created, or most-highlighted content for today, yesterday, last week, last month, or custom date ranges (e.g., "show my Readwise activity from Jan 1-7"). Requires READWISE_API_TOKEN env var. Connects to Readwise Highlights API (v2) and Reader API (v3).
13timestamp
Generate deterministic timestamps in YYYYMMDDHHMMSS format using bash. Use when you need timestamps for filenames, logging, or any situation requiring consistent timestamp formatting without LLM generation.
12claude-permissions
Configure, manage, update and review Claude Code permissions, sandboxing, and tool access. Use when user wants to set up permissions, configure sandboxing, update allowed tools, manage settings.json permissions, or review permissions in skills or commands or agents or settings.json. When user writes a new skill, command, agent, or updates settings.json, they should use this skill to manage permissions.
11