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.
git clone --depth 1 https://github.com/stackhawk/agent-skillsWrote 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.
[](https://agentmods.dev/rules/stackhawk/agent-skills/stackhawk-api)<a href="https://agentmods.dev/rules/stackhawk/agent-skills/stackhawk-api"><img src="https://agentmods.dev/badge/rules/stackhawk/agent-skills/stackhawk-api/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.
<a href="https://agentmods.dev/rules/stackhawk/agent-skills/stackhawk-api"><img src="https://agentmods.dev/badge/rules/stackhawk/agent-skills/stackhawk-api.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00137 | $0.02444 |
| Opus 5.5 | $0.00055 | $0.00978 |
| Sonnet 5.5 | $0.00027 | $0.00489 |
| Haiku 4.5 | $0.00014 | $0.00244 |
Grade A, and why
stackhawk-api scanned grade A with 1 finding 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 1mo 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.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
install it and run `hawk init --browser` rather than hand-rolling curl. How it starts
The opening of the file, as written. The whole thing — 215 lines — stays where its author put it; the contents beside it link to each section on GitHub.
StackHawk API Skill
This skill enables Claude to act as a security reporting agent against the StackHawk platform. The core workflow is:
Question → Authenticate → Query API via hawk op → Present Results → Suggest Next Actions
All platform queries run through the hawk binary's op subtree
(hawk op …). It authenticates, refreshes tokens, follows pagination, and
emits stable JSON. There is no raw-REST fallback — if hawk is unavailable,
install it and run hawk init --browser rather than hand-rolling curl.
See references/hawk-op-shortcuts.md.
Step 1: Assess Context
Before making any calls, check what's available:
-
Is
hawkinstalled and configured? (hawk versionreports v6.0.0 or greater)# Identify the driving skill for CLI usage telemetry (read by hawk/hawkop). export _STACKHAWK_SKILL=api command -v hawk >/dev/null && hawk op status- valid org + JWT → proceed.
- installed but unconfigured →
hawk init --browser(interactive; the combined binary has nohawk op init—hawk initwrites~/.hawk/hawk.properties, whichhawk opreads along with theHAWK_API_KEYenv var). - not installed → instruct the user to install the
hawkCLI (docs: docs.stackhawk.com) and stop; do not fall back to curl.
-
Is
hawk opauthenticated? For interactive local use,hawk init --browserstores credentials in~/.hawk/hawk.properties— no env var needed for interactive sessions. Verify:hawk op statusAny non-interactive session (CI, containers, headless agents): set
HAWK_API_KEY.hawk opreads it directly — no config file, no browser. -
Is
orgIdknown? Required for most endpoints.hawk op org getreturns the active org UUID.hawk op org set <ID>switches the default org.
-
Route based on user intent:
User says... Go to... "What's my security posture?" or "dashboard" Step 3 (org summary) "Tell me about [app]'s findings" or "what needs attention" Step 4 (app deep dive) "What apps haven't been scanned recently?" Step 3 with stale-app focus "What changed since last week?" or "what's new" Step 4 with diff recipe "Show me untriaged findings" Step 3, then drill into Step 4 for flagged apps
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.
- 1mo ago Changed · +3 lines 85c0bada37fa
- 1mo ago First seen · 212 lines · 137 tokens per session scan A 5290dd533edd
stackhawk-api is a cursor rule published in the GitHub repository stackhawk/agent-skills (16 stars, last pushed 8d ago), licensed MIT. It adds 137 tokens to every session and 2,444 once invoked, about $0.0005 per session on Opus 5.5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other cursor rules, from other repositories
ponytail
Ponytail, lazy senior dev mode. Always pick the simplest solution that works.
angular-20
This rule provides comprehensive best practices and coding standards for Angular development, focusing on modern TypeScript, standalone components, signals, and performance optimizations.
dev-standard
Apache Superset development standards and guidelines for Cursor IDE.
prefer-assertions-over-defensive-checks
Prefer assertions over defensive checks when data is guaranteed to be valid.
prefer-direct-imports-over-module-mocks
Prefer extracting a testable core over vi.mock / vi.resetModules when unit tests need to reach production logic entangled with config, env, or singletons.
config-validation-and-normalization
Config validation and normalization responsibilities (defineConfig normalizes, the orm section schema validates and resolves paths, the loader reports per-section diagnostics).