From advisor-skills
Investigate and pressure-test the design of a non-trivial software feature before implementation. Use when requirements, architecture, integration points, edge cases, compatibility, migrations, rollout, or testing decisions remain uncertain, especially in an existing codebase.
How this skill is triggered — by the user, by Claude, or both
Slash command
/advisor-skills:grill-designThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Reduce uncertainty until implementation is mostly mechanical.
Reduce uncertainty until implementation is mostly mechanical.
Do not implement the feature while material requirements or technical decisions remain unresolved.
Restate the requested behavior, success criteria, constraints, and scope.
Distinguish confirmed requirements from assumptions.
Do not silently turn an assumption into a requirement.
Explore the codebase before asking the engineer questions.
Inspect relevant:
Find the closest existing feature and identify the conventions it follows.
Trace the affected flow end to end, including relevant entry points, validation, authorization, business logic, persistence, side effects, external integrations, responses, observability, deployment, and rollback.
Search for direct and indirect consumers before proposing changes to shared behavior or contracts.
Do not silently answer material ambiguities.
Classify each unresolved question and identify its decision owner.
Resolve a question directly only when the answer can be established with sufficient confidence from the existing system.
Use evidence from:
Show the relevant evidence and record any remaining uncertainty.
Escalate technical decisions that cannot be answered from existing evidence to the engineer driving the agent.
Examples include:
For each decision:
Do not proceed by silently selecting the recommendation.
Escalate questions about intended behavior, business rules, policy, user experience, prioritization, pricing, compliance interpretation, permissions policy, or acceptable business risk to the engineer driving the agent.
The engineer acts as the interface to the product or business owner.
Help the engineer form a precise question by providing:
Do not invent product behavior merely because one option is easier to implement.
Separate technical constraints from product choice.
First investigate what the system permits and the cost or risk of each option.
Then escalate the remaining decision to the engineer, clearly indicating whether it requires:
Explore one material ambiguity at a time.
For each unresolved branch:
Do not overwhelm the engineer with a large questionnaire when the questions depend on one another.
Prefer the smallest design that fits the existing architecture.
Reuse established patterns unless they directly cause the problem being solved.
Do not combine unrelated cleanup or broad refactoring with the feature.
When technical debt blocks the feature, isolate the minimum prerequisite refactor and explain why it is necessary.
Check the design against plausible risks in the actual system, including:
Do not manufacture unlikely edge cases merely to make the design appear exhaustive.
Write a concise design containing:
Do not hand off to implementation while a material decision remains unanswered, unless the engineer explicitly approves:
The agent investigates, recommends, and pressure-tests. The engineer remains the decision-making interface.
When implementation disproves an assumption, revise the design rather than forcing the code to follow it.
npx claudepluginhub qduc/claude-skills --plugin advisor-skillsGuides completion of development work by verifying tests, detecting environment, and presenting structured options for merge, PR, or cleanup.
Enforces test-driven development: write failing test first, then minimal code to pass. Use when implementing features or bugfixes.
Guides creation and editing of skills using test-driven development with pressure scenarios and subagents to verify agent compliance.