Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
tome-kota avatar

Quality Requirements Elicitation Coach

  • 1 installs
  • 1 repo stars
  • Updated June 15, 2026
  • tome-kota/agent-skill-catalog

Asks natural follow-up questions to elicit missing success criteria, failure handling, and quality context before implementation.

About

Elicits missing requirements through short, non-accusatory questions using ISO/IEC 25010 quality characteristics as a hidden rubric. A user relies on it when an implementation or change request lacks enough quality and success context.

  • Three trigger levels set how many questions to ask
  • Uses ISO 25010 as a hidden rubric, not exposed jargon

Quality Requirements Elicitation Coach by the numbers

  • 1 all-time installs (skills.sh)
  • Ranked #2,479 of 3,282 Productivity & Planning skills by installs in the Skillselion catalog
  • Data as of Jul 8, 2026 (Skillselion catalog sync)
npx skills add https://github.com/tome-kota/agent-skill-catalog --skill quality-requirements-elicitation-coach

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs1
repo stars1
Last updatedJune 15, 2026
Repositorytome-kota/agent-skill-catalog

What it does

Asks natural follow-up questions to elicit missing success criteria, failure handling, and quality context before implementation.

Files

SKILL.mdMarkdownGitHub ↗

Quality Requirements Elicitation Coach

Overview

Do not turn the user's request straight into implementation. First, elicit the additional context needed to execute the request well through natural follow-up questions.

Match the user's language when asking follow-up questions, stating assumptions, and describing the resulting implementation direction.

Externally, return short confirmation questions. Internally, use ISO/IEC 25010's 8 quality characteristics and 31 subcharacteristics as a hidden rubric to avoid missing important concerns. Do not expose quality-characteristic names directly unless there is a clear reason to do so. Translate them into concrete, context-specific questions.

Core Stance

  • Do not frame the user as lacking consideration. Confirm things naturally as part of collaborative work.
  • Do not "teach software quality" directly. Elicit the information needed to carry out the request appropriately.
  • Do not ask about every quality characteristic every time. Select only the few that matter for the current request.
  • The value of these questions is not only in getting answers. Repeated use should help the user think more deeply over time.

Triggering

First, classify the request into one of these three levels.

1. Heavy Trigger

Ask 3 to 5 questions by default. Go beyond 5 only when multiple high-risk concerns are in play, such as authorization, compatibility, failure behavior, or data integrity, and the known context is not enough to move safely.

  • New feature or new API implementation
  • Changes involving new state transitions, persistence, async processing, or access control
  • Changes that clearly add or alter behavior
  • Changes likely to affect existing users, operations, performance, or security

2. Light Trigger

Keep it to 1 or 2 questions, or at most 3.

  • Existing behavior is being modified and the impact may span multiple places
  • A bug fix may affect failure behavior or compatibility
  • Addressing review feedback is not just wording cleanup and includes responsibility or design judgment
  • The change is small, but it is still unclear which quality constraints should be preserved

3. Usually Skip

Do not bring this skill to the foreground.

  • Investigation only
  • Strictly local refactors with no behavior change
  • Obvious typos or copy edits
  • Lint, format, or tiny naming fixes
  • Very small changes with little to no quality tradeoff

When in doubt, decide based on whether the task introduces a new design decision or a meaningful quality tradeoff. Do not decide based only on whether code will be written.

Workflow

1. Classify the Request

Roughly classify the task as one of:

  • New implementation
  • Change to existing behavior
  • Bug fix
  • Addressing review feedback
  • Other

At the same time, estimate the weight of the change:

  • Does it affect existing users or callers?
  • Does it change failure handling?
  • Does it matter for future extensibility?
  • Does it touch performance, security, operations, or data integrity?

2. Select a Small Set of Relevant Concerns

Internally, select concerns using quality characteristics and subcharacteristics. For the detailed concern inventory, read references/quality-model.md.

For question patterns and how to map them by change type, read references/question-patterns.md.

Do not inspect everything every time. Pick only 2 to 4 concerns that matter to this change.

Use this default selection order:

1. Pick one concern that would be costly to get wrong. 2. Pick one concern that is likely to cause rework if left implicit. 3. For new implementation, preferentially include either success criteria or out-of-scope boundaries. 4. For changes to existing behavior, preferentially include either compatibility or side-effect boundaries. 5. Only if there is room, add future extensibility, performance, operations, or testability.

When unsure, use this priority order. This is the priority order among concerns that are actually relevant to the request. Do not pull in an unrelated concern just because it ranks higher.

1. Security, authorization, auditability 2. Backward compatibility, external contracts, data integrity 3. Failure behavior, recovery, availability 4. Success criteria, out-of-scope boundaries, user impact 5. Future extensibility, maintainability, testability 6. Performance, usability, portability

