Intent Framed Agent
Install
npx skills add pskoett/pskoett-ai-skills
npx skills add pskoett/pskoett-ai-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:
- Resolve current intent before opening the next.
- If user changes direction mid-task, resolve current intent as
Abandoned or Pivoted, then open a new frame.
- Drift checks always target the currently active frame.
- Number frames sequentially within the session (
#1, #2, ...).
- 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.
- 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.
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:
plan-interview (optional, for requirement shaping)
intent-framed-agent (execution contract + scope drift monitoring)
context-surfing (context quality monitoring β runs concurrently with intent-framed-agent during execution)
simplify-and-harden (post-completion quality/security pass)
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? It fires structured Intent Checks when work moves outside the stated
outcome.
- context-surfing monitors context quality drift β is the agent still
capable of doing it well? It fires when the agent's own coherence degrades
(hallucination, contradiction, hedging).
They are complementary, not redundant. An agent can be perfectly on-scope while
its context quality degrades. Conversely, scope drift can happen with perfect
context quality. Intent Checks continue firing alongside context-surfing's wave
monitoring.
Precedence rule: If both skills fire simultaneously (an Intent Check and a
context-surfing drift exit at the same time), the drift exit takes precedence.
Degraded context makes scope checks unreliable β resolve the context issue
first, then resume scope monitoring in the next session.
What this skill produces
- Intent frame artifact β consumed by context-surfing as part of the wave
anchor and copied verbatim into handoff files on drift exit.
- Intent resolution β signals task completion, which triggers
simplify-and-harden.
- Drift observations β scope drift patterns can be logged to
self-improvement as learnings if they recur.