/intent-framed-agent
Frames coding-agent work sessions with explicit intent capture and drift monitoring. Use when a session transitions from planning/Q&A to implementation for coding tasks, refactors, feature builds, bug fixes, or other multi-step execution where scope drift is a risk.
$ npx -y skills add pskoett/pskoett-ai-skills --skill intent-framed-agent --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/intent-framed-agent
Context preview
The summary Claude sees to decide when to auto-load this skill.
Frames coding-agent work sessions with explicit intent capture and drift monitoring. Use when a session transitions from planning/Q&A to implementation for coding tasks, refactors, feature builds, bug fixes, or other multi-step execution where scope drift is a risk.
SKILL.md
intent-framed-agent.SKILL.mdname: intent-framed-agent
description: "Frames coding-agent work sessions with explicit intent capture and drift monitoring. Use when a session transitions from planning/Q&A to implementation for coding tasks, refactors, feature builds, bug fixes, or other multi-step execution where scope drift is a risk."
Intent Framed Agent
Install
gh skill install pskoett/pskoett-skills
gh skill install pskoett/pskoett-skills intent-framed-agent
Fallback using the Agent Skills CLI:
npx skills add pskoett/pskoett-skills/skills/intent-framed-agent
Purpose
This skill turns implicit intent into an explicit, trackable artifact at the moment execution starts. It creates a lightweight intent contract, watches for scope drift while work is in progress, and closes each intent with a short resolution record.
Scope (Important)
Use this skill for coding tasks only. It is designed for implementation work that changes executable code.
Do not use it for general-agent activities such as:
- broad research
- planning-only conversations
- documentation-only work
- operational/admin tasks with no coding implementation
For trivial edits (for example, simple renames or typo fixes), skip the full intent frame.
Trigger
Activate at the planning-to-execution transition for non-trivial coding work.
Common cues:
- User says: "go ahead", "implement this", "let's start building"
- Agent is about to move from discussion into code changes
Workflow
Phase 1: Intent Capture
At execution start, emit:
## Intent Frame #N
**Outcome:** [One sentence. What does done look like?]
**Approach:** [How we will implement it. Key decisions.]
**Constraints:** [Out-of-scope boundaries.]
**Success criteria:** [How we verify completion.]
**Estimated complexity:** [Small / Medium / Large]
Rules:
- Keep each field to 1-2 sentences.
- Ask for confirmation before coding:
- `Does this capture what we are doing? Anything to adjust before I start?`
- Do not proceed until the user confirms or adjusts.
Phase 2: Intent Monitor
During execution, monitor for drift at natural boundaries:
- before touching a new area/file
- before starting a new logical work unit
- when current action feels tangential
Drift examples:
- work outside stated scope
- approach changes with no explicit pivot
- new features/refactors outside constraints
- solving a different problem than the stated outcome
When detected, emit:
## Intent Check #N
This looks like it may be moving outside the stated intent.
**Stated outcome:** [From active frame]
**Current action:** [What is happening]
**Question:** Is this a deliberate pivot or accidental scope creep?
If pivot is intentional, update the active intent frame and continue. If not, return to the original scope.
Phase 3: Intent Resolution
When work under the active intent ends, emit:
## Intent Resolution #N
**Outcome:** [Fulfilled / Partially fulfilled / Pivoted / Abandoned]
**What was delivered:** [Brief actual output]
**Pivots:** [Any acknowledged changes, or None]
**Open items:** [Remaining in-scope items, or None]
Resolution is preferred but optional if the session ends abruptly.
Multi-Intent Sessions
One session can contain multiple intent frames.
Rules: 1. Resolve current intent before opening the next. 2. If user changes direction mid-task, resolve current intent as `Abandoned` or `Pivoted`, then open a new frame. 3. Drift checks always target the currently active frame. 4. Number frames sequentially within the session (`#1`, `#2`, ...). 5. Constraints do not carry forward unless explicitly restated.
Entire CLI Integration
Entire CLI: https://github.com/entireio/cli
When tool access is available, detect Entire at activation:
entire status 2>/dev/null
- If it succeeds, mention that intent records will be captured in the session
transcript on the checkpoint branch. This enables `learning-aggregator --deep` to later mine intent frames and drift events for cross-session scope-drift patterns.
- If unavailable/failing, continue silently. Do not block execution and do not
nag about installation.
Copilot/chat fallback:
- If command execution is unavailable, skip detection and continue with the
same intent workflow in chat output.
How intent frames become learning signals
Each Intent Frame and Intent Check you emit is captured verbatim in Entire's session transcript. At cadence, `learning-aggregator --deep` reads those transcripts and extracts:
- Frames that were resolved as `Abandoned` or `Pivoted` → potential planning
gaps
- Drift signals that repeatedly fire in similar contexts → potential scope
definition issues
- Constraint violations detected by drift checks → patterns for promotion to
project instruction files
You do not need to do anything special for this — the intent blocks are structured (`## Intent Frame #N`, `## Intent Check`, `## Intent Resolution`), which makes them parseable from the transcript.
Guardrails
- Keep it lightweight; avoid long prose.
- Do not over-trigger on trivial tasks.
- Do not interrupt on every small step.
- Treat acknowledged pivots as valid.
- Preserve exact structured block headers/fields for parseability.
Interoperability with Other Skills
Use this skill as the front-door alignment layer for non-trivial coding work: 1. `plan-interview` (optional, for requirement shaping) 2. `intent-framed-agent` (execution contract + scope drift monitoring) 3. `context-surfing` (context quality monitoring — runs concurrently with intent-framed-agent during execution) 4. `simplify-and-harden` (post-completion quality/security pass) 5. `self-improvement` (capture recurring patterns and promote durable rules)
Relationship with context-surfing
Both skills are live during execution. They monitor different failure modes:
- **intent-framed-agent** monitors *scope* drift — is the agent doing the right
thing? I
Read more
name: intent-framed-agent description: "Frames coding-agent work sessions with explicit intent capture and drift monitoring. Use when a session transitions from planning/Q&A to implementation for coding tasks, refactors, feature builds, bug fixes, or other multi-step execution where scope drift is a risk."
Intent Framed Agent
Install
gh skill install pskoett/pskoett-skills
gh skill install pskoett/pskoett-skills intent-framed-agent
Fallback using the Agent Skills CLI:
npx skills add pskoett/pskoett-skills/skills/intent-framed-agent
Purpose
This skill turns implicit intent into an explicit, trackable artifact at the moment execution starts. It creates a lightweight intent contract, watches for scope drift while work is in progress, and closes each intent with a short resolution record.
Scope (Important)
Use this skill for coding tasks only. It is designed for implementation work that changes executable code.
Do not use it for general-agent activities such as:
- broad research
- planning-only conversations
- documentation-only work
- operational/admin tasks with no coding implementation
For trivial edits (for example, simple renames or typo fixes), skip the full intent frame.
Trigger
Activate at the planning-to-execution transition for non-trivial coding work.
Common cues:
- User says: "go ahead", "implement this", "let's start building"
- Agent is about to move from discussion into code changes
Workflow
Phase 1: Intent Capture
At execution start, emit:
## Intent Frame #N **Outcome:** [One sentence. What does done look like?] **Approach:** [How we will implement it. Key decisions.] **Constraints:** [Out-of-scope boundaries.] **Success criteria:** [How we verify completion.] **Estimated complexity:** [Small / Medium / Large]
Rules:
- Keep each field to 1-2 sentences.
- Ask for confirmation before coding:
- `Does this capture what we are doing? Anything to adjust before I start?`
- Do not proceed until the user confirms or adjusts.
Phase 2: Intent Monitor
During execution, monitor for drift at natural boundaries:
- before touching a new area/file
- before starting a new logical work unit
- when current action feels tangential
Drift examples:
- work outside stated scope
- approach changes with no explicit pivot
- new features/refactors outside constraints
- solving a different problem than the stated outcome
When detected, emit:
## Intent Check #N This looks like it may be moving outside the stated intent. **Stated outcome:** [From active frame] **Current action:** [What is happening] **Question:** Is this a deliberate pivot or accidental scope creep?
If pivot is intentional, update the active intent frame and continue. If not, return to the original scope.
Phase 3: Intent Resolution
When work under the active intent ends, emit:
## Intent Resolution #N **Outcome:** [Fulfilled / Partially fulfilled / Pivoted / Abandoned] **What was delivered:** [Brief actual output] **Pivots:** [Any acknowledged changes, or None] **Open items:** [Remaining in-scope items, or None]
Resolution is preferred but optional if the session ends abruptly.
Multi-Intent Sessions
One session can contain multiple intent frames.
Rules: 1. Resolve current intent before opening the next. 2. If user changes direction mid-task, resolve current intent as `Abandoned` or `Pivoted`, then open a new frame. 3. Drift checks always target the currently active frame. 4. Number frames sequentially within the session (`#1`, `#2`, ...). 5. Constraints do not carry forward unless explicitly restated.
Entire CLI Integration
Entire CLI: https://github.com/entireio/cli
When tool access is available, detect Entire at activation:
entire status 2>/dev/null
- If it succeeds, mention that intent records will be captured in the session
transcript on the checkpoint branch. This enables `learning-aggregator --deep` to later mine intent frames and drift events for cross-session scope-drift patterns.
- If unavailable/failing, continue silently. Do not block execution and do not
nag about installation.
Copilot/chat fallback:
- If command execution is unavailable, skip detection and continue with the
same intent workflow in chat output.
How intent frames become learning signals
Each Intent Frame and Intent Check you emit is captured verbatim in Entire's session transcript. At cadence, `learning-aggregator --deep` reads those transcripts and extracts:
- Frames that were resolved as `Abandoned` or `Pivoted` → potential planning
gaps
- Drift signals that repeatedly fire in similar contexts → potential scope
definition issues
- Constraint violations detected by drift checks → patterns for promotion to
project instruction files
You do not need to do anything special for this — the intent blocks are structured (`## Intent Frame #N`, `## Intent Check`, `## Intent Resolution`), which makes them parseable from the transcript.
Guardrails
- Keep it lightweight; avoid long prose.
- Do not over-trigger on trivial tasks.
- Do not interrupt on every small step.
- Treat acknowledged pivots as valid.
- Preserve exact structured block headers/fields for parseability.
Interoperability with Other Skills
Use this skill as the front-door alignment layer for non-trivial coding work: 1. `plan-interview` (optional, for requirement shaping) 2. `intent-framed-agent` (execution contract + scope drift monitoring) 3. `context-surfing` (context quality monitoring — runs concurrently with intent-framed-agent during execution) 4. `simplify-and-harden` (post-completion quality/security pass) 5. `self-improvement` (capture recurring patterns and promote durable rules)
Relationship with context-surfing
Both skills are live during execution. They monitor different failure modes:
- **intent-framed-agent** monitors *scope* drift — is the agent doing the right
thing? I
A collection of skills for AI agents. Follows the Agent Skills specification. This repository is my personal skill testing ground.
Other skills on pskoett-ai-skills.
- /agent-teams-simplify-and-harden
Implementation + audit loop using parallel agent teams with structured simplify, harden, and document passes. Spawns implementation agents to do the work, then audit agents to find complexity, security gaps, and spec deviations, then loops until code compiles cleanly, all tests
Open skill - /context-surfing
Monitors context window health throughout a session and rides peak context quality for maximum output fidelity. Activates automatically after plan-interview and intent-framed-agent. Stays active through execution and hands off cleanly to simplify-and-harden and self-improvement
Open skill - /control-session-orchestrator
Control-plane workflow for coordinating multi-agent, multi-session project work from a single Codex, GitHub Copilot, or agent-app control session. Use this skill whenever the user asks to orchestrate agents, create or steer worker sessions, run a workflow-like effort, fan out
Open skill - /eval-creator-ci
[Beta] CI-only eval regression runner using gh-aw (GitHub Agentic Workflows). Runs all eval cases in .evals/ on a schedule or per-PR, reports pass/fail results, and can block merges on regressions. Also creates new eval cases from promoted patterns flagged by
Open skill - /eval-creator
[Beta] Creates permanent eval cases from promoted learnings and runs regression checks against them. Turns failures into test cases that prevent silent regression. This is the outer loop''s regress-test step. Use when a learning is promoted and has a clear pass/fail condition,
Open skill - /learning-aggregator-ci
[Beta] CI-only learning aggregation workflow using gh-aw (GitHub Agentic Workflows). Scans .learnings/ files on a schedule, groups entries by pattern_key, identifies promotion-ready patterns, and posts a gap report as a PR or issue comment. Use when: you want automated
Open skill

