37 more small tools

Libraries, CLIs, lint rules, GitHub Actions and agent plugins. All MIT, all on GitHub; most are on npm.

11

LLM and agent libraries

trimchat

npm 0.1.0

Trim chat history to a token budget without breaking it: keeps system prompts and tool call/result pairs. OpenAI, Anthropic and AI SDK messages.

npm i trimchat

msgtrim

npm 0.1.0

Trim LLM chat history to a token budget while keeping it valid to send to the API.

npm i msgtrim

streamcut

npm 0.1.0

Split streaming LLM output into sentences or Markdown blocks the moment each one is complete. For TTS, live translation and chunked rendering.

npm i streamcut

sentstream

npm 0.1.1

A streaming sentence splitter for LLM output: emits complete sentences and Markdown blocks as soon as they finish.

npm i sentstream

toolshape

npm 0.2.0CLI

Convert LLM tool definitions between OpenAI, Anthropic, Gemini and MCP formats, with the schema fixes each one needs.

npm i toolshape

llm-json-mend

npm 0.3.0

Repair broken, partial or Markdown-fenced JSON from LLM output and validate it against Zod or any Standard Schema.

npm i llm-json-mend

llm-tally

npm 0.1.0CLI

Estimate tokens and API cost for OpenAI, Anthropic Claude and Google Gemini models. Typed, with a CLI.

npm i llm-tally

llm-memo

npm 0.1.0

Cache LLM API calls on disk or in memory, so tests and dev loops stop paying for repeat calls. Streams included.

npm i llm-memo

llm-replay

npm 0.1.0

Record and replay LLM API calls in tests, like VCR but built for model APIs.

npm i -D llm-replay

mock-llm-server

npm 0.2.0CLI

A fake OpenAI- and Anthropic-compatible API with scripted replies, tool calls, errors and streaming, for testing agents without API keys.

npm i -D mock-llm-server

injection-scan

npm 0.1.0CLI

Flag prompt-injection attempts in tool results, web pages and files before an AI agent reads them.

npm i injection-scan

02

Prompt linting

lint-prompts

npm 0.1.0CLIGitHub Action

Lint prompt template files before they ship: unfilled {{variables}}, duplicate instructions, token budgets, broken JSON, unclosed tags. CLI, library and GitHub Action.

npm i -D lint-prompts

promptlinter

ESLint for your prompts: catches unclosed {{tags}}, misspelled variables, unbalanced sections, leaked keys and leftover placeholders.

Not on a registry: see the README.

06

Env and config

envshape

npm 0.1.0CLI

Validate environment variables and get a fully typed config object back, with helpful errors.

npm i envshape

envgap

npm 0.1.0CLI

See what’s missing between .env, .env.example and your GitHub Actions secrets, and sync them.

npx envgap

@acus9345/env-parity

npm 0.1.1

The shared core that fails the build or dev-server start when a variable from .env.example is missing or empty.

npm i -D @acus9345/env-parity

vite-plugin-env-parity

npm 0.2.0

Vite plugin that fails your build when a variable from .env.example is missing or empty. Zero config.

npm i -D vite-plugin-env-parity

env-parity-plugin

npm 0.3.1

The same check for Webpack, Rspack, Rollup, Rolldown, Astro and Next.js builds.

npm i -D env-parity-plugin

eslint-plugin-env-example

npm 0.1.0

ESLint rules that catch environment variables your code reads but .env.example doesn’t list.

npm i -D eslint-plugin-env-example

05

Code quality and releases

export-sweep

npm 0.1.0CLI

Find exports nobody imports in TypeScript and JavaScript projects, plus files nothing uses.

npx export-sweep

changelog-zero

npm 0.1.0CLI

Changelog generator for Conventional Commits: groups commits, picks the next version, updates CHANGELOG.md and package.json.

npx changelog-zero

eslint-plugin-boolean-trap

npm 1.0.0

ESLint rules that catch the boolean trap: positional true/false arguments and boolean parameters that make call sites unreadable.

npm i -D eslint-plugin-boolean-trap

stale-todo

GitHub Action

GitHub Action that finds TODO, FIXME and HACK comments older than N days with git blame, with a job summary and PR annotations.

uses: acus9345/stale-todo@v1

lockfile-diff-action

GitHub Action

GitHub Action that comments on pull requests with a readable summary of lockfile changes: added, removed and upgraded packages, and install size.

uses: acus9345/lockfile-diff-action@v1

08

Agent guardrails and skills

Plugins for DeepSeek Harness (dsh) and a skill for Claude Code.

haiku-delegate

Claude Code

Claude Code skill that hands mechanical steps to Haiku subagents and verifies their results.

/plugin install haiku-delegate --marketplace acus9345/haiku-delegate

dsh-guard-pack

Nine DeepSeek Harness guard plugins in one installable set: secret-leak blocking, a per-session cost cap, formatting after edits and more.

Not on a registry: see the README.

dsh-protect-tests

npm 0.2.3

Blocks agent edits that weaken tests, such as .skip, deleted or watered-down assertions.

dsh plugin --profile web add dsh-protect-tests

dsh-protect-generated-files

npm 0.2.3

Stops agents hand-editing lockfiles and generated code, and tells them how to regenerate instead.

dsh plugin --profile web add dsh-protect-generated-files

dsh-load-agent-rules

npm 0.2.3

Loads the Cursor, Copilot, Windsurf and other AI rule files your repo already has.

dsh plugin --profile web add dsh-load-agent-rules

dsh-enforce-package-manager

npm 0.2.3

Stops agents using the wrong package manager (npm vs pnpm, pip vs uv) and gives them the right command.

dsh plugin --profile web add dsh-enforce-package-manager

dsh-block-placeholder-edits

npm 0.2.3

Refuses edits where “// ... existing code ...” placeholders would delete real code.

dsh plugin --profile web add dsh-block-placeholder-edits

dsh-block-hanging-commands

npm 0.2.3

Stops agents running shell commands that wait for input or never exit.

dsh plugin --profile web add dsh-block-hanging-commands

05

Small utilities

json-safe

npm 0.1.0

JSON.stringify that never throws: circular references, BigInt, Map, Set, Error with cause, throwing getters and more.

npm i json-safe

retry-jitter

npm 0.1.1

Retry async functions with exponential backoff, jitter and AbortSignal support. Typed, ESM + CJS.

npm i retry-jitter

strictemit

npm 0.1.0

A tiny, fully typed event emitter with once, wildcards, AbortSignal, waitFor() and async iteration.

npm i strictemit

@acus9345/tinydur

npm 0.2.0CLI

A tiny duration parser and formatter (“1h 30m” ↔ ms), with a CLI.

npm i @acus9345/tinydur

csv2json-mini

npm 0.2.0CLI

A tiny, dependency-free CSV to JSON converter with a CLI.

npx csv2json-mini data.csv