Agent skill

Pp Loops

by mvanhorn in mvanhorn/printing-press-library

Agent guide for the Loops Printing Press CLI, including safe team selection, previews, and lifecycle checks.

Apache-2.0Auto-check: notes

Install Pp Loops

skills CLI
$ npx skills add mvanhorn/printing-press-library --skill pp-loops -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install mvanhorn/printing-press-library pp-loops --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/mvanhorn/printing-press-library.git skills-src && mkdir -p .claude/skills && cp -r skills-src/cli-skills/pp-loops .claude/skills/pp-loops && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
pp-loops
GitHub stars
2.1k
Token cost
~1.4k tokens
SKILL.md length
576 words
Files
1
Skills in repo
505
Repo updated
First seen
Licence
Apache-2.0

At a glance

Agent guide for the Loops Printing Press CLI, including safe team selection, previews, and lifecycle checks.

  • Works in 3 steps: Install via the Printing Press… → Verify: loops-pp-cli --version → Ensure the reported install directory is…
  • SKILL.md covers Prerequisites: Install the CLI, Safe sequence, Useful agent commands and Verification, plus 1 more section
  • Calls go and npx; needs LOOPS_API_KEY and SYNTHETIC_KEY

What it does

Pp Loops is an agent skill from mvanhorn/printing-press-library. Agent guide for the Loops Printing Press CLI, including safe team selection, previews, and lifecycle checks.

Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

The repository describes itself as: Official library of CLIs generated by the CLI Printing Press. Endorsed, tested, and community-contributed. The licence is Apache-2.0.

Example prompts

  • “/pp-loops”

Requirements

  • Node.js
  • A credential in LOOPS_API_KEY
  • A credential in SYNTHETIC_KEY
  • Pre-approved tools (allowed-tools): Read, Bash

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Install via the Printing Press installer. It defaults binaries to $HOME/.local/bin on macOS/Linux and…
  2. Verify: loops-pp-cli --version
  3. Ensure the reported install directory is on $PATH for the agent/runtime that will invoke this skill.

What it can do on your machine

Read from SKILL.md and the folder at commit 0fdcc7a. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Bash

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • go
    • npx

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • loops.so

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • LOOPS_API_KEY
    • SYNTHETIC_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Pp Loops loads about 1.4k tokens when it runs. Until then it costs about 29 tokens; SKILL.md has 576 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~29
When it runs · the whole SKILL.md, loaded when a task matches
~1.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Read, Bash

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from mvanhorn/printing-press-library at commit 0fdcc7a, republished under its Apache-2.0 licence (© mvanhorn). 576 words, ~1,397 tokens.

