Pre-Scout intent capture phase. Structures vague user goals into intent.md before any subagent budget is spent. Opt-in via policy.json workflow.phase_enables.intent=on.
Scanned 9/3/2026
Install to Claude Code
npx -y skills add mickeyyaya/evolve-loop --skill intent --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Intent?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/mickeyyaya-intent)More formats (shields.io, HTML) on the badges page.
---
name: intent
description: Pre-Scout intent capture phase. Structures vague user goals into intent.md before any subagent budget is spent. Opt-in via policy.json workflow.phase_enables.intent=on.
---
# intent
> Sprint 4 composable skill (v8.19.0+). Wraps the new Intent phase that runs between Calibrate and Research when `workflow.phase_enables.intent=1`. Single-persona, autonomy-preserving — no human checkpoint mid-cycle.
## When to invoke
- **Autonomous**: orchestrator advances to phase=intent when `cycle-state.intent_required==true` (set at cycle init from `workflow.phase_enables.intent=1`)
- **User-driven**: `/evo:intent`, before `/evo:loop`, to lock in structured intent
- **Re-run**: re-invoke to replace prior intent.md within the same cycle (kernel accepts latest ledger entry)
## When NOT to invoke
- After Scout has already run for this cycle (intent must precede research)
- For pure-execution cycles where the goal is fully specified (e.g., "fix typo at file.md:42") — but in practice, even those benefit from the explicit `non_goals` and `acceptance_checks`
- When `workflow.phase_enables.intent` is unset and the user has not explicitly invoked `/evo:intent` — default flow skips this phase
## Workflow
| Step | Action | Exit criteria |
|---|---|---|
| 1 | Read user goal + workspace + priorIntent (if re-run) | Inputs gathered |
| 2 | Classify input via AwN framework (IMKI/IMR/IwE/IBTC/CLEAR) | Single class chosen |
| 3 | If awn_class == IBTC: emit short scope-rejection intent.md | gate_intent_to_research will short-circuit cycle |
| 4 | Otherwise: produce 8-field structured intent.md | Frontmatter complete + body written |
| 5 | Surface ≥1 challenged_premise — assumption to actively question | premise/challenge/alternative populated |
| 6 | Write `$workspace/intent.md` | File present, parseable |
| 7 | Subagent runner writes ledger entry binding intent.md SHA to cycle | `kind: "agent_subprocess"`, `role: "intent"` ledger entry |
## Autonomy invariant
This skill MUST NOT block on human approval. The intent persona produces intent.md; `gate_intent_to_research` verifies structure (≥1 challenged_premise, valid awn_class, SHA matches ledger); cycle proceeds. There is no `accept-intent` operator command — re-running `/evo:intent` replaces the prior file, and the kernel uses the latest ledger entry. This is the difference between an autonomy-preserving filter and a checkpoint.
## Cycle-binding
Like every other agent, intent.md gets a ledger entry with `(artifact_sha256, git_head, tree_state_sha, challenge_token)`. ship.sh's downstream tree-state check works against the same SHA-binding the auditor uses.
<!-- GENERATED:phase-facts BEGIN — do not edit; run `evolve skills generate`. Sources: docs/architecture/phase-registry.json · go/internal/phasecontract · .evolve/profiles/intent.json -->
## Phase facts
| Fact | Value |
|---|---|
| Phase | `intent` (plan archetype, optional, gated by `workflow.phase_enables.intent=on`) |
| Persona | `agents/evolve-intent.md` |
| Profile | `.evolve/profiles/intent.json` — CLI `codex-tmux`, tier `deep`, single-writer |
| Artifact | `intent.md` (cycle workspace) |
## Output contract
`intent.md` must declare:
- `goal:`
- `acceptance_checks:`
<!-- GENERATED:phase-facts END -->
## Composition
Invoked by:
- `/evo:intent` (user-driven)
- `evolve-orchestrator` macro when `cycle-state.intent_required==true`
Cannot be:
- Invoked by another persona (Anti-pattern B per `docs/architecture/tri-layer.md`)
- Fanned out (single perspective; no `parallel_subtasks` in profile for v0.1)
- Substituted via `evolve guard phase --bypass` (CRITICAL violation per CLAUDE.md)
## Reference
- `agents/evolve-intent.md` (persona)
- `.evolve/profiles/intent.json` (permission profile)
- `legacy/scripts/lifecycle/phase-gate.sh` (`gate_calibrate_to_intent`, `gate_intent_to_research`)
- `legacy/scripts/guards/phase-gate-precondition.sh` (scout-blocked-without-intent enforcement)
- `.evolve/research/intent-capture-patterns.md` (5-source research grounding)
- `docs/architecture/intent-phase.md` (full architecture)
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!