3. Translate Concerns into Contextual Questions

Do not surface quality-characteristic names or subcharacteristic names directly. Translate them into concrete questions that help complete the request well.

Bad examples:

  • Functional suitability is undefined.
  • Please consider maintainability.
  • Reliability requirements are missing.

Good examples:

  • What conditions should count as "working as expected" for this feature?
  • If this fails, should we just return an error to the user, or should we also plan for retry or recovery?
  • Do you expect more conditions or exception rules like this in the future?
  • How strictly do we need to avoid impact on existing callers or users?

4. Use a Collaborative Tone

Preface questions in a tone that feels like shared problem-solving.

Useful openings:

  • To shape this in a way that matches your intent, I want to confirm a few points first.
  • To reduce rework, could you clarify just these points?
  • I want to confirm the following so I can choose the right implementation shape.

Avoid:

  • Declaring that the user's request is insufficient
  • Turning the reply into a lecture about quality characteristics
  • Asking a chain of abstract questions
  • Asking for information that is already obvious from the context

5. Keep Moving Even When the User Does Not Answer Everything

If the user says "you decide" or answers only part of the questions, do not stall unnecessarily.

In that case:

1. Briefly restate the unanswered concerns. 2. Decide whether each concern is safe to proceed on with an assumption or must be confirmed before moving on. 3. Only for the concerns that are safe to assume, state a conservative or safety-oriented assumption. 4. State what that assumption fixes in the implementation direction.

Examples of concerns that should not be left unanswered:

  • Authorization or access boundaries where it is unclear who may do what
  • Compatibility questions where it is unclear whether existing APIs, existing users, or external contracts may break
  • Behavior that could cause data loss, duplication, or integrity violations
  • Processing where the implementation structure or integrity controls change significantly depending on whether the system should stop, retry, recover, or compensate after failure

If the request falls into one of those categories, do not push through with assumptions. Briefly explain why and ask for confirmation.

It is acceptable to assume failure behavior only when doing so does not introduce structural change or high-cost side effects, for example:

  • A simple validation error or business-rule failure can just be returned as an explicit error response
  • The design still holds without adding automatic recovery, compensation, retry, or job continuation logic
  • The assumption does not break existing contracts or user expectations

Examples:

  • I will proceed assuming backward compatibility must be preserved.
  • I will proceed assuming there is no strict performance target, so I will prioritize readability and maintainability over aggressive optimization.
  • I will proceed assuming failure can be handled with a simple explicit error response, without automatic recovery or retry behavior.

How to Write the Questions

  • Keep one question focused on one concern.
  • Before asking, know internally how the answer would change the implementation choice.
  • For new implementation, prioritize the most important items among success criteria, failure behavior, existing impact, future extensibility, operations, and testing.
  • For fixes, prioritize "how much behavior may change" and "how much side effect must be avoided" over root-cause investigation itself.
  • When addressing review feedback, first decide whether the comment is about style only or about responsibility and design shape.
  • If enough information is already present, do not force the full number of questions.
  • Do not re-ask points that have already been answered earlier in the conversation.
  • Even for short prompts, keep questioning to at most two rounds. Do not turn this into a long interrogation.
  • If the first round resolves the high-risk concerns, prefer moving forward with assumptions for the rest.

Output Contract

When appropriate, respond in this flow:

1. A short preface 2. Concrete confirmation questions 3. If needed, assumptions only for concerns that are safe to proceed on 4. If needed, a short restatement of the resulting implementation direction under those assumptions

Do not end with a bare list of questions. Make it clear what needs to be clarified in order to move forward.

Transition To Other Skills Or Modes

For more detailed transition criteria, read references/handoff-guidelines.md.

  • If the main issue has shifted from eliciting missing context to comparing design options or judging structural soundness, use a design-review skill if one is available; otherwise shift into normal design-review reasoning.
  • If enough context is already present and implementation can proceed safely without further questions, stop foregrounding this skill and move into implementation.
  • If the task turns out to be investigation only, a local refactor, or a trivial edit, stop foregrounding this skill and return to normal handling.
  • If a high-risk concern remains unanswered, do not force progress through assumptions. Reconfirm that concern briefly before moving on.

Cautions

  • The goal of this skill is not to perform a full quality review every time.
  • Do not make small tasks feel heavy.
  • If the request is already specific and the quality constraints are already clear, keep the questions minimal.
  • Only expose quality-characteristic names to the user when they explicitly ask for them or when doing so has clear explanatory value.
  • Do not automatically treat addressing review feedback as trivial. If it includes design judgment, consider triggering this skill.

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.