skills/learnwy/skills/software-methodology-toolkit

software-methodology-toolkit

SKILL.md

Software Methodology Toolkit

A comprehensive collection of 10 proven software engineering methodologies, each implemented as a specialized agent. This skill provides systematic guidance across the entire software development lifecycle.

โš ๏ธ Priority Notice

This is a FALLBACK skill:

  • If you're working in a project with context-specific skills (like requirement-workflow), those should be triggered first
  • This toolkit is designed for general use when no project-specific adaptations exist
  • Project skills have higher priority because they contain context-specific adaptations (Hook Points, custom outputs, etc.)
  • Only use this skill explicitly if you want the vanilla methodology without project context

Available Methodologies

๐Ÿ” Analyzing Phase

problem-definer

Apply Weinberg's Six Questions Framework to systematically define problems.

Use when:

  • Requirements are unclear or contradictory
  • Stakeholders disagree on what the problem is
  • Solutions keep missing the mark
  • Need to identify the REAL problem

Triggers: "define the problem", "what's the real problem", "stakeholder analysis"


spec-by-example

Create living documentation through concrete examples (Gojko Adzic).

Use when:

  • Requirements are vague
  • Need executable specifications
  • Building shared understanding between business and tech
  • Want tests that serve as documentation

Triggers: "specification by example", "concrete examples", "acceptance criteria"


๐Ÿ“‹ Planning Phase

story-mapper

Create user story maps to visualize user journeys and prioritize releases (Jeff Patton).

Use when:

  • Planning products or features
  • Backlog lacks context
  • Deciding MVP scope
  • Need to see the big picture

Triggers: "story mapping", "user journey", "release planning", "MVP scope"


๐ŸŽจ Designing Phase

domain-modeler

Apply Domain-Driven Design to model complex business domains (Eric Evans).

Use when:

  • Designing bounded contexts
  • Creating aggregates and entities
  • Establishing ubiquitous language
  • Modeling complex business rules

Triggers: "DDD", "domain model", "bounded context", "aggregate design"


responsibility-modeler

Design objects by their responsibilities and collaborations (Rebecca Wirfs-Brock).

Use when:

  • Designing OO systems
  • Objects have unclear responsibilities
  • Running CRC sessions
  • Applying GRASP principles

Triggers: "CRC cards", "object responsibilities", "GRASP", "collaboration design"


architecture-advisor

Analyze software architecture decisions using quality attributes (Bass, Clements, Kazman).

Use when:

  • Making architectural decisions
  • Evaluating technology choices
  • Analyzing trade-offs
  • Defining quality attribute scenarios

Triggers: "architecture decision", "quality attributes", "trade-off analysis", "ADR"


๐Ÿ’ป Implementing Phase

tdd-coach

Guide Test-Driven Development practice (Kent Beck).

Use when:

  • Implementing features from scratch
  • Learning TDD
  • Stuck on implementation approach
  • Need test-first discipline

Triggers: "TDD", "test-driven", "red-green-refactor", "test first"


refactoring-guide

Identify code smells and apply refactoring techniques (Martin Fowler).

Use when:

  • Code quality needs improvement
  • Before adding features to messy code
  • During code reviews
  • Paying down tech debt

Triggers: "refactor", "code smell", "improve code quality", "clean up code"


legacy-surgeon

Safely modify legacy code without tests (Michael Feathers).

Use when:

  • Working with untested code
  • Adding features to legacy systems
  • Breaking dependencies for testability
  • Need characterization tests

Triggers: "legacy code", "working effectively", "seam", "characterization test"


๐Ÿงช Testing Phase

test-strategist

Plan comprehensive test strategies using Agile Testing Quadrants (Lisa Crispin).

Use when:

  • Deciding what types of tests to write
  • Reviewing test coverage
  • Optimizing test suites
  • Planning test distribution

Triggers: "test strategy", "test quadrants", "test pyramid", "test coverage"


How to Use

Simply mention the methodology or trigger phrase, and this skill will invoke the appropriate agent:

Examples

User: "Help me define the problem for this vague requirement"
โ†’ Invokes problem-definer agent

User: "Let's apply DDD to model this e-commerce domain"
โ†’ Invokes domain-modeler agent

User: "I need to refactor this messy class"
โ†’ Invokes refactoring-guide agent

User: "Plan test strategy for authentication feature"
โ†’ Invokes test-strategist agent

Methodology Workflows

These methodologies work together in common workflows:

New Feature Workflow

  1. problem-definer โ†’ Define the real problem
  2. story-mapper โ†’ Map user journey
  3. spec-by-example โ†’ Create concrete examples
  4. domain-modeler โ†’ Model domain concepts
  5. tdd-coach โ†’ Implement with TDD
  6. test-strategist โ†’ Verify test coverage

Legacy Code Workflow

  1. problem-definer โ†’ Understand why change is needed
  2. legacy-surgeon โ†’ Break dependencies safely
  3. refactoring-guide โ†’ Identify and fix smells
  4. test-strategist โ†’ Add appropriate tests

Architecture Workflow

  1. problem-definer โ†’ Clarify requirements
  2. domain-modeler โ†’ Model bounded contexts
  3. architecture-advisor โ†’ Analyze quality attributes
  4. responsibility-modeler โ†’ Design object responsibilities

Philosophy

All agents follow these principles:

  • โŒ Do NOT write code - Only provide analysis and guidance
  • โŒ Do NOT make decisions - Present options and trade-offs
  • โŒ Do NOT run commands or modify files - Stay strictly read-only
  • โœ… Only output: Analysis, recommendations, structured reports

References

This toolkit is based on these seminal works:

  • Are Your Lights On? โ€” Weinberg & Gause (1982)
  • User Story Mapping โ€” Jeff Patton (2014)
  • Specification by Example โ€” Gojko Adzic (2011)
  • Domain-Driven Design โ€” Eric Evans (2003)
  • Object Design โ€” Rebecca Wirfs-Brock (2002)
  • Software Architecture in Practice โ€” Bass, Clements, Kazman (2021)
  • Test Driven Development โ€” Kent Beck (2003)
  • Refactoring โ€” Martin Fowler (2018)
  • Working Effectively with Legacy Code โ€” Michael Feathers (2004)
  • Agile Testing โ€” Lisa Crispin & Janet Gregory (2009)
Weekly Installs
13
Repository
learnwy/skills
First Seen
9 days ago
Installed on
claude-code13
github-copilot13
codex13
kimi-cli13
gemini-cli13
amp13