# Intent-Driven Development (intent-driven-development)

> Turns ambiguous or high-impact changes into scoped, verifiable acceptance criteria before or alongside implementation.

- Category: [Requirements](https://www.myskills.tools/en/categories/requirements/)
- Source: Community · Affaan Mustafa
- Repository: https://github.com/affaan-m/ECC/tree/main/skills/intent-driven-development (commit ff1bfa1)
- SKILL.md: https://github.com/affaan-m/ECC/blob/main/skills/intent-driven-development/SKILL.md
- Install command: `npx skills add affaan-m/ECC --skill intent-driven-development`
- License: MIT
- Compatible with: Claude Code, Codex, Cursor, Copilot, OpenCode
- Permissions: read-repo ✓, write-files ✗, shell ✗, network ✗
- Status: Scan passed
- A rule scan cannot catch every risk. Read this skill's SKILL.md and check its permissions before installing.

## Core rule

Inspect the repository before asking; take business constraints only from the user or product artifacts, never from code.

## Execution Phases

1. **Inspect context first** — Read the repo, docs, schemas and test setup for technical facts; ask only questions that cannot be inferred and change scope.
2. **Choose the depth** — Use Quick Capture (3–7 criteria) for low or moderate risk, and a Full Acceptance Brief for security, data, migration or cross-system changes.
3. **Write observable criteria** — Each AC states a starting condition, trigger, expected outcome, prohibited side effect, verification method and priority, without vague words like 'correctly'.
4. **Proceed or wait** — For clear requests with no blocking risk, record the criteria and continue; for risky changes, present blockers and wait for confirmation.
5. **Revise criteria** — If an AC cannot be met mid-implementation, mark it [revised], update scope or verification, and re-present only the changed criteria.

## Permissions (summarised from SKILL.md)

| Capability | Needed | Details |
|---|---|---|
| File writes | Limited | Does not write an acceptance document into the repo, alter project files or create a branch unless the user asks. |
| Command execution | Limited | Does not run destructive tests, migrations, security probes, load tests or paid external calls without explicit authorization. |
| Network outbound | Not required | The skill does not call for network access. |

## SKILL.md frontmatter (YAML)

```yaml
---
name: intent-driven-development
description: 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, straightforward fixes, active debugging, code review, or implementation requests whose acceptance conditions are already clear unless the user explicitly invokes this skill.
---
```

Home: https://www.myskills.tools/en/ · URL: https://www.myskills.tools/en/skills/intent-driven-development/
