pluginpack: Instructions file for Claude Code

CLAUDE.md

pluginpack CLAUDE.md is an instructions file for Claude Code from gleanwork/pluginpack. It costs 1,909 tokens per session, scanned A, original, MIT.

A guide to pluginpack, a build tool that turns one portable collection of coding-agent extensions into the file layouts expected by different AI applications. It handles items such as skills, commands, rules, hooks and tool servers.

In plain words
What is it for?
Building, testing, linting, packaging and validating agent plugins, then regenerating their command-line documentation.
Why use it?
It avoids maintaining separate plugin copies and manifests for every supported application.

Instructions file for Claude Code

Written for Claude Code: the file is CLAUDE.md. Also seen: mentions .claude-plugin; mentions AGENTS.md; mentions Codex.

This is gleanwork/pluginpack's own configuration. It tells Claude Code how to work on pluginpack itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything pluginpack configures →

Reuse

Borrowing it

Nothing to install: this file belongs to gleanwork/pluginpack. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/gleanwork/pluginpack/main/CLAUDE.md
Clone the repo
git clone --depth 1 https://github.com/gleanwork/pluginpack

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for pluginpack CLAUDE.md

README.md
[![agentmods](https://agentmods.dev/badge/instructions/gleanwork/pluginpack/claude-md/github.svg)](https://agentmods.dev/instructions/gleanwork/pluginpack/claude-md)
Your own site
<a href="https://agentmods.dev/instructions/gleanwork/pluginpack/claude-md"><img src="https://agentmods.dev/badge/instructions/gleanwork/pluginpack/claude-md/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for pluginpack CLAUDE.md

Your own site · 80×15
<a href="https://agentmods.dev/instructions/gleanwork/pluginpack/claude-md"><img src="https://agentmods.dev/badge/instructions/gleanwork/pluginpack/claude-md.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 1,909 This file is loaded in full into every session.
When invoked 1,909 The same file — it is already loaded in full.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
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.1 $0.01909 $0.01909
Opus 5.5 $0.00764 $0.00764
Sonnet 5.5 $0.00382 $0.00382
Haiku 4.5 $0.00191 $0.00191

Measured 15d ago against content hash 5909b46decf8, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

pluginpack CLAUDE.md 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 15d 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.

CLAUDE.md · 129 lines

How it starts

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

pluginpack — agent guide

pluginpack compiles one source of portable agent plugins (skills, agents, commands, rules, hooks, MCP servers, assets, metadata) into the native plugin layouts each AI app expects. It is a build tool: it copies files, writes the manifests each target needs, and validates the result. It is not a package manager or publisher.

Commands

  • npm run dev -- <args> — run the CLI from source (tsx src/cli.ts).
  • npm test — vitest. A pretest hook builds first, because the conformance tests run the real built binary (dist/cli.js) via bintastic.
  • npm run check — the full gate (test:all): format:check → lint → typecheck → test → build → docs. Run this before considering work done.
  • npm run audit — npm audit --omit=dev, also run in CI. Scoped to production dependencies on purpose: devDependencies (eslint, test fixtures, etc.) never ship in the published package, so a vulnerability there isn't a risk to consumers — don't add fixes/overrides for dev-only findings.
  • npm run build — bundle with tsup.
  • After changing CLI commands/options, regenerate the README CLI reference with node dist/cli.js docs (the gate's docs --check fails if it is stale).

Node >= 22.12.0 (the engines floor in package.json, verified in CI against that exact version), ESM, moduleResolution: nodenext, strict: true. Local dev tooling (mise.toml) pins Node 24, but that's a dev-environment choice, not the supported floor.

Architecture

Data flows: config → discover source → collect/render files → emit per target → artifact (in-memory file map) → write / prune / validate / diff. The Artifact (a Map<path, contents> plus managedPaths) is the seam — dry-run, diff, prune, and validate all derive from it.

  • src/cli.ts — commander CLI: init, build, validate, diff, prune, clean, install-info, docs.
  • src/schema.ts — zod schemas are the source of truth for config types; authoring types use z.input, and parsed config uses z.infer. The build materializes these aliases as structural declarations without a Zod type dependency. Edit schemas here, not types.ts.
  • src/types.ts — non-config types; re-exports the config types from schema.ts.
  • src/components.ts — componentDirs + staticFiles (shared by render/config).
  • src/config.ts — loadConfig (jiti loads pluginpack.config.ts) and legacy 0.10 source-plugin discovery during the migration window.
  • src/source.ts — reads canonical direct shared/<plugin> sources, applies target overrides, packages mcp/, and retains the legacy filesystem source provider.
  • src/render.ts — legacy collectPluginFiles/resolveMcpServers composition.
  • src/partials.ts — loadPartials/resolvePartials: project-level {{> name}} text-reuse, wired into collectPluginFiles and withRootFiles. Substitution is real mustache rendering (view is always {} — no config/env data is ever exposed; this is not a general templating hook), but only ever sees partial tags: every other {{ is swapped for a sentinel first and restored after, so text that merely looks like a template survives byte-for-byte. An unresolvable tag is a build error, not an empty string. Also holds two checks mustache doesn't provide — circular partial reference detection at load time, and findUnsubstitutedPartialTags, the guard for tags in file types substitution skips (called from build() and, reading from disk, from validate).
  • src/targets/registry.ts — targets: Record<TargetName, PluginTargetDefinition>, one file per target (src/targets/<name>.ts). Everything that varies by target — default components, manifest/marketplace builders, output paths, validation, install snippet — lives on that target's own PluginTargetDefinition (src/targets/types.ts).
  • src/targets/engine.ts — emitFromDefinition/validateFromDefinition: the one emit/validate engine every target runs through, driven by its PluginTargetDefinition. Also withRootFiles (injects per-target repo-root files into the artifact).
  • src/targets/validation-shared.ts — validators shared across targets whose shape actually matches (bare-string marketplace source, hooks.json shape, frontmatter conventions); a target with a genuinely different shape (e.g. Codex's structured source) writes its own instead of forcing a fit.
  • src/adapters.ts — emitTarget/validateOutput/targetNames, thin wrappers around the registry + engine.
  • src/build.ts — build(): emit all targets → assertNoCrossTargetCollisions → write/prune/manifest. Holds the delete guard.
  • src/managed.ts — the managed-file manifest (.pluginpack/<target>.json), prune/clean, the delete guard, and path-safety checks.
  • src/diff.ts — diffTarget: build to a temp dir and compare against an existing target repo (the CI staleness gate).

Read the full file on GitHub · 129 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. 15d ago Changed · +7 lines · +119 tokens per session 5909b46decf8
  2. 18d ago Changed · +4 lines · +100 tokens per session 1691a101d462
  3. 23d ago Changed · +2 lines · +14 tokens per session 24bdc849a5a0
  4. 2mo ago First seen · 116 lines · 1,676 tokens per session scan A ba60a53cd996

Subscribe to this mod's changes

pluginpack CLAUDE.md is an instructions file published in the GitHub repository gleanwork/pluginpack (5 stars, last pushed 6d ago), licensed MIT. It adds 1,909 tokens to every session, about $0.0076 per session on Opus 5.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-31.

Related

pluginpack CLAUDE.md compared with instructions from other repositories

pluginpack CLAUDE.md next to 6 instructions from other repositories
ModTypeStarsLast pushLicenceScanTokensWorks with
pluginpack CLAUDE.mdgleanwork/pluginpackInstructions file56d agoMITA1,909Claude Code
vscode buildNext.instructions.mdmicrosoft/vscodeInstructions file195kyesterdayMITA9,719GitHub Copilot
next.js AGENTS.mdvercel/next.jsInstructions file143kyesterdayMITA7,461Codex, OpenCode
langchain AGENTS.mdlangchain-ai/langchainInstructions file149kyesterdayMITA4,680Codex, OpenCode
vscode oss-third-party-notices.instructions.mdmicrosoft/vscodeInstructions file195kyesterdayMITA5,516GitHub Copilot
vscode copilot-instructions.mdmicrosoft/vscodeInstructions file195kyesterdayMITA3,093GitHub Copilot
deepseek-harness AGENTS.mddeepseek-ai/deepseek-harnessInstructions file274k2d agoMITA4,313Codex, OpenCode