monorepo-script-commands

monorepo-script-commands is a skill for Cursor from movahedan/monobun. It costs 74 tokens per session (1,014 once invoked), scanned A, original, MIT.

A set of conventions for building Bun command-line scripts in a monorepo, a repository that contains multiple related projects. It covers subcommands, argument handling, progress displays, and quiet output.

In plain words
What is it for?
Adding or refactoring local, development, production, post-install, and other repository command scripts.
Why use it?
It keeps developer scripts consistent and prevents interactive and quiet modes from duplicating the same logic.

Skill for Cursor

Written for Cursor: installed under .cursor/.

Good fit Adding or refactoring local, development, production, post-install, and other repository command scripts.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/movahedan/monobun/monorepo-script-commands
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.

Any agent
npx skills add movahedan/monobun --skill monorepo-script-commands
Clone the repo
git clone --depth 1 https://github.com/movahedan/monobun

Made for: Cursor.

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 monorepo-script-commands

README.md
[![agentmods](https://agentmods.dev/badge/skills/movahedan/monobun/monorepo-script-commands/github.svg)](https://agentmods.dev/skills/movahedan/monobun/monorepo-script-commands)
Your own site
<a href="https://agentmods.dev/skills/movahedan/monobun/monorepo-script-commands"><img src="https://agentmods.dev/badge/skills/movahedan/monobun/monorepo-script-commands/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 monorepo-script-commands

Your own site · 80×15
<a href="https://agentmods.dev/skills/movahedan/monobun/monorepo-script-commands"><img src="https://agentmods.dev/badge/skills/movahedan/monobun/monorepo-script-commands.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 74 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,014 The whole file, excluding the scripts and references it only reads on demand.
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.00074 $0.01014
Opus 5.5 $0.00030 $0.00406
Sonnet 5.5 $0.00015 $0.00203
Haiku 4.5 $0.00007 $0.00101

Measured 2mo ago against content hash 642702995b1a, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

monorepo-script-commands 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 2mo 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.

.cursor/skills/monorepo-script-commands/SKILL.md · 66 lines

How it starts

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

Monorepo script commands (Bun + Ink)

When to use

  • New multi-subcommand script (for example bun tools/scripts/foo/index.tsx wired as bun run foo from root package.json).
  • Long-running flows that should show per-step progress without spamming logs.
  • Mixing Ink UI with child process stdout (install, turbo, biome).

Layout

Piece Location
Entry + routing tools/scripts/<area>/index.tsx (#!/usr/bin/env bun, thin main)
Help + subcommand guard tools/scripts/<area>/help.tsx — validate subcommand, printHelpAndExit
Each subcommand tools/scripts/<area>/<name>.tsx — exports run* entry used from index
Shared Ink + helpers tools/scripts/shared/step-progress.tsx, tools/scripts/shared/render-and-exit.tsx, tools/scripts/shared/format-cli-error.ts

Keep one canonical step list per flow; do not fork “quiet” vs “interactive” logic beyond wrapping.

Arg parsing

  • Use parseArgs from node:util with args: [...rest], strict: true, and typed options.
  • Bun.argv.slice(2) → sub = argv[0], rest = argv.slice(1) for flags after the subcommand.

Step progress (Ink)

  1. Define getXxxSteps(...): readonly StepProgressStep[] using a closure object (for example state) so each step’s run can depend on prior results.

  2. Wrap UI in StepProgressApp from tools/scripts/shared/step-progress.tsx with a child component that does:

    const resolveSteps = useCallback(() => getXxxSteps(deps), [deps]);

  3. Completed lines: Ink <Static> so finished steps stay fixed; live row = spinner + dim current label (marginTop when there is at least one completed line). Do not use full-terminal height unless a footer must pin to the bottom of the screen.

  4. Subprocess output: render(..., { stdout: process.stderr }) so tool output stays on stdout and does not fight the Ink buffer. Prefer renderAndExit from tools/scripts/shared/render-and-exit.tsx (defaults to stdout: process.stderr, waitUntilExit, unmount, printCliError + process.exit(1) on failure — message only, no Bun stack trace).

  5. Top-level failures: use printCliErrorAndExit from tools/scripts/shared/format-cli-error.ts in index.tsx .catch() handlers; never console.error(error) with an Error instance.

Read the full file on GitHub · 66 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. 2mo ago First seen · 66 lines · 74 tokens per session scan A 642702995b1a

Subscribe to this mod's changes

monorepo-script-commands is a skill published in the GitHub repository movahedan/monobun (18 stars, last pushed today), licensed MIT. It adds 74 tokens to every session and 1,014 once invoked, about $0.0003 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-30.

Related

monorepo-script-commands compared with skills from other repositories

monorepo-script-commands next to 6 skills from other repositories
ModTypeStarsLast pushLicenceScanTokensWorks with
monorepo-script-commandsmovahedan/monobunSkill18todayMITA74Cursor
erlang-otp-behaviorsbenchflow-ai/skillsbenchSkill1.9k2d agoApache-2.0A52Claude Code, Codex
omh-rustrlaope/oh-my-hermesSkill5.2ktodayMITA74Claude Code, Codex
axiom-concurrencyCharlesWiltgen/AxiomSkill1.3kyesterdayMITA49Claude Code
tddcodewithmukesh/dotnet-claude-kitSkill8052d agoMITA81Claude Code
splitting-oversized-modulesPostHog/posthogSkill41kyesterdaynoneA197Claude Code, Codex
precisemicroprediction/preciseSkill3385d agoMITA76Claude Code, Codex