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.
npx agentmods add skills/luiseiman/dotforge/scout-reposnpx skills add luiseiman/dotforge --skill scout-reposgit clone --depth 1 https://github.com/luiseiman/dotforgeWrote 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/skills/luiseiman/dotforge/scout-repos)<a href="https://agentmods.dev/skills/luiseiman/dotforge/scout-repos"><img src="https://agentmods.dev/badge/skills/luiseiman/dotforge/scout-repos.svg" alt="Measured on agentmods" 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.00028 | $0.01014 |
| Opus 5 | $0.00014 | $0.00507 |
| Sonnet 5 | $0.00006 | $0.00203 |
| Haiku 4.5 | $0.00003 | $0.00101 |
Grade B, and why
scout-repos scanned grade B 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 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.
Reads agent configuration directoriesmediumAgent snooping
.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.
gh api repos/{owner}/{repo}/contents/.claude/settings.json --jq '.content' | base64 -d 2>/dev/null How it starts
The opening of the file, as written. The whole thing — 130 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Scout Repos
Review curated public repos for Claude Code configuration patterns worth adopting.
Step 0: Discover tools
WebFetch and WebSearch are deferred tools — they may not be loaded yet.
Run ToolSearch("WebFetch WebSearch") to ensure both tools are available before proceeding.
Step 1: Load sources
Read $DOTFORGE_DIR/practices/sources.yml. Build a list of repos with their focus areas.
Step 2: Fetch each repo's config
For each source, use gh CLI to fetch their Claude Code configuration files:
# Fetch CLAUDE.md
gh api repos/{owner}/{repo}/contents/CLAUDE.md --jq '.content' | base64 -d 2>/dev/null
# Fetch .claude/ directory listing
gh api repos/{owner}/{repo}/contents/.claude --jq '.[].name' 2>/dev/null
# Fetch specific files
gh api repos/{owner}/{repo}/contents/.claude/settings.json --jq '.content' | base64 -d 2>/dev/null
gh api repos/{owner}/{repo}/contents/.claude/rules --jq '.[].name' 2>/dev/null
If gh fails (rate limit, private repo), try WebFetch on the raw GitHub URL:
https://raw.githubusercontent.com/{owner}/{repo}/main/CLAUDE.md
https://raw.githubusercontent.com/{owner}/{repo}/main/.claude/settings.json
If both fail, skip the repo and note it in the report.
Step 3: Analyze patterns
For each repo's config, extract patterns in the source's focus areas:
Hooks
- New hook event/matcher combinations not in dotforge
- Novel blocking logic (different from block-destructive or lint-on-save)
- Hook chaining patterns
Settings
- Deny list entries we don't have
- Permission patterns (granular vs wildcard)
- Hook wiring approaches
Rules
- Globs patterns we don't use
- Rule content structure (frontmatter fields, sections)
- Cross-file rule dependencies
Agents
- Agent definitions with novel roles
- Memory policies different from ours
- Orchestration patterns
Commands/Skills
- Custom commands we could generalize
- Skill structures with novel step patterns
Step 4: Compare against dotforge
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.
- 6d ago First seen · 130 lines · 28 tokens per session scan B 2bbd44c1dead
scout-repos is a skill published in the GitHub repository luiseiman/dotforge (8 stars, last pushed 2mo ago), licensed MIT. It adds 28 tokens to every session and 1,014 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it B with 1 finding (reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
factory-db-migration
The operational discipline for running a destructive change against a production database — schema migrations, data backfills, one-shot RPCs, historical seed imports. Adjacent to factory-data-layer.md (schema design) and factory-deployment.md (where migrations execute in CI) — this skill is about the runbook around…
factory-api
API conventions for both server actions and tRPC builds. Covers the decision between them, per-mutation Zod input schemas, central router composition, pagination shape, multi-field search via Drizzle ilike + or(), mutation lifecycle hooks, conditional query enabling, stale-time defaults, error response shape and…
scaffold
Set up or align a non-code ops/PM repo with the ops folder structure, CLAUDE.md, and INDEX.md hierarchy.
factory-auth
Auth and authorization conventions distilled across builds with three different auth stacks (Better Auth + orgs, Supabase Auth + RLS, Clerk). Covers the provider decision matrix, the unified wrapper interface (requireAuth / requireRole / withOrgContext), procedure tier stacking, session handling, OAuth callback…
factory-ci
CI and pull-request review conventions. One canonical .github/workflows/ci.yml is the merge gate (typecheck, lint, test, build, claude-review); branch protection's required-checks list matches the job list 1:1; anthropics/claude-code-action@v1 reviews every PR against the factory-pitfalls.md checklist as a required…
factory-data-layer
Database schema, ORM, and migration conventions across builds. Drizzle as default with domain-partitioned schema modules, shared timestamps helper, multi-tenancy keys with cascade delete, pgTableCreator prefixing, JSONB for flexible attributes, schema-derived type exports, polymorphic table patterns, ESLint Drizzle…