project-guardrails

project-guardrails is a skill for Claude Code from AssemblyAI/blurt. It costs 49 tokens per session (1,979 once invoked), scanned A, original, MIT.

A set of settled engineering rules for Blurt that records architectural decisions the project should not accidentally reintroduce. It covers code, audio capture, builds, and tests, with some rules checked automatically.

In plain words
What is it for?
Load it before changing Blurt's engine, app, build, or test code so new work follows the project's established constraints.
Why use it?
It prevents previously rejected approaches from returning during later changes. This reduces repeated design debates and catches violations through the project's health checks.

Skill for Claude Code

Written for Claude Code: user-invocable in frontmatter. Also seen: mentions AGENTS.md.

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/assemblyai/blurt/project-guardrails
Any agent
npx skills add AssemblyAI/blurt --skill project-guardrails
Clone the repo
git clone --depth 1 https://github.com/AssemblyAI/blurt

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 project-guardrails

README.md
[![agentmods](https://agentmods.dev/badge/skills/assemblyai/blurt/project-guardrails.svg)](https://agentmods.dev/skills/assemblyai/blurt/project-guardrails)
Your own site
<a href="https://agentmods.dev/skills/assemblyai/blurt/project-guardrails"><img src="https://agentmods.dev/badge/skills/assemblyai/blurt/project-guardrails.svg" alt="Measured on agentmods" height="20"></a>
Per session 49 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,979 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.1 $0.00049 $0.01979
Opus 5 $0.00024 $0.00989
Sonnet 5 $0.00010 $0.00396
Haiku 4.5 $0.00005 $0.00198

Measured 6d ago against content hash 7fcb76ea629e, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-06, from the pricing page.

Security

Grade A, and why

project-guardrails 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 6d 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/skills/project-guardrails/SKILL.md · 131 lines

How it starts

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

Blurt guardrails

These are settled decisions. Don't reintroduce them; if a task seems to require one, stop and ask the user first. This is the fast "don't" list; AGENTS.md's "Settled decisions" table is the fuller reference and the source of truth.

Many of these are also enforced mechanically — scripts/check-invariants.sh (run by check.sh, including --portable) greps for the constructs that give each one away, so reintroducing one fails the health check rather than depending on this list being read. Those rules also pin a verbatim slice of the bullet they come from in this file, so rewording or deleting one fails the gate until someone decides whether the rule survives the edit — edit these entries knowing that, and fix the anchor in the same change. Treat that as a backstop, not the boundary: the rules it can't express are still here, still binding, and the reasons in this file are what let you tell an intended exception from a mistake. Never silence a finding with // invariant-ok: to get a build green — that marker is for a line that is genuinely correct, and reaching for it means it's time to stop and ask.

Audio

  • No AVAudioEngine / installTap capture path. MicCapture builds a fresh AVCaptureSession recorder per capture (CaptureSessionRecorder; owner-directed move from AVAudioRecorder, 2026-08-25) — a long-lived engine bound its input graph to one device and went stale on a mic↔built-in switch (-10868, all-zero buffers), so no recorder survives across a device change. Keep the data output converting to 16 kHz mono 16-bit S16LE (the Sync API's geometry), captured straight to memory so stop() returns upload-ready bytes with no resample pass.
  • Don't pre-open the mic to make presses feel faster. MicCapture.warmUp() is stateless on purpose — build a session, drop it — and there is no warm or prepared recorder to reuse. Measured on hardware: building a session (or the retired prepareToRecord()) leaves the device closed and costs ~15 ms, while record()'s startRunning() opens it and costs 180–600 ms, so nothing can pre-pay the bring-up. A warm-recorder lifecycle was tried, and its device-identity check, pin check, 60 s expiry and bring-up flag all existed to protect ~15 ms. If you want the press to feel faster, the liveness gate's polling is where the remaining latency actually is.

Read the full file on GitHub · 131 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. 6d ago First seen · 131 lines · 49 tokens per session scan A 7fcb76ea629e

Subscribe to this mod's changes

project-guardrails is a skill published in the GitHub repository AssemblyAI/blurt (5 stars, last pushed yesterday), licensed MIT. It adds 49 tokens to every session and 1,979 once invoked, about $0.0002 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-31.

Related

Other skills, from other repositories

scarf-miniapp-author

Author a Scarf mini-app — a small sandboxed web surface (HTML/CSS/JS) that renders inside a project's cockpit and talks to the bound Hermes session + project data through the versioned window.scarf bridge. Use to build a bespoke panel (a task board, an approval queue, a chart, a data table) for a project.

awizemann/scarf · 78 tokens

awesome-swift-macos-apps-docs

Use when adding, updating, or validating app entries in the awesome-swift-macos-apps repository, especially when maintaining both README.md and README.zh.md with concise one-sentence descriptions, correct category placement, and consistent bilingual formatting.

jaywcjlove/awesome-swift-macos-apps · 57 tokens

capture-usage4claude-screenshots

Automate Usage4Claude interface screenshots with CleanShot X on macOS. Use when Codex needs to capture localized Usage4Claude menu-bar popover screenshots, switch Usage4Claude display/language settings, save files such as [email protected], or troubleshoot CleanShot/window-capture automation that depends on…

f-is-h/Usage4Claude · 97 tokens

macos-harness

Control a whole Mac from one persistent Python session with screenshots, PID-targeted input, an animated virtual pointer, targeted Apple Accessibility, Apple Events, Browser Harness CDP, and filesystem access. Use for native, Electron, browser, dialog, file, or cross-app tasks without moving the physical cursor or…

browser-use/macos-harness · 71 tokens

repo-build-pr

End-to-end implementation loop for the os-clovy repo: study the prompt, ask the clarifying questions that change what gets built, plan and architect on the session model while delegating bulk implementation and review to cheaper strong models, isolate work in git worktrees, validate with deterministic checks plus…

open-software-network/os-clovy · 177 tokens

os-accounts-integration

Integrate consumer apps, Tauri desktop clients, or backend services with OS Accounts, the Open Software identity and credit-billing platform. Use when adding Login with Open Software, PKCE callback handling, /me, access-token verification with JWKS/ES256, auth middleware for Hono/Fastify/Express/Rust, top-up links…

open-software-network/os-clovy · 156 tokens