iterative-development

asermax's avatarfrom asermax

Load when adding features or analyzing impact on existing framework. Supports progressive development without requiring everything upfront. Used by /add-feature and /analyze-impact commands.

⭐1stars🔀0forks📁View on GitHub🕐Updated Jan 8, 2026

When & Why to Use This Skill

The Iterative Development skill is designed to facilitate progressive software evolution by allowing developers to add features and analyze architectural impact on-the-fly. It eliminates the need for exhaustive upfront planning by providing automated workflows for dependency mapping, complexity estimation, and phase recalculation. This skill ensures that project manifests like FEATURES.md and DEPENDENCIES.md remain synchronized with the actual state of development, making it ideal for agile environments and rapid prototyping.

Use Cases

  • Feature Expansion: Seamlessly adding new capabilities to an existing framework mid-project while automatically identifying required dependencies.
  • Impact Assessment: Analyzing proposed changes to determine which existing features, specifications, or core components will be affected, including transitive dependency risks.
  • MVP Quick-Start: Rapidly bootstrapping new projects by defining a minimal vision and extracting only essential features for the initial development phase.
  • Automated Project Tracking: Managing technical debt and project structure by using agent-led commands to update feature IDs, complexity scores, and development timelines.
nameiterative-development
description|

Iterative Development Skill

Supports adding features and analyzing impact without full upfront planning.

When to Load

Load this skill for:

  • /katachi:add-feature - Add new feature on-the-go
  • /katachi:analyze-impact - Analyze change impact

Philosophy

The framework should support "add as you go" not "define everything upfront":

  • Features can be added mid-project
  • Dependencies are analyzed dynamically
  • Phases recalculate automatically
  • Quick-start mode for MVPs

Add Feature Workflow

1. Capture Feature Description

Ask user to describe the feature:

  • What does it do?
  • Who uses it?
  • Any known dependencies?

2. Determine Category

Categories follow the pattern: CATEGORY-NNN

Process:

  1. Read existing categories from FEATURES.md
  2. Infer category from description
  3. Confirm with user
# Example categories (domain-oriented, organized by user capability area)
AUTH - Authentication flows (Login, Logout, Password Reset, Session Timeout)
USER - User management (Registration, Profile, Settings, Account Deletion)
ORDERS - Order management (Create Order, View Orders, Cancel Order)
PAYMENTS - Payment flows (Checkout, Refund, Payment Methods)
ADMIN - Admin capabilities (Manage Users, View Reports, System Settings)
CORE - Core infrastructure (when truly cross-cutting and not user-facing)

If new category needed, confirm with user before creating.

3. Assign ID

Find next available ID in category:

# Check existing IDs
python scripts/features.py status list --category CORE

# Result: CORE-001, CORE-002, CORE-003
# New ID: CORE-004

4. Capture Complexity

Ask user for complexity estimate:

  • Easy: 1-2 hours, straightforward
  • Medium: Half day, some complexity
  • Hard: Full day+, significant complexity

5. Analyze Dependencies

Option A: User knows dependencies

  • Ask: "Does this depend on any existing features?"
  • Validate dependencies exist

Option B: Agent analysis

  • Dispatch katachi:impact-analyzer with feature description
  • Agent identifies likely dependencies based on description
  • Present to user for confirmation

6. Update FEATURES.md

Add new feature entry:

| CORE-004 | New feature description | Medium | ✗ Defined |

7. Update DEPENDENCIES.md

Add to dependency matrix:

python scripts/features.py deps add-feature CORE-004
python scripts/features.py deps add-dep CORE-004 CORE-001  # If depends on CORE-001

8. Recalculate Phases

Phases recalculate based on dependencies:

python scripts/features.py deps recalculate-phases

Show user the new phase assignment:

  • "CORE-004 assigned to Phase 2 (depends on CORE-001)"

9. Offer Next Step

After adding:

  • "CORE-004 added. Create spec now? [Y/N]"
  • If yes, transition to /katachi:spec-feature CORE-004

Impact Analysis Workflow

1. Capture Change Description

Ask user to describe the proposed change:

  • What is being changed?
  • Why is this change needed?
  • What areas might be affected?

2. Dispatch Impact Analyzer

Task(
    subagent_type="katachi:impact-analyzer",
    prompt=f"""
Analyze the impact of this proposed change:

## Change Description
{change_description}

## FEATURES.md
{features_content}

## DEPENDENCIES.md
{dependencies_content}

## Existing Specs
{list_of_spec_paths}

Trace dependencies and report affected features.
"""
)

3. Present Findings

Show user:

  • Directly affected features
  • Transitively affected features (dependency chain)
  • Documents needing updates
  • Risk assessment

4. Ask Next Steps

Based on impact level:

Isolated:

  • "This change is isolated to X. Proceed with implementation?"

Moderate:

  • "This affects N features. Review affected specs before proceeding?"

Significant:

  • "This is a significant change. Create an ADR to document this decision?"

Structural:

  • "This affects core architecture. Recommend detailed analysis before proceeding."

Quick-Start Mode

For new projects, offer quick-start:

  1. Minimal VISION.md

    • Problem statement
    • MVP scope (not full scope)
    • Key workflows (top 3)
  2. MVP Features Only

    • Extract only features needed for MVP
    • Skip nice-to-haves
    • Aim for 5-10 features max
  3. Simple Dependencies

    • Phase 1 = MVP
    • Linear dependencies where possible
    • Skip complex dependency analysis
  4. First Feature Guidance

    • Guide through first spec
    • Establish patterns early
    • User learns workflow on real work