TAU-HOME.COM
LOADING

Autoharness: Open-Source Claude Code Plugin That Learns and Maintains Skills from Real Sessions

An overview of Autoharness, an open-source Claude Code plugin that distills reusable skills from real sessions, merges overlapping workflows, and archives unuse

tau · October 8, 2026

#ClaudeCode #DevTools #Autoharness #AgentSkills #OpenSource

Autoharness: Open-Source Claude Code Plugin That Learns and Maintains Skills from Real Sessions

Developed by Tigerless Labs, Autoharness (v0.5.3) is an MIT-licensed open-source plugin for Claude Code that observes a developer's real working sessions to distill and maintain reusable agent skills automatically. Operating without offline benchmark loops or persistent background daemons, it captures lessons from completed coding episodes and lands them as native skills under .claude/skills/.

Architecture and session-monitoring workflow diagram of Autoharness self-learning skill plugin for Claude Code

Image source: tigerless-labs / GitHub

Created to resolve the dual challenges of tedious manual skill authoring and prompt context pollution caused by near-duplicate skill files, Autoharness provides an autonomous self-learning skill layer. Instead of continually accreting fragmented prompts, it consolidates related scenarios into umbrella skills and actively archives workflows that fall out of use.

Session-Driven Skill Distillation and Four-Stage Decoupled Architecture

The defining technical characteristic of Autoharness is a decoupled pipeline that stays off the host agent's critical execution path.

The plugin bundles Python automation hooks and lightweight components integrated into Claude Code's lifecycle events, adding an overhead of only about 77 tokens per session for its manifest bundle.

  • Capture Hooks: Record host turns and tool invocations across session lifecycles, redacting sensitive transcript data prior to storage.
  • Reflector (REF): Triggers at episode boundaries based on a configurable turn window. It evaluates the most recent N-turn window—including full tool I/O—alongside a compressed summary of prior turns against the existing skill index to propose actions (add, merge, patch, or delete). Crucially, the reflector operates strictly as a proposer with no file-system write privileges.
  • Promoter: Serves as the sole component authorized to write to disk. It lints proposed skill intents in memory for safety, structural integrity, and self-authored provenance, then performs an atomic rename into .claude/skills/.
  • Lifecycle Manager (MNG): Operates daemon-free via lazy evaluation executed once at the start of a session, recalculating skill usage rates and handling lifecycle transitions.
  • On-Demand Distillation (/learn): In addition to automated background cadences, developers can run /learn in the terminal to immediately distill the current session's learnings through the same validation chain.

Preventing Skill Accretion: Merging Duplicates, Strict Isolation, and Lifecycle Archiving

When coding agents generate their own prompts and skills, they risk cluttering the context window with repetitive files or unintentionally altering user-defined rules. Autoharness enforces strict boundaries to keep the skill catalog orderly.

  • Grouping and Folding Over Accretion: When an episode reflects an existing workflow, Autoharness merges the new pattern into an umbrella skill instead of generating a near-duplicate file. Merges log which skill absorbed which to prevent confusion over retired files.
  • Strict Self-Authored Isolation: The plugin only modifies or archives skills bearing its own self-authored ledger marker. User-authored skills and third-party installed skills in .claude/skills/ remain completely untouched.
  • Append-Only Sidecar Ledgers (.sidecar.json): Every generated skill maintains a companion JSON ledger documenting creation rationale, concrete session evidence, and reflection watermarks for complete auditability.
  • Probation Gates and Capacity Archiving: Newly minted skills enter a probation window (AUTOHARNESS_MATURITY_PROJECT, default 100 requests). Skills that see zero adoption across probation are moved to .claude/skills/.archive/. Mature graduates that survive probation face archiving only when the total pool exceeds the capacity limit (AUTOHARNESS_CAPACITY_PROJECT, default 50 mature skills), retiring the least frequently utilized skills first.

Configuration Parameters and Operational Considerations

All runtime behavior in Autoharness is configured via AUTOHARNESS_* environment variables:

  • AUTOHARNESS_REFLECT_EVERY_N: Sets the reflection cadence. While some social media posts cited a 50-tool-call default, the official repository defaults to 10 host turns. Lower values speed up learning but spawn more background reflection sessions.
  • AUTOHARNESS_MATURITY_PROJECT: The probation window threshold for new skills in the project layer (default: 100 requests).
  • AUTOHARNESS_CAPACITY_PROJECT: The upper limit for mature skills in the project layer (default: 50).

Teams evaluating the plugin should also account for key trade-offs. Background reflection runs launch auxiliary Claude Code sessions, leading to higher API token consumption. Furthermore, if an agent adopts a temporary, suboptimal workaround to bypass an error, it risks institutionalizing that bad habit into a permanent skill without human oversight.

Consequently, rather than relying on viral marketing claims such as the reported jump from 42% to 78% on CORE-Bench circulating on social media (@RoundtableSpace), teams should treat Autoharness as an in-use adherence system and periodically audit .sidecar.json ledgers. The plugin requires Python 3 standard library and supports Claude Code on Linux and macOS environments.

Sources