agentleFS
etretr/groundwork/skills/understanding-feature-requests/SKILL.md

understanding-feature-requests

Skill45 starsChanged 4 days agoMITView on GitHub

This skill should be used when clarifying feature requests, gathering requirements, or checking for contradictions in proposed changes

The file

We split this skill into the rules it gives an agent

8 rules. About 0 are common, 7 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈7

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    If effort is low or medium (i.e.

    line 16
  2. Distinctive:

    If you are not Sonnet or Opus, you MUST show the recommendation prompt - regardless of effort level.

    line 17
  3. Distinctive:

    If the user selects "Cancel — I'll switch first": output the switching commands above and stop.

    line 35
  4. Distinctive:

    When the user proposes a feature or change, ask clarifying questions to understand:

    line 39
  5. Distinctive:

    Keep questions focused: - ask 2-3 at a time, not all at once.

    line 62
  6. Distinctive:

    Prefer multiple-choice questions when possible - they're easier to answer and keep conversations focused

    line 65
  7. Distinctive:

    When presenting alternatives, lead with your recommendation

    line 67
  8. Distinctive:

    Before proceeding with design, review for conflicts within the proposed feature:

    line 71

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Understanding Feature Requests

Interactive workflow for clarifying feature requests and ensuring they don't conflict with existing requirements.

Pre-flight: Model Recommendation

Your current effort level is {{effort_level}}.

Skip this step silently if effort is high, xhigh, or max (the scale is low < medium < high < xhigh < max, so xhigh and max are already above high) AND you are Sonnet or Opus. If effort is low or medium (i.e. below high), you MUST show the recommendation prompt — regardless of model. If you are not Sonnet or Opus, you MUST show the recommendation prompt - regardless of effort level.

Otherwise → use AskUserQuestion:

{
  "questions": [{
    "question": "Do you want to switch? Contradiction detection in feature requirements benefits from consistent reasoning.\n\nTo switch: cancel, run `/effort high` (and `/model sonnet` if on Haiku), then re-invoke this skill.",
    "header": "Recommended: Sonnet or Opus at high effort",
    "options": [
      { "label": "Continue" },
      { "label": "Cancel — I'll switch first" }
    ],
    "multiSelect": false
  }]
}

If the user selects "Cancel — I'll switch first": output the switching commands above and stop. Do not proceed with the skill.

Step 1: Clarify the Request

When the user proposes a feature or change, ask clarifying questions to understand:

Core Questions (always ask):

  • What problem does this solve for the user?
  • Who is the target user/persona?
  • What is the expected outcome or behavior?

Exploratory Questions (for open-ended or vague requests):

  • "What inspired this feature idea?"
  • "Have you seen this done well elsewhere? What did you like about it?"
  • "What would make this feature 'delightful' vs just 'adequate'?"
  • "What's the simplest version that would provide value?"
  • "If you had to cut half the scope, what would you keep?"

Conditional Questions (ask as relevant):

  • What triggers this behavior? (for event-driven features)
  • What are the edge cases or error conditions?
  • What is explicitly out of scope?
  • Are there dependencies on other features?
  • What metrics would indicate success?
  • How could this fail? What are the possible risks and dangers?
  • Could we do this in any other way?

Keep questions focused - ask 2-3 at a time, not all at once. Build understanding iteratively.

Question Style:

  • Prefer multiple-choice questions when possible - they're easier to answer and keep conversations focused
  • Explore one topic at a time to avoid overwhelming stakeholders
  • When presenting alternatives, lead with your recommendation

Step 2: Check for Internal Contradictions

Before proceeding with design, review for conflicts within the proposed feature:

  • Conflicting behaviors (e.g., "shall be real-time" AND "shall work offline-first")
  • Incompatible constraints (e.g., "shall complete in <100ms" AND "shall process 10,000 items")
  • Mutually exclusive states

If conflicts found, surface them and resolve before proceeding.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.