# intent-framed-agent

This skill writes down what a coding session is supposed to achieve before edits start, then watches for work that wanders off. Handy on long refactors and feature builds.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 435 installs · ★ 323
- Author: pskoett
- License: not stated · policy=link-only · description only; the file stays with the author
- Source: https://github.com/pskoett/pskoett-ai-skills/tree/HEAD/skills/intent-framed-agent/SKILL.md
- Updated: 2026-10-19
- HTML: https://affpapa.org/en/nevibecode/skills/intent-framed-agent

## What it does

It kicks in when the conversation stops being a plan and turns into code changes. The skill asks for a frame: the outcome, the approach, what sits out of bounds, how done gets verified. Five fields, one or two sentences each. After that the agent works inside that frame.

At natural checkpoints the skill looks for drift: before a new area or file, before a new logical chunk. When something sits outside the frame, an Intent Check appears in chat and asks whether the turn was deliberate or accidental creep. Once the work stops, a short resolution follows: delivered, pivots acknowledged, items still open. A session can hold several frames, but the current one closes before the next opens.

Use it on code that changes program behaviour. Research, plan-only talks and docs are out of scope, and trivial edits like a rename skip the whole frame. If `session-context` is installed, the skill queries it right after the first frame; without it the skill runs alone. Entire is checked with `entire status`, and where that command is missing the check is skipped quietly rather than blocking anything.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add pskoett/pskoett-ai-skills --skill intent-framed-agent -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/intent-framed-agent/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/intent-framed-agent/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add pskoett/pskoett-ai-skills --skill intent-framed-agent -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/intent-framed-agent/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add pskoett/pskoett-ai-skills --skill intent-framed-agent -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/intent-framed-agent/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install pskoett/pskoett-ai-skills intent-framed-agent
```

2. **Manually: put the files in place**
- File: `.github/skills/intent-framed-agent/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add pskoett/pskoett-ai-skills --skill intent-framed-agent -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/pskoett/pskoett-ai-skills --path skills/intent-framed-agent
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/intent-framed-agent/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add pskoett/pskoett-ai-skills --skill intent-framed-agent -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/pskoett/pskoett-ai-skills/tree/HEAD/skills/intent-framed-agent/SKILL.md

## When to use it
- keep the original goal alive through a long refactor
- notice when the agent edits files outside the agreed area
- tell a deliberate pivot from accidental scope creep
- close a task with a short record of what shipped
- run several tasks in one session without mixing them up

## Example prompts
- Implement the form validation from the approved plan: set the intent frame and start.
- We're switching direction — resolve the current intent as Pivoted and open a new frame for the cache work.
- Before touching that module, run an Intent Check and tell me if we're still in scope.

## Similar
- [setup-matt-pocock-skills](https://affpapa.org/en/nevibecode/skills/setup-matt-pocock-skills.md) — skill · 1052851 installs
- [ask-matt](https://affpapa.org/en/nevibecode/skills/ask-matt.md) — skill · 766587 installs
- [to-tickets](https://affpapa.org/en/nevibecode/skills/to-tickets.md) — skill · 711230 installs
- [writing-plans](https://affpapa.org/en/nevibecode/skills/writing-plans.md) — skill · 282859 installs
- [caveman-review](https://affpapa.org/en/nevibecode/skills/caveman-review.md) — skill · 411800 installs
- [caveman-compress](https://affpapa.org/en/nevibecode/skills/caveman-compress.md) — skill · 411500 installs

From the same set: [pskoett/pskoett-ai-skills](https://affpapa.org/en/nevibecode/by/pskoett/pskoett-ai-skills.md) — 7 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
