Borrowing it
Nothing to install: this file belongs to engseclabs/trailtool. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/engseclabs/trailtool/main/CLAUDE.mdgit clone --depth 1 https://github.com/engseclabs/trailtoolWrote 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/instructions/engseclabs/trailtool/claude-md)<a href="https://agentmods.dev/instructions/engseclabs/trailtool/claude-md"><img src="https://agentmods.dev/badge/instructions/engseclabs/trailtool/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.
<a href="https://agentmods.dev/instructions/engseclabs/trailtool/claude-md"><img src="https://agentmods.dev/badge/instructions/engseclabs/trailtool/claude-md.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.01035 | $0.01035 |
| Opus 5.5 | $0.00414 | $0.00414 |
| Sonnet 5.5 | $0.00207 | $0.00207 |
| Haiku 4.5 | $0.00103 | $0.00103 |
Grade A, and why
trailtool 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 7d 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.
How it starts
The opening of the file, as written. The whole thing — 90 lines — stays where its author put it; the contents beside it link to each section on GitHub.
TrailTool
Go CLI for querying precomputed CloudTrail data. Entrypoint: cmd/trailtool/main.go.
Build & Test
go build ./cmd/trailtool/ # build
go test ./... # test
AWS_PROFILE=sandbox-admin AWS_REGION=us-east-1 go run ./cmd/trailtool/ status # smoke test
Releasing
Releases are automated via goreleaser + GitHub Actions. Pushing a semver tag triggers the workflow.
git tag v0.X.0
git push origin v0.X.0
This will:
- Build linux/darwin binaries (amd64 + arm64)
- Create a GitHub release with archives
- Update the Homebrew tap (
engseclabs/homebrew-tap) - Publish the ingestor and both forwarders to the Serverless Application Repository (see below)
Users install/upgrade via brew install engseclabs/tap/trailtool.
Config: .goreleaser.yaml, .github/workflows/release.yaml.
Serverless Application Repository
The same tag publishes ingestor/template.yaml as trailtool-ingestor,
ingestor/template-forwarder.yaml as trailtool-cloudtrail-forwarder, and
ingestor/template-otlp-forwarder.yaml as trailtool-otlp-forwarder to the AWS
Serverless Application Repository (account 843363563907), so consumers can nest
them with AWS::Serverless::Application. Each SAR listing lives in its template's
Metadata: AWS::ServerlessRepo::Application block. Each gets the tag's version
with the v stripped (v1.2.0 → 1.2.0). SAR versions are immutable, so
publish-sar skips a version that already exists, which makes a failed job safe
to re-run. sar-public sets each application policy to Principals='*', which
is what makes it publicly listed.
The serverless-app-repo job is skipped unless these repository variables are
set (Settings → Secrets and variables → Actions → Variables), so tags keep
working in forks and before SAR is configured:
| Variable | Purpose |
|---|---|
SAR_S3_BUCKET |
Bucket holding the packaged artifacts. Its policy must let serverlessrepo.amazonaws.com read it — make -C ingestor sar-bucket-policy SAR_BUCKET=… prints the statement. |
SAR_PUBLISH_ROLE_ARN |
Role assumed through GitHub OIDC. Needs s3:PutObject on that bucket plus serverlessrepo:CreateApplication, serverlessrepo:CreateApplicationVersion, serverlessrepo:UpdateApplication, serverlessrepo:ListApplicationVersions and serverlessrepo:PutApplicationPolicy. |
SAR_REGION |
Optional; defaults to us-east-1. |
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.
- 7d ago Changed · +1 lines · +34 tokens per session b646a1e92bff
- 12d ago Changed · +1 lines · +35 tokens per session 81e7cded8909
- 13d ago Changed · +31 lines · +425 tokens per session 550476fdf90d
- 2mo ago First seen · 57 lines · 541 tokens per session scan A 6e8e81c65162
trailtool CLAUDE.md is an instructions file published in the GitHub repository engseclabs/trailtool (45 stars, last pushed 7d ago), licensed Apache-2.0. It adds 1,035 tokens to every session, about $0.0041 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.
trailtool CLAUDE.md compared with instructions from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| trailtool CLAUDE.mdengseclabs/trailtool | Instructions file | 45 | 7d ago | Apache-2.0 | A | 1,035 | Claude Code |
| vscode buildNext.instructions.mdmicrosoft/vscode | Instructions file | 195k | today | MIT | A | 9,719 | GitHub Copilot |
| next.js AGENTS.mdvercel/next.js | Instructions file | 143k | yesterday | MIT | A | 7,461 | Codex, OpenCode |
| vscode oss-third-party-notices.instructions.mdmicrosoft/vscode | Instructions file | 195k | today | MIT | A | 5,649 | GitHub Copilot |
| langchain AGENTS.mdlangchain-ai/langchain | Instructions file | 149k | today | MIT | A | 4,680 | Codex, OpenCode |
| vscode copilot-instructions.mdmicrosoft/vscode | Instructions file | 195k | today | MIT | A | 3,093 | GitHub Copilot |
| vscode ai-customization.instructions.mdmicrosoft/vscode | Instructions file | 195k | today | MIT | A | 1,907 | GitHub Copilot |