Agent skill
waterfall-development
Enforces strict waterfall development workflow with phase gates. Use when (1) features.yml exists in project root, (2) user asks to implement/develop/build a feature, (3) user explicitly requests waterfall workflow. Creates features.yml if missing when invoked.
Install this agent skill to your Project
npx add-skill https://github.com/Chemiseblanc/ai/tree/main/plugins/cascade-development/skills/waterfall-development
SKILL.md
Waterfall Development
Strict phase gate enforcement for waterfall workflow. Requires the feature-file skill for artifact management.
Phases
Requirements → Design → Implementation → Testing → Complete
Activation
| Condition | Action |
|---|---|
| features.yml exists | Activate, validate gates |
| User invokes skill, no features.yml | Create features.yml via feature-file skill, then activate |
| No features.yml, not invoked | Do not activate |
Workflow
- Run
./scripts/validate-gates.py - If errors: Print errors, STOP
- Identify target feature and current phase
- Block work that doesn't match current phase
- Before phase transitions: Re-validate target phase gates
Gates
See references/phase-gates.md for fix instructions.
| Gate | Transition | Criteria |
|---|---|---|
| G1 | → Design | Feature has ≥1 requirement |
| G2 | → Design | All requirements have descriptions |
| G3 | → Implementation | decisions field exists |
| G4 | → Testing | All requirements In-Progress or Complete |
| G5 | → Complete | All requirements Complete + tested-by + all tests passing |
Agent Usage
Use sub-agents for verification tasks that require codebase exploration:
Before Design phase: Verify requirements are complete by examining codebase and user request for implicit requirements.
Before Complete phase: Verify test coverage by checking all requirements have corresponding tests and tested-by references.
Error Handling
Gate failures print terse errors. No bypass mechanism.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
feature-file
Manage features.yml for tracking requirements and progress; use proactively ONLY when features.yml already exists, or invoke manually to create one; complements TodoWrite for persistent project state.
git-commit
Guide for breaking changes into logical, atomic commits using interactive staging. Use when committing changes that span multiple concerns, when needing to stage parts of files (hunks), when asked to create well-organized commit history, or when changes should be split into multiple commits.
software-architecture
Document software architecture using ARCHITECTURE.md and docs/*.md files with Mermaid diagrams. Use proactively when ARCHITECTURE.md exists in project root, or invoke to create initial architecture documentation. Covers system design, data flows, component relationships, and code organization with references to key entry points and abstractions.
commit-message
Format git commit messages combining Conventional Commits summary lines with Linux kernel-style bodies. Use when writing, reviewing, or formatting commit messages.
structured-logging
Guide for writing effective log messages using wide events / canonical log lines. Use when writing logging code, adding instrumentation, improving observability, or reviewing log statements. Teaches high-cardinality, high-dimensionality structured logging that enables debugging.
tlaplus-modeling
Model and reason about concurrent or distributed systems with TLA+ and PlusCal. Use when: designing multithreaded or distributed behavior before code exists, deriving invariants from an informal design, writing TLA+ specs, creating PlusCal algorithms, model checking with TLC, organizing multi-module specifications, debugging verification failures, or reducing state space. Covers informal concurrency design, MCP tool usage, PlusCal preferred syntax (call/await over goto), TLA+ module organization, and state-space optimization.
Didn't find tool you were looking for?