Download SKILL.mdSave it as .claude/skills/pp-loops/SKILL.md (or your agent's skills folder).
name
pp-loops
description
Agent guide for the Loops Printing Press CLI, including safe team selection, previews, and lifecycle checks.
allowed-tools
Read, Bash
author
Cathryn Lavery
license
Apache-2.0
argument-hint
<command> [args]
<!-- GENERATED FILE — DO NOT EDIT.
     This file is a verbatim mirror of library/marketing/loops/SKILL.md,
     regenerated post-merge by tools/generate-skills/. Hand-edits here are
     silently overwritten on the next regen. Edit the library/ source instead.
     See the repository agent guide, section "Generated artifacts: registry.json, cli-skills/". -->

Loops CLI agent guide

Inspect COMMANDS.md for every command's effect, then call the specific command's --help. Use the installed binary or go run ./cmd/loops-pp-cli from a source checkout.

Prerequisites: Install the CLI

This skill drives the loops-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:
    bash
    npx -y @mvanhorn/printing-press-library install loops --cli-only
  2. Verify: loops-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 (no Node, offline, etc.), fall back to a direct Go install (requires Go 1.26.6 or newer). This installs into $GOPATH/bin (default $HOME/go/bin), so add that directory to $PATH instead:

bash
go install github.com/mvanhorn/printing-press-library/library/marketing/loops/cmd/loops-pp-cli@latest

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.

This CLI covers all 68 operations in the Loops API and adds agent-safe team verification, lifecycle inventory, and campaign preflight checks. It previews writes with private values redacted and requires explicit execution for sends and changes.

Safe sequence

  1. Run loops-pp-cli --version and loops-pp-cli doctor --dry-run --json. The dry doctor makes no network request and sends no email.
  2. Select a Loops credential through LOOPS_API_KEY or private local credential storage. Keep different teams' credentials and profiles separate. For account-specific work, run team verify --team 'Expected Team' --agent before reads; read-only checks may use LOOPS_EXPECTED_TEAM instead. Every mutation verifies the exact API team again and still requires an explicit --team flag.
  3. Use --agent --no-learn --no-cache and --select for minimal JSON output and local retention. contacts find --agent omits identity fields by default. Do not place contact values in teach/recall queries, logs, receipts, source, fixtures, or public descriptions.
  4. Inspect a mutation's default redacted preview. Use --execute --team 'Expected Team' only after reviewing the target and effect. Sends also need --confirm-send and an explicit --idempotency-key; campaign publication, suppression removal, and deletes need their respective confirmation flags. --yes does not bypass these gates.
  5. After any uncertain send result, inspect Loops before taking further action. The local journal blocks reusing that team/key automatically. A definite 429 can be retried later with the same key. Never create a fresh key merely to bypass a duplicate warning.
Show full SKILL.md (201 more words)Show less

Useful agent commands

sh
loops-pp-cli audit lifecycle --team 'Synthetic Team' --agent
loops-pp-cli campaigns preflight --id SYNTHETIC_CAMPAIGN_ID --team 'Synthetic Team' --agent
loops-pp-cli contacts find --email person@example.test --agent --data-source live --no-cache
printf '%s' '{"eventName":"synthetic_event","email":"person@example.test"}' | loops-pp-cli events --stdin --idempotency-key SYNTHETIC_KEY --agent

The final command previews a send with synthetic data; it does not send. Real recipient payloads should be supplied through stdin or a private file. The complete API surface includes contacts, lists, segments, campaigns, metrics, event patterns, workflows, transactional email, message content, themes, components, and uploads. Loops does not expose a bulk contacts list: sync, export, and tail exclude contacts. Use contacts find with an explicit identifier. Product usage cohorts require another approved source such as PostHog. Keep PostHog and Loops credentials separate and do not infer first use until product events exist.

Verification

Local tests use mock HTTP servers. Read-only team verification and lifecycle auditing have passed against a live account without recording account details. A controlled test send remains unverified and requires separate explicit approval.

Unique Capabilities

These capabilities aren't available in any other tool for this API.

  • team verify — Verify the selected API team before a change, preview writes without private values, and journal send attempts.

    bash
    loops-pp-cli team verify --agent
  • audit lifecycle — Count communication resources without retrieving contact records.

    bash
    loops-pp-cli audit lifecycle --agent
  • campaigns preflight — Check draft status, audience targeting, message presence, and Guardian findings before publication.

    bash
    loops-pp-cli campaigns preflight --latest-draft --agent

© mvanhorn, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in cli-skills/pp-loops of mvanhorn/printing-press-library.

Open the folder on GitHubat commit 0fdcc7a

Compare with similar skills

Pp Loops next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Pp Loops compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Pp Loops this skillmvanhorn/printing-press-library2.1k—~1.4kAutomated safety check: NotesApache-2.0
Loopalirezarezvani/claude-skills28k2 repos~1.1kAutomated safety check: PassMIT
Autonomous Loopsaffaan-m/ECC275k4 repos~5.8kAutomated safety check: PassMIT
Loopasgeirtj/system_prompts_leaks69k—~2.2kAutomated safety check: WarnCC0-1.0
Loop Design Checkaffaan-m/ECC275k1 repos~2.9kAutomated safety check: PassMIT
Recurring Prompt LoopQwenLM/qwen-code28k—~2.5kAutomated safety check: PassApache-2.0

Similar skills

  • Loop

    alirezarezvani/claude-skills

    Start an autonomous experiment loop with user-selected interval (10min, 1h, daily, weekly, monthly).

    28k GitHub starsUsed in 2 repos~1.1k tokens
    Agent WorkflowsAuto-check passed
  • Autonomous Loops

    affaan-m/ECC

    Patterns and architectures for autonomous Claude Code loops — from simple sequential pipelines to RFC-driven multi-agent DAG systems.

    275k GitHub starsUsed in 4 repos~5.8k tokens
    Agent WorkflowsAuto-check passed
  • Loop

    asgeirtj/system_prompts_leaks

    Run a prompt or slash command on a recurring interval (e.g. An agent skill from asgeirtj/system_prompts_leaks.

    69k GitHub stars~2.2k tokensUpdated today
    Agent WorkflowsAuto-check: warnings
  • Loop Design Check

    affaan-m/ECC

    Design a goal-oriented agent loop or review one for failure modes: spinning, Goodhart-gaming the verifier, or running a wrong answer to completion.

    275k GitHub starsUsed in 1 repo~2.9k tokens
    Agent WorkflowsAuto-check passed
  • Recurring Prompt Loop

    QwenLM/qwen-code

    Runs a prompt now and repeats it on a fixed interval or through self-paced wakeups, with subcommands to list or clear scheduled loop jobs.

    28k GitHub stars~2.5k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Autopilot Loop

    ruvnet/ruflo

    Run an autonomous /loop iteration -- check progress, work on next task, schedule next wake

    74k GitHub stars~356 tokensUpdated today
    Agent WorkflowsAuto-check passed

More from mvanhorn/printing-press-library

All 505 skills in this repo
  • Agent Desktop

    mvanhorn/printing-press-library

    Desktop automation through the real Rust agent-desktop CLI, published in Printing Press through a small bridge.

    2.1k GitHub stars~2.3k tokensUpdated yesterday
    Auto-check: notes
  • Gfonts

    mvanhorn/printing-press-library

    Search, browse, and download Google Fonts from the terminal via the gfonts CLI.

    2.1k GitHub stars~574 tokensUpdated yesterday
    Auto-check passed
  • Pp 1688

    mvanhorn/printing-press-library

    The free, offline Trigger phrases: search 1688 for, find a factory on 1688 for, wholesale price on 1688 for, who is the cheapest supplier on 1688 for, compare 1688 suppliers for, use 1688, run 1688.

    2.1k GitHub stars~3k tokensUpdated yesterday
    Auto-check: notes
  • Pp Activity Japan

    mvanhorn/printing-press-library

    Inspect known Activity Japan plan IDs or URLs, compare dated prices and sessions, check language-sitemap coverage, and hand off to canonical booking pages.

    2.1k GitHub stars~2k tokensUpdated yesterday
    Auto-check: notes
  • Pp Adminbyrequest

    mvanhorn/printing-press-library

    Every Admin By Request portal action, plus a local SQLite mirror of audit, events, inventory and requests for ad-hoc...

    2.1k GitHub stars~3.3k tokensUpdated yesterday
    Auto-check: notes
  • Pp Agent Capture

    mvanhorn/printing-press-library

    macOS screen capture, window recording, GIF conversion, and agent evidence bundles from the terminal.

    2.1k GitHub stars~1.6k tokensUpdated yesterday
    Auto-check: notes

Questions about Pp Loops

What does Pp Loops do?

Agent guide for the Loops Printing Press CLI, including safe team selection, previews, and lifecycle checks. Pp Loops is an agent skill from mvanhorn/printing-press-library. Agent guide for the Loops Printing Press CLI, including safe team selection, previews, and lifecycle checks.

How do I install Pp Loops in Claude Code?

Run `npx skills add mvanhorn/printing-press-library --skill pp-loops -a claude-code`. Or copy the skill folder (cli-skills/pp-loops in mvanhorn/printing-press-library) into .claude/skills/pp-loops in your project. Claude Code loads it when a task matches its description.

How do I install Pp Loops in Codex?

Run `npx skills add mvanhorn/printing-press-library --skill pp-loops -a codex`. Or copy the skill folder (cli-skills/pp-loops in mvanhorn/printing-press-library) into .agents/skills/pp-loops in your project. Codex loads it when a task matches its description.

Can I use Pp Loops in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add mvanhorn/printing-press-library --skill pp-loops -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/pp-loops, .gemini/skills/pp-loops, .github/skills/pp-loops and .opencode/skills/pp-loops in your project.

What does Pp Loops need to run?

Going by SKILL.md and its folder, Pp Loops needs the command-line tools its instructions call (go and npx) and credentials named LOOPS_API_KEY and SYNTHETIC_KEY. Our summary lists: Node.js; A credential in LOOPS_API_KEY; A credential in SYNTHETIC_KEY. Its frontmatter pre-approves these tools: Read, Bash.

Does Pp Loops access the network?

SKILL.md names 1 domain. As links in the text: loops.so. This is read from the text; nothing was executed.

Is Pp Loops safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Pp Loops use?

Pp Loops is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Pp Loops use?

About 1.4k tokens (SKILL.md is roughly 5.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Pp Loops?

Skills that share tags, products or a category with Pp Loops: Loop (alirezarezvani/claude-skills, 28k stars), Autonomous Loops (affaan-m/ECC, 275k stars), Loop (asgeirtj/system_prompts_leaks, 69k stars) and Loop Design Check (affaan-m/ECC, 275k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Pp Loops?

mvanhorn (a GitHub user) maintains it in mvanhorn/printing-press-library, which has 2,053 GitHub stars. The repository holds 505 skills in this directory. The repository was last updated on October 7, 2026.

Source: mvanhorn/printing-press-library on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.