intent-driven-development
Helps your agent turn ideas into clear, testable plans. Defines criteria to ensure changes are made correctly and safely.
What it does
This tool helps turn vague ideas about a product or technical change into clear, testable instructions. It defines what needs to be done and how to verify if it worked.
When to use it
- ✓When you want a feature idea to be clearer.
- ✓When defining how to test a change before implementing it.
- ✓To plan important changes in security, data, or integrations.
Example of what to ask your AI
“Turn the idea of 'adding dashboard data export to CSV' into acceptance criteria.”
Want more? Open the sections below.
How to use
The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.
Skill link
Ready-to-paste message
How it works
The tool first analyzes the available technical context. Then, it determines the necessary level of detail and asks minimal questions to clarify requirements, focusing on observable and testable outcomes.
Installation
Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.
In the terminal (Claude Code, Codex, Cursor), in your project folder:
npx skills add affaan-m/ECC --skill intent-driven-developmentOr download just the file:
curl -L https://raw.githubusercontent.com/affaan-m/ECC/main/pi/core/skills/intent-driven-development/SKILL.md -o SKILL.mdTechnical content (original SKILL.md)
Original text by the author, straight from GitHub.
Intent-Driven Development
Produce useful acceptance criteria without turning specification into ceremony. Inspect available context first, expose genuine ambiguity, and choose verification methods that fit the work and its risk.
When to Activate
- User asks to clarify a feature, define acceptance criteria, or de-risk a change before implementation
- Request touches security, authentication, persistent data, migrations, external APIs, or compliance
- User wants to prepare a handoff artifact for another agent or team
- Request is ambiguous enough that the expected outcome is not yet observable or testable
- User explicitly invokes this skill with
/intent-driven-development
Do not activate for trivial edits, straightforward one-line fixes, active debugging sessions, code review requests, or implementation requests whose acceptance conditions are already clear.
How It Works
- Inspect context first — reads the repository, docs, schemas, and test infrastructure for technical facts before asking any question, while treating product/business constraints as something only the user or a product artifact can supply
- Choose depth — selects Quick Capture (3-7 criteria, low/moderate risk) or Full Acceptance Brief (security, data, migration, cross-system changes) based on the risk profile
- Ask minimally — only asks questions whose answers cannot be inferred and that materially change scope or behavior
- Write observable criteria — each AC-NNN describes a starting condition, trigger, expected outcome, prohibited side effect, verification method, and priority; no vague words like "correctly" or "securely" without evidence
- Proceed or hand off — for clear requests with no blocking risks, records criteria and continues; for risky changes, presents blockers and waits for confirmation
- Handle revision — if an AC fails mid-implementation due to architectural constraints, marks it
[revised], updates scope or verification method, increments the revision number, and re-presents only the changed criteria
Examples
Quick Capture — "Add CSV export to the dashboard"
Goal: Authenticated users can download dashboard data as a CSV file.
In scope: Export of currently filtered rows; filename includes date.
Out of scope: Scheduled exports, email delivery, Excel format.
Assumptions: Max row count is under 10k; no PII in exported fields.
AC-001: Export generates file with correct headers
- Scenario: authenticated user, at least one data row visible
- Action: click "Export CSV"
- Expected: browser downloads file with columns [id, name, created_at]
- Must not: expose internal fields or rows belonging to other users
- Verification: automated integration test + manual schema spot-check
- Priority: Required
Full Acceptance Brief trigger — "Migrate user auth to OAuth"
Auth change + external dependency + existing session data → Full Brief with Risk Review table, blocking decisions on session invalidation strategy, and explicit rollback AC.
Existing spec review — user pastes a PRD
Skill reviews it for missing scope boundaries, unverifiable requirements ("the system shall be fast"), and silent assumptions, then returns corrected or supplemental criteria without restarting discovery.
Operating Rules
- Inspect the available repository, documentation, issue, design, and test context before asking for technical facts that can be discovered locally.
- Do not infer product or business constraints from code. Business rules, compliance and regulatory obligations, contractual SLAs, pricing, data-retention policy, prioritization, and target users cannot be read from a repository. Treat them as unknown until the user supplies them or an authoritative product artifact (PRD, contract, policy document) states them. Record them as assumptions flagged for confirmation, never as discovered facts. The repository tells you how the system behaves today, not what the business requires it to do.
- Ask only questions whose answers are required and cannot be safely inferred. Group short, related questions when that saves unnecessary turns.
- Do not block implementation by default. When the user has asked to implement a sufficiently clear change, record key assumptions and acceptance criteria briefly, then proceed or hand them to the implementation workflow.
- Require explicit user confirmation before proceeding only when an unresolved decision could
…
FAQ
What are 'acceptance criteria'?
These are clear rules that define when a feature is complete and working correctly, like a checklist to ensure everything was done as expected.
When should this tool NOT be used?
It's not for simple fixes, code debugging, code reviews, or when the testing conditions are already obvious.
How does it handle risky changes?
For complex or high-risk changes (like security or data migration), it creates a more detailed plan and asks for confirmation before proceeding.
Details
Original description by the author
Turn ambiguous or high-impact product and engineering changes into scoped, verifiable acceptance criteria before or alongside implementation. Use when a user asks to clarify a feature, define acceptance criteria, de-risk a security/data/migration/integration change, prepare implementation requirements for another agent, or make a complex request testable. Do not trigger for trivial edits, straight
repo: affaan-m/ECC
Popularity
- GitHub stars
- 280k
- Ranking position
- #65
- License
- MIT
- Updated
- 10/15/2026
Comments
- …
More skills from this repository
accessibility
Helps your agent create interfaces that everyone can use. Ensures websites and apps work well for people with disabilities, like those who are blind or have reduced mobility.
affaan-m/ECC
agent-architecture-audit
Makes your agent check if everything is working correctly. It finds and fixes problems in AI systems, ensuring they perform as expected.
affaan-m/ECC
agent-eval
Helps your agent compare different AI coding tools. It measures which one is faster, cheaper, and more reliable for specific tasks.
affaan-m/ECC
agent-harness-construction
Makes your agent better understand how to perform tasks. It optimizes the tools and instructions the agent uses to increase its chances of success.
affaan-m/ECC
Similar skills
doc-coauthoring
Helps your agent guide you in writing important documents. It's useful when you need to create documentation, proposals, or specifications.
anthropics/skills
docx
Helps your agent create, read, edit, and organize Word documents. It's useful for generating professional reports with complex formatting.
anthropics/skills
internal-comms
Lets your agent write internal communications in the company's preferred format. Useful for reports, newsletters, and updates.
anthropics/skills