From qult
AI-development-specific design exploration. Interviews the architect through structured questions before any code is written. Use when starting new features, major changes, or when requirements are unclear. NOT for trivial fixes or well-scoped tasks with clear requirements.
npx claudepluginhub hir4ta/qult --plugin qultThis skill uses the workspace's default tool permissions.
Design exploration through structured architect interview. No code until design is approved.
Guides strict Test-Driven Development (TDD): write failing tests first for features, bugfixes, refactors before any production code. Enforces red-green-refactor cycle.
Guides systematic root cause investigation for bugs, test failures, unexpected behavior, performance issues, and build failures before proposing fixes.
Guides A/B test setup with mandatory gates for hypothesis validation, metrics definition, sample size calculation, and execution readiness checks.
Design exploration through structured architect interview. No code until design is approved.
Quality by Structure, Not by Promise. The architect decides what to build. The agent decides how to build it. Ambiguity is resolved by asking, never by guessing.
Before asking any questions, silently analyze the project to generate context-aware questions:
export interface, export type, export class in files likely related to the architect's feature descriptionGenerate context questions from findings:
Include these context questions alongside the standard interview questions in Phase 1. Label them as [from codebase] so the architect knows they're data-driven.
Interview the architect to understand the full picture. Use AskUserQuestion for EVERY question — never assume answers.
Include context questions from Phase 0 alongside the mandatory categories.
Mandatory question categories (minimum 2-3 questions per category):
After the architect interview, explore the codebase silently:
Then present findings to the architect:
Use AskUserQuestion for each decision point.
Explicitly check AI-development-specific constraints:
| Constraint | Question to architect |
|---|---|
| Context window | "This touches N files. Should we split into sub-tasks for separate agent sessions?" |
| Testability | "Can each component be tested in isolation? Any external dependencies to mock?" |
| Subagent suitability | "Are there independent parts that can be implemented in parallel by subagents?" |
| Security boundary | "Does this cross a trust boundary? Where should input validation go?" |
Present 2-3 concrete approaches to the architect:
## Approach A: [name]
- Pros: ...
- Cons: ...
- Effort: ...
- Risk: ...
## Approach B: [name]
- Pros: ...
- Cons: ...
- Effort: ...
- Risk: ...
## Recommendation: [A or B] because [reason]
Wait for architect's explicit approval via AskUserQuestion: "Which approach do you prefer? Or should I explore a different direction?"
After approval, write the design to docs/spec-<feature>.md (or a location the architect specifies):
## Problem
What we're solving and why.
## Design Decision
Chosen approach and rationale.
## Scope
- IN: [explicit list]
- OUT: [explicit list]
## Key Decisions
- [Decision 1]: [rationale]
- [Decision 2]: [rationale]
## Testing Strategy
- [What to test and how]
## Constraints
- [Non-functional requirements]
Terminal state: invoke /qult:plan-generator with the spec as input.
Announce: "Design approved. Handing off to plan generation."
Do NOT skip to implementation. Do NOT write code. The Wall stands.
| You might think... | Reality |
|---|---|
| "This is too simple for a design" | Simple projects hide the most unexamined assumptions |
| "I already know what to build" | You know what YOU think. The architect may think differently |
| "Questions will slow us down" | 15 minutes of questions prevents 3 hours of rework |
| "I'll figure out edge cases during implementation" | Edge cases found during implementation cost 10x to fix |
| "The architect will be annoyed by too many questions" | The architect will be MORE annoyed by wrong assumptions |
| "I can just start and ask later" | Sunk cost fallacy makes it harder to change direction after code exists |