Skip to main content
GeneralSteveGJones

new-feature

Create a new feature with proposal, retrospective, and branch. Use when starting new development work.

Stars
38
Source
SteveGJones/ai-first-sdlc-practices
Updated
2026-05-11
Slug
SteveGJones--ai-first-sdlc-practices--new-feature
View on GitHubRaw SKILL.md

// install — copy + paste into any project

mkdir -p .claude/skills && curl -fsSL https://raw.githubusercontent.com/SteveGJones/ai-first-sdlc-practices/HEAD/plugins/sdlc-core/skills/new-feature/SKILL.md -o .claude/skills/new-feature.md

Drops the SKILL.md into .claude/skills/new-feature.md. Works with Claude Code, Cursor, and any agent that loads SKILL.md files from .claude/skills/.

New Feature Setup

Create a new feature with all required artifacts. Arguments:

  • $0 — Feature number (e.g., 70)
  • $1 — Feature name for branch (e.g., plugin-migration)
  • $2+ — Optional title (defaults to name with spaces)

Steps

  1. Create the feature proposal at docs/feature-proposals/$0-$1.md

    • Use the template from templates/proposal.md
    • Replace placeholders:
      • FEATURE_NUMBER$0
      • FEATURE_NAME$1
      • FEATURE_TITLE$2 (or derive from $1 by replacing hyphens with spaces)
      • CREATED_DATE → today's date (YYYY-MM-DD)
  2. Create the retrospective at retrospectives/$0-$1.md

  3. Create the feature branch

git checkout main
git pull
git checkout -b feature/$1
  1. Run syntax validation
/sdlc-core:validate --syntax

If the validate skill is not available (e.g., first-time setup), run the inline fallback:

python -c "
import ast, pathlib
for f in pathlib.Path('.').rglob('*.py'):
    if '.venv' in str(f): continue
    ast.parse(f.read_text())
print('Syntax OK')
"
  1. Check for CI/CD (first feature only)

If .github/workflows/ does not exist or contains no workflow files:

No CI/CD workflow found. Run /sdlc-core:setup-ci to add GitHub Actions validation.
  1. Report the created files and branch name to the user.