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 skills add cosmix/loom --skill loom-skillsgit clone --depth 1 https://github.com/cosmix/loomWrote 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/cosmix/loom/loom-skills)<a href="https://agentmods.dev/skills/cosmix/loom/loom-skills"><img src="https://agentmods.dev/badge/skills/cosmix/loom/loom-skills/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/skills/cosmix/loom/loom-skills"><img src="https://agentmods.dev/badge/skills/cosmix/loom/loom-skills.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium Agent Snooping · line 10 Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.Fix: Remove all code or instructions that list or read other skills' files or directories. Skills should operate independently; cross-skill access is a privilege escalation.
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.00039 | $0.01590 |
| Opus 5 | $0.00019 | $0.00795 |
| Sonnet 5 | $0.00008 | $0.00318 |
| Haiku 4.5 | $0.00004 | $0.00159 |
Grade A, and why
loom-skills 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 5d 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 — 105 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Loom Skills Catalog Loader
Overview
Nine loom mechanics skills stay installed into ~/.codex/skills/, indexed by
Codex with their description: kept resident in every request. The other
fifty-three domain skills install instead into
~/.codex/loom-skill-catalog/<name>/SKILL.md — a directory Codex does not scan,
so they cost nothing resident. This skill is the bridge: it loads one of those
catalogued skills on demand.
How to Load
Invoked with an argument, read ~/.codex/loom-skill-catalog/<argument>/SKILL.md
in full with cat or, for a long file, with
sed -n '<first>,<last>p', then follow it as if it had been loaded directly.
The argument is the full skill name, for example loom-rust.
Several names may be passed at once, separated by whitespace or commas, for
example loom-ci-cd loom-rust. Split the argument and load EACH name by the
rules below, in the order given. Never treat the whole string as one skill
name — ~/.codex/loom-skill-catalog/loom-ci-cd loom-rust/SKILL.md is not a
path that can exist, and reporting it as a missing catalog is wrong.
If a name's path does not exist, try ~/.codex/skills/<name>/SKILL.md — an
install made with --skills all keeps every skill in the indexed directory
and has no catalog directory at all.
If neither path exists for a name, say which name did not resolve and continue
with the ones that did. Report the catalog as not installed ONLY when
~/.codex/loom-skill-catalog/ is itself absent AND the name is missing from
~/.codex/skills/ — a single unresolved name means a bad name, not a broken
install.
Invoked with no argument, show the table below and pick the skill that fits the task.
Catalog
| Skill | Summary |
|---|---|
loom-accessibility |
Web accessibility, WCAG compliance, inclusive design |
loom-api-design |
Designs REST/GraphQL/RPC APIs for consistency and scale |
loom-api-documentation |
OpenAPI/Swagger docs, auth flows, SDK guides |
loom-argocd |
GitOps CD for Kubernetes with Argo CD |
loom-auth |
OAuth2/JWT/RBAC auth patterns, sessions, MFA |
loom-background-jobs |
Job queues, scheduled jobs, worker pools, retries |
loom-caching |
Caching strategies: cache-aside, TTL, stampede prevention |
loom-ci-cd |
CI/CD pipelines across GitHub Actions, GitLab, Jenkins |
loom-code-migration |
Safe code migrations, framework upgrades, codemods |
loom-concurrency |
Concurrency/async patterns across Rust, Python, TS, Go |
loom-crossplane |
Crossplane infra-as-code on Kubernetes APIs |
loom-database-design |
Schema/data model design: relational, NoSQL, warehouse |
loom-data-validation |
Schema validation, input sanitization, output encoding |
loom-data-visualization |
Charts, dashboards, and reports across domains |
loom-dependency-scan |
Scans dependencies for CVEs, license issues, SBOM |
loom-diagramming |
Mermaid diagrams: architecture, sequence, ERD, C4 |
loom-docker |
Dockerfiles, compose, multi-stage builds, hardening |
loom-documentation |
READMEs, architecture docs, changelogs, ADRs |
loom-e2e-testing |
E2E testing with Playwright, Cypress, Selenium |
loom-error-handling |
Error handling: Result/Option, retries, circuit breakers |
loom-event-driven |
Event-driven: queues, pub/sub, event sourcing, sagas |
loom-feature-flags |
Feature flags: rollouts, A/B tests, kill switches |
loom-fluxcd |
GitOps CD for Kubernetes with Flux CD |
loom-git-workflow |
Git branching, commits, merges, conflict resolution |
loom-golang |
Idiomatic Go: goroutines, channels, testing, modules |
loom-grafana |
Grafana dashboards, panels, LogQL/TraceQL queries |
loom-i18n |
i18n/l10n: translations, locale formatting, RTL |
loom-istio |
Istio service mesh: mTLS, routing, canary, Envoy |
loom-karpenter |
Karpenter node autoscaling and cost optimization |
loom-kubernetes |
K8s manifests, Helm, RBAC, operators, troubleshooting |
loom-kustomize |
Kustomize overlays, patches, ConfigMap/Secret gen |
loom-logging-observability |
Structured logging, tracing, metrics, alerting |
loom-model-evaluation |
ML model evaluation: metrics, CV, drift monitoring |
loom-performance-testing |
Load/perf testing with k6, locust, JMeter, Gatling |
loom-prometheus |
PromQL, scrape configs, alerting/recording rules |
loom-prompt-engineering |
LLM prompt design: few-shot, security |
loom-python |
Idiomatic Python: FastAPI, Django, pandas, pytest |
loom-rate-limiting |
Rate limiting: token/leaky bucket, quotas, Redis |
loom-react |
React 19+ SPAs: hooks, Jotai, routing, Bun/Vite/Oxc |
loom-refactoring |
Restructures code without changing behavior |
loom-rust |
Idiomatic Rust: ownership, async/tokio, cargo, serde |
loom-search |
Full-text search: Elasticsearch, OpenSearch, Meilisearch |
loom-security-audit |
Deep security audits: OWASP, compliance, hardening |
loom-security-scan |
Quick security checks: secrets, deps, containers |
loom-serialization |
Serialization: JSON, YAML, protobuf, schema evolution |
loom-sql-optimization |
SQL query optimization, indexing, EXPLAIN analysis |
loom-technical-writing |
Technical writing: READMEs, guides, changelogs |
loom-terraform |
Terraform/OpenTofu IaC, modules, state, workspaces |
loom-testing |
Test implementation: unit, integration, e2e, TDD/BDD |
loom-test-strategy |
Test strategy: pyramid, coverage, flaky diagnosis |
loom-threat-model |
Threat modeling: STRIDE, DREAD, PASTA, attack trees |
loom-typescript |
Type-safe TypeScript: generics, strict mode, zod/trpc |
loom-webhooks |
Webhooks: HMAC verification, retries, idempotency |
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.
- 5d ago Changed · -7 lines 73dfba85c65b
- 6d ago First seen · 112 lines · 39 tokens per session scan A 32fd53b0b9c1
loom-skills is a skill published in the GitHub repository cosmix/loom (54 stars, last pushed today), licensed MIT. It adds 39 tokens to every session and 1,590 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-09-03.
Other skills, from other repositories
API Discoverability for Agents
Making self-hosted services agent-discoverable — bake in a machine-readable API description (OpenAPI spec or a minimal API.md) when building, and discover-first (spec paths, repo search) before probing when integrating.
Agent Design Principles
A checklist for designing agent personas, skills, and multi-agent pipelines that stay reliable as they grow — grounded in the 12-factor-agents principles.
workers-best-practices
Cloudflare Workers best practices for production applications. Use when writing, reviewing, or configuring Workers.
find-journalists
Build, refine, dedupe, and enrich small fit-checked journalist lists for newsjack campaigns. Uses the newsjack CLI (preferred) or the medialyst MCP for news search and journalist enrichment, and falls back to a best-effort local mode with no verified contacts; the agent owns how returned data is organized.
story-origin-check
Recover the first public timestamp and canonical major coverage for a newsjacking signal, then decide whether newer coverage is the same story, a different story, or a materially new development.
relevance-coarse-filter
Cheap, high-recall first-pass filter that removes obvious junk from a detector candidate pool before expensive story-origin research and PR judgment. Decides keep, monitoronly, or reject — never ranks, writes angles, verifies dates, or decides whether to pitch.