Skip to content
← All concepts

Paper Compute Concept

Skill Extraction

Every working agent session contains a solved problem. Skill extraction is the step that lifts that solution out of the session record and into a skill a team can review, edit, and reuse.

Published June 26, 2026· Updated August 4, 2026
SkillsSkill ExtractionAgentsWorkflow

Definition

Skill extraction is the process of reading a recorded agent session and producing a skill — the trigger, tool sequence, decisions, and troubleshooting that helped the session succeed — so the pattern can be reviewed, versioned, and reused on later runs instead of rediscovered.

Skill extraction is the step that turns a recorded agent session into a reusable skill: the procedure, the tool sequence, the decisions, and the known fixes that helped that session succeed, lifted into a skill you can review and reuse. In the continuous agent improvement loop, extraction is the move between capturing a session and applying what it taught — the point where a one-time result becomes something a later run can reuse instead of rediscovering.

Quick breakdown

Extraction is a transformation. Each part of a recorded session maps to a part of the resulting skill.

What extraction reads, and what it writes
Recurring symptom → TriggerThe error or task type that started the session becomes a signal for when the skill applies.
Successful tool calls → ProcedureThe ordered calls that resolved the task become the skill's recommended steps.
Branch after an error → Decision pointA choice the agent made based on observed state becomes a documented decision.
Error and the fix that cleared it → TroubleshootingSymptom, likely cause, and fix become a reusable lookup.
Source sessions → ProvenanceThe skill records which sessions it came from and that it was AI-generated, so its origin is auditable.

What a recorded session contains that extraction reads

Extraction is only as good as the session record under it. A useful record is the full trajectory of a run rather than a summary written afterward. It holds the prompts, the model responses, the tool calls and their arguments, the errors returned, the fixes attempted, and the outcome, captured as the run happened.

Extraction reads what already worked in a session, instead of guessing what should work next time.

This is the practical difference between a skill and a prompt. A prompt is written from intent. A skill is drafted from a decision trail that already produced a result. The session record is the evidence, and extraction is the step that turns that evidence into something reusable.

What skill extraction keeps and what it discards

A raw session is mostly noise. The job of extraction is to keep the part that generalizes and drop the part that was specific to one run.

Signal versus noise in a session
Kept (tends to generalize)Discarded (run-specific)
The tool sequence that resolved the taskTimestamps and wall-clock timing
Error signatures and the fixes that cleared themCredentials and secrets, redacted at capture
Decision branches based on observed stateOne-off literal values unique to that run
Conditions that say when the skill appliesConversational filler that did not change the path
Inputs that materially changed the outcomeDead ends the session already superseded

The hard part is the boundary. Keep too much and the skill only fires on the exact session it came from. Keep too little and the skill is a vague suggestion. Good extraction leans toward the procedure and the decisions, and away from the literals.

How to generate a skill from a recorded session

Skill generation runs from a recorded session: paperctl skill generate <session-id> from the terminal, or open the session in paper console and choose Generate Skill. The server runs extraction over the session and publishes the resulting skill to your organization’s library immediately. Review it right after — read it, adjust it, and publish the updated version, or remove it if it does not belong.

Session to skill
Recorded session (captured by paperctl)
prompts · tool calls · errors · fixes · outcome
          │
          ▼
 paperctl skill generate  ·  console: Generate Skill
 (server runs extraction over the session)
          │
          ▼
 Skill, published to the org library
 ├── type: workflow | prompt-template | domain-knowledge
 ├── procedure, decisions, troubleshooting
 ├── originating sessions + AI-generated flag
 └── version (immutable; edits publish a new one)
          │
          ▼
 Review and edit  →  updated version

A generated skill carries structure beyond its text. It has a type — a workflow, a prompt template, or domain knowledge — so the library can tell procedures apart from reference material. It records the sessions it was generated from and that it was AI-generated, which keeps its origin traceable. And it is versioned from the moment it is generated: each version is immutable, edits publish a new one, and older versions stay browsable.

Why a generated skill is a starting point, not a finished skill

Extraction produces a starting point. Trust is a separate, human decision.

A generated skill is a starting point a person reviews, not a verdict the team adopts on its own.

Two failure modes make the review step matter. First, a session can look successful without being so: the agent declared victory, but the fix was incidental, and extracting from it would bake in a pattern that does not hold. Second, an over-fit skill captures literals that should have been general, so it quietly breaks the first time the inputs differ. Because generation publishes the skill to the library immediately, both are caught by a person reading it soon after it lands — editing it into shape, or removing it — rather than by a gate in front of the library.

How skill extraction differs from prompt engineering

Both produce instructions for an agent. They differ in where the instructions come from.

Drafted from a run versus authored from intent
Prompt engineeringSkill extraction
Starts from what you think should workStarts from a session that already worked
Iterated by trial against live runsDrafted from a recorded trajectory
Often omits the error paths you did not anticipateCan include the errors the session hit, with fixes
Tends to live as text maintained by handLives as a versioned artifact, re-derivable from new sessions

The two are complementary. You might prompt-engineer your way to a working session, then extract a skill so the next run does not have to repeat the search.

How Paper Compute extracts skills from sessions

paperctl records each session as a durable, queryable archive. paperctl skill generate — or Generate Skill in paper console — runs extraction over a recorded session and publishes the skill to your organization’s library, where you review and edit it right after. The result is a structured artifact with a type, a version, and a record of the sessions it came from. From there it belongs to your skill library, where review and versioning govern it like any other shared asset. stereOS is where a skill runs safely when applying it involves executing code.

Extraction is the step that keeps a solved problem from being solved twice. Capture makes it possible; review makes it trustworthy.

Frequently asked questions

What is skill extraction?+
Skill extraction is the process of reading a recorded agent session and producing a skill that captures the procedure, tool sequence, decisions, and known fixes that helped the session succeed. The generated skill is reviewed and edited soon after it lands, so a one-time success can become a trustworthy reusable artifact.
How do you extract a skill from a session?+
In paper console, open a recorded session and choose Generate Skill — or run paperctl skill generate <session-id> from the terminal. Generation publishes the skill to your org's library immediately; review and edit it right after, and edits publish a new version. The skill records which sessions it came from and that it was AI-generated, so its origin stays traceable.
Does extraction need a successful session?+
It works best on one. Extraction reads the path that resolved the task, so a session that genuinely succeeded tends to produce a cleaner skill. Because a session can appear to succeed for the wrong reason, an extracted skill is reviewed soon after it lands, before the team leans on it.
What does extraction leave out of a session?+
Extraction aims to keep the reusable procedure and drop run-specific noise: timestamps, one-off literal values, redacted credentials, and conversational filler that did not change the path. The goal is a skill that generalizes to the class of task rather than replaying one exact session.
Can skill extraction be fully automated?+
The generation step is automated; trust is intentionally not. Because generation publishes the skill to the library immediately, teams review each generated skill soon after it lands, like a change to a shared artifact — skills adopted without review can propagate a pattern nobody validated.

Where to go next