Skip to content
Skill Authoring
Skill

/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.

BOOST
From plugin
pskoett-ai-skills
30219 skills6 agents
Install
$ npx -y skills add pskoett/pskoett-ai-skills --skill intent-framed-agent --agent claude-code

How 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.md
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.
  • Reuse current approval when an approved plan or explicit instruction to

proceed already covers the frame's outcome, approach, constraints, and success criteria. Emit the frame for traceability and continue.

  • Ask `Does this capture what we are doing? Anything to adjust before I start?`

only when no current approval exists, the frame adds a material decision or assumption, or scope/constraints changed.

  • Do not proceed while a material decision remains unresolved.

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 the user already directed the pivot, update the active intent frame and continue under the enduring constraints. Otherwise ask whether the apparent pivot is intentional. 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. Enduring constraints carry forward; frame-local choices do not. User prohibitions, safety/privacy limits, authorization boundaries, repository restrictions, and explicit "do not" instructions remain active until the user revokes them. A local implementation choice carries forward only when the new outcome still depends on it; otherwise restate it or ask.

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 and the active host adapter records conversation lifecycle

events, mention that intent records are expected in the session transcript. Do not infer complete transcript coverage from `entire status`; inspect the available session/checkpoint state before relying on it for `learning-aggregator --deep`.

  • 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

When the active host adapter captures message events, each Intent Frame and Intent Check is available in Entire's session transcript. At cadence, `learning-aggregator --deep` can read the available transcripts and extract:

  • 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 no
Read more
Ships withpskoett-ai-skills

A collection of skills for AI agents. Follows the Agent Skills specification and ships an Agent Plugins 1.0 portable package. This repository is my personal skill testing ground.

Get the whole plugin

Other skills on pskoett-ai-skills.