pp-learn-loop-example

A command-line example of a self-learning loop: a workflow that can use feedback from earlier runs to improve later behavior. It demonstrates the generated structure for a skill that declares learning steps.

In plain words
What is it for?
Use it as an example when examining or building a command-line skill with teaching, feedback, and recalculation steps.
Why use it?
It gives developers a reference for how a learning-enabled command-line skill is organized. The input does not provide enough detail to say what the example specifically learns or changes.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/mvanhorn/cli-printing-press/learn-loop-example
Any agent
npx skills add mvanhorn/cli-printing-press --skill learn-loop-example
Clone the repo
git clone --depth 1 https://github.com/mvanhorn/cli-printing-press

Made for: Claude Code, Codex.

Per session 25 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 5,528 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00025 $0.05528
Opus 5 $0.00013 $0.02764
Sonnet 5 $0.00005 $0.01106
Haiku 4.5 $0.00003 $0.00553

Measured 2d ago against content hash 06564587ffa3, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

pp-learn-loop-example scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

testdata/golden/expected/generate-learn-loop-api/learn-loop-example/SKILL.md · 409 lines

How it starts

The opening of the file, as written. The whole thing — 409 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Learn Loop Example — Printing Press CLI

Prerequisites: Install the CLI

This skill drives the learn-loop-example-pp-cli binary. You must verify the CLI is installed before invoking any command from this skill. If it is missing, install it first:

  1. Install via the Printing Press installer. It defaults binaries to $HOME/.local/bin on macOS/Linux and %LOCALAPPDATA%\Programs\PrintingPress\bin on Windows:
    npx -y @mvanhorn/printing-press-library install learn-loop-example --cli-only
    
  2. Verify: learn-loop-example-pp-cli --version
  3. Ensure the reported install directory is on $PATH for the agent/runtime that will invoke this skill.

If the npx install fails before this CLI has a public-library category, install Node or use the category-specific Go fallback after publish.

If --version reports "command not found" after install, the runtime cannot see the binary directory on $PATH. Do not proceed with skill commands until verification succeeds.

Golden fixture exercising the spec-declared self-learning loop. Demonstrates the shape every printed CLI gets when its spec declares a learn: block: the generator emits internal/learn/* subpackages, the teach/recall/learnings commands, the v3 store schema additions, and the self-learning sections in README.md / SKILL.md / AGENTS.md.

The underlying resource surface mirrors the sync-walker fixture (top-level games + walker-fanned-out leagues) so the emitted shape covers the typical multi-file CLI alongside the learn package. Identifiers in the learn block are intentionally neutral (EXAMPLE-* ticker, ALPHA/BRAVO entities) so the scripts/verify-learn-purity.sh gate cannot trip on this fixture.

When Not to Use This CLI

Do not activate this CLI for requests that require creating, updating, deleting, publishing, commenting, upvoting, inviting, ordering, sending messages, booking, purchasing, or changing remote state. This printed CLI exposes read-only commands for inspection, export, sync, and analysis.

Read the full file on GitHub · 409 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 409 lines · 25 tokens per session scan A 06564587ffa3

Subscribe to this mod's changes

pp-learn-loop-example is a skill published in the GitHub repository mvanhorn/cli-printing-press (4,601 stars, last pushed today), licensed MIT. It adds 25 tokens to every session and 5,528 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

foundry-lens

Runs a multi-pass research method that deliberately catches its own blind spots — a shallow first pass, a forced structural self-diagnosis, then corrected and inverted passes. Use when mapping a product's full feature set, tearing down a competitor, doing exhaustive documentation research, or any time a first answer…

waveriderai/cli-type-foundry · 112 tokens

foundry-capture

Guides the user through capturing an app's network traffic on Android, iOS, desktop, or web, and exporting it as HAR for analysis. Use when a teardown needs network evidence, when the user asks how to see what an app is talking to, or when intake reports network-surface as missing. Triggers on "capture traffic", "how…

waveriderai/cli-type-foundry · 113 tokens

foundry-cast

Turns a teardown matrix into a reconstructed OpenAPI specification, and optionally generates a CLI from it. Detects specifications that already exist on disk so a spec cast in an earlier session can be pressed into a CLI without redoing any analysis. Triggers on "cast the spec", "generate the OpenAPI", "now build the…

waveriderai/cli-type-foundry · 92 tokens

foundry-intake

Collects and confirms the artifacts for a teardown before any analysis begins — asks what the user has, classifies each file, reports which analysis dimensions are covered, and gets explicit approval. Use at the start of any reverse-engineering or app-teardown task. Triggers on "tear down this app", "here is the APK"…

waveriderai/cli-type-foundry · 97 tokens

type-foundry

Reverse-engineers a closed application into a feature spec, a reconstructed OpenAPI specification, and optionally a CLI — starting from an APK, IPA, EXE, DMG, HAR traffic capture, or docs. Use when the target has no published API and Printing Press has nothing to work from. Triggers on "tear down this app", "reverse…

waveriderai/cli-type-foundry · 122 tokens

lathe

Initialize CLI-first applications and keep their OpenAPI contract, generated CLI, and Agent Skill synchronized. Use when creating an application with lathe init or changing a Lathe-generated application.

lathe-cli/lathe · 39 tokens