🌍 Global Mirror — Visit original CN site →
Back to skills

Feature

ASecurity

Start a new feature development. Creates a git branch with a logical name based on feature description, then invokes /task to create an implementation plan. Use when user says "new feature", "start feature", "implement feature", or "add feature".

18 stars
0 votes
0 copies
2 views
Added 2/11/2026
developmentbashtestingdebugginggitapidatabase

Works with

api

Security Analysis

A100/100

Scanned 2/12/2026

Install via CLI

$openskills install lee-to/ai-factory
Download Zip
SKILL.md
---
name: ai-factory.feature
description: Start a new feature development. Creates a git branch with a logical name based on feature description, then invokes /task to create an implementation plan. Use when user says "new feature", "start feature", "implement feature", or "add feature".
argument-hint: <feature description>
allowed-tools: Bash(git *) Read Write Skill AskUserQuestion
disable-model-invocation: true
---

# Feature - New Feature Workflow

Start a new feature by creating a branch and planning implementation.

## Workflow

### Step 0: Load Project Context

**FIRST:** Read `.ai-factory/DESCRIPTION.md` if it exists to understand:
- Tech stack (language, framework, database)
- Project architecture
- Existing conventions

This context informs branch naming, task planning, and implementation.

### Step 0.1: Ensure Git Repository

Check if git is initialized. If not, initialize it.

```bash
git rev-parse --is-inside-work-tree 2>/dev/null || git init
```

### Step 1: Parse Feature Description

From `$ARGUMENTS`, extract:
- Core functionality being added
- Key domain terms
- Type (feature, enhancement, fix, refactor)

### Step 2: Generate Branch Name

Create a descriptive branch name:

```
Format: <type>/<short-description>

Examples:
- feature/user-authentication
- feature/stripe-checkout
- feature/product-search
- fix/cart-total-calculation
- refactor/api-error-handling
```

**Rules:**
- Lowercase with hyphens
- Max 50 characters
- No special characters except hyphens
- Descriptive but concise

### Step 3: Ask About Testing

**IMPORTANT: Always ask the user before proceeding:**

```
Before we start, a few questions:

1. Should I write tests for this feature?
   - [ ] Yes, write tests
   - [ ] No, skip tests

2. Any specific requirements or constraints?
```

Store the testing preference - it will be passed to `/ai-factory.task` and `/ai-factory.implement`.

### Step 4: Create Branch

```bash
# Ensure we're on main/master and up to date
git checkout main
git pull origin main

# Create and switch to new branch
git checkout -b <branch-name>
```

If branch already exists, ask user:
- Switch to existing branch?
- Create with different name?

### Step 5: Invoke Task Planning with Branch Context

**Plan file will be named after the branch:**

```
Branch: feature/user-authentication
Plan file: .ai-factory/features/feature-user-authentication.md (NOT .ai-factory/PLAN.md!)
```

Convert branch name to filename:
- Replace `/` with `-`
- Add `.md` extension

Call `/ai-factory.task` with explicit context:

```
/ai-factory.task $ARGUMENTS

CONTEXT FROM /ai-factory.feature:
- Plan file: .ai-factory/features/feature-user-authentication.md (use this name, NOT .ai-factory/PLAN.md)
- Testing: yes/no
- Logging: verbose/standard/minimal
```

**IMPORTANT:** Pass the exact plan filename to /task. This distinguishes feature-based work from direct /task calls.

Pass along:
- Full feature description
- **Exact plan file name** (based on branch, e.g., `.ai-factory/features/feature-user-authentication.md`)
- Testing preference
- Logging preference
- Any constraints

The plan file allows resuming work based on current git branch:
```bash
git branch --show-current  # → feature/user-authentication
# → Look for .ai-factory/features/feature-user-authentication.md
```

## Examples

**User:** `/feature Add user authentication with email/password and OAuth`

**Actions:**
1. Parse: authentication feature, email/password + OAuth
2. Generate branch: `feature/user-authentication`
3. Ask about testing preference
4. Create branch: `git checkout -b feature/user-authentication`
5. Call: `/ai-factory.task Add user authentication with email/password and OAuth`

**User:** `/feature Fix cart not updating quantities correctly`

**Actions:**
1. Parse: bug fix, cart quantities
2. Generate branch: `fix/cart-quantity-update`
3. Ask about testing
4. Create branch
5. Call `/ai-factory.task`

## Important

- **Always ask about testing** before creating the plan
- **Never assume** testing preference - always ask explicitly
- Pass testing preference to downstream skills
- If git operations fail, report clearly and don't proceed
- Don't create branch if one with same purpose exists (ask first)

## CRITICAL: Logging Preference

When asking about testing, also ask about logging:

```
Before we start:

1. Should I write tests for this feature?
   - [ ] Yes, write tests
   - [ ] No, skip tests

2. Logging level for implementation:
   - [ ] Verbose (recommended) - detailed DEBUG logs for development
   - [ ] Standard - INFO level, key events only
   - [ ] Minimal - only WARN/ERROR

3. Any specific requirements or constraints?
```

**Default to verbose logging.** AI-generated code benefits greatly from extensive logging because:
- Subtle bugs are common and hard to trace without logs
- Users can always remove logs later
- Missing logs during development wastes debugging time

**Logging must always be configurable:**
- Use LOG_LEVEL environment variable
- Implement log rotation for file-based logs
- Ensure production can run with minimal logs without code changes

Pass the logging preference to `/ai-factory.task` along with testing preference.

Comments (0)

No comments yet. Be the first to comment!

Feature (Grade A) - Claude Skill | Skills Directory

Stay up to date

Get the latest news on AI tools and skills delivered to your inbox.