agent-session-friction

Analyzes agent session transcripts to record measured codebase friction observations.

1|Updated Mar 26, 2026
One-click install
npx skills add https://github.com/arndvs/ctrlshft --skill agent-session-friction-arndvs
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: agent-session-friction
Source: https://github.com/arndvs/ctrlshft/tree/main/skills/agent-session-friction
Command: npx skills add https://github.com/arndvs/ctrlshft --skill agent-session-friction-arndvs

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? When an AI coding agent struggles in a repository, the evidence of why disappears with the session. Teams guess at which codebase problems actually cost time, and static analysis can only infer difficulty rather than measure it. This Skill converts completed session transcripts into structured friction observations with quantified cost, so repo improvements are ranked by real measured waste instead of intuition. ## Core Features & Use Cases - Transcript-Based Signal Detection: Walks each session episode against a catalogue of friction signals (wasted reads, search churn, repair loops, silent failures) and records each as observed, clean, or not-applicable. - Measured Cost Attribution: Counts wasted tool calls, unused file reads, and estimated tokens per signal, and distinguishes repo-caused friction from agent-caused mistakes using explicit attribution tests. - Observation Store and Consolidation: Emits JSONL records per session into a .friction/ store, which a weekly consolidation step groups by fingerprint, ranks by total cost, and promotes only patterns seen across multiple sessions. - Use Case: After a week of agent runs, consolidate the friction store to discover that one ambiguously named type caused nine failed searches across six sessions costing roughly 154k tokens, then file that as a ranked, evidence-backed finding. ## Quick Start Ask the agent to audit the transcript of the session that just finished and record any friction observations with measured cost into the friction store.

Frequently Asked Questions about agent-session-friction

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I audit an AI agent session for codebase friction?▼

Run the audit at session end: split the transcript into per-objective episodes, check each friction signal from the catalogue, and record observed, clean, or not-applicable dispositions with measured cost. Observations go into a per-session JSONL file rather than being filed as issues.

What friction signals should I look for in an agent transcript?▼

Key signals include wasted file reads, repeated failed searches, long orientation before the first edit, repair loops with uninformative test failures, and instrumentation added just to diagnose behavior. Each signal maps to a lens such as naming, structure, verification, or logging.

Why does the skill record clean signals instead of only problems?▼

Clean records provide the denominator needed to compute a friction rate per fingerprint. Without them you cannot distinguish a fixed problem from one that simply did not occur, and you can never close a finding with evidence.

When should friction observations become issues in the repo?▼

Only after consolidation, never from a single session. A fingerprint is promoted when it has three or more observed occurrences across at least two distinct sessions, which prevents one unlucky run from generating noise.

How does the audit distinguish repo problems from agent mistakes?▼

Each signal has an attribution test asking whether a competent engineer new to the repo would hit the same wall. Agent-side issues like re-reading known files or ignoring obvious documentation are discarded, since false findings erode trust in the audit.

What are the limitations of transcript-based friction analysis?▼

Signals can only be measured if the transcript records the relevant data, such as tool calls or exit statuses; missing capabilities are marked not-measurable rather than clean. It also cannot detect friction in code paths no agent has touched yet.