context-surfing
Monitors context window health during large, long-running, multi-session, or explicitly…
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.
/intent-framed-agentContext 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.
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."
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
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.
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:
For trivial edits (for example, simple renames or typo fixes), skip the full intent frame.
Activate at the planning-to-execution transition for non-trivial coding work.
Common cues:
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:
proceed already covers the frame's outcome, approach, constraints, and success criteria. Emit the frame for traceability and continue.
only when no current approval exists, the frame adds a material decision or assumption, or scope/constraints changed.
During execution, monitor for drift at natural boundaries:
Drift examples:
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.
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.
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: https://github.com/entireio/cli
When tool access is available, detect Entire at activation:
entire status 2>/dev/null
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`.
nag about installation.
Copilot/chat fallback:
same intent workflow in chat output.
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:
gaps
definition issues
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.
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.
Monitors context window health during large, long-running, multi-session, or explicitly…
Control-plane workflow for coordinating multi-agent, multi-session project work from a single…
[Beta] CI-only eval regression runner using gh-aw (GitHub Agentic Workflows). Runs all eval…
[Beta] Creates permanent eval cases from promoted learnings and runs regression checks…
[Beta] CI-only learning aggregation workflow using gh-aw (GitHub Agentic Workflows). Scans…
[Beta] Cross-session analysis of accumulated .learnings/ files. Reads all entries, groups by…