Borrowing it
Nothing to install: this file belongs to CloudSecurityAlliance/csa-skilljar. 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/CloudSecurityAlliance/csa-skilljar/main/CLAUDE.mdgit clone --depth 1 https://github.com/CloudSecurityAlliance/csa-skilljarWrote 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/cloudsecurityalliance/csa-skilljar/claude-md)<a href="https://agentmods.dev/instructions/cloudsecurityalliance/csa-skilljar/claude-md"><img src="https://agentmods.dev/badge/instructions/cloudsecurityalliance/csa-skilljar/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/cloudsecurityalliance/csa-skilljar/claude-md"><img src="https://agentmods.dev/badge/instructions/cloudsecurityalliance/csa-skilljar/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.04623 | $0.04623 |
| Opus 5.5 | $0.01849 | $0.01849 |
| Sonnet 5.5 | $0.00925 | $0.00925 |
| Haiku 4.5 | $0.00462 | $0.00462 |
Grade A, and why
csa-skilljar CLAUDE.md 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.
curl -s https://api.skilljar.com/v2/openapi.json | jq '.paths | keys | length' How it starts
The opening of the file, as written. The whole thing — 299 lines — stays where its author put it; the contents beside it link to each section on GitHub.
CLAUDE.md
Guidance for Claude Code (claude.ai/code) when working in this repository.
What this repository is
csa-skilljar — a Python library (import name csa_skilljar) and local stdio MCP server over
both Skilljar REST APIs. It reproduces the official Skilljar MCP server's 73-tool surface
exactly, then adds the capabilities that exist only in v1.
Status: shipped and in use. All seventeen roadmap blocks are on main — 112 tools (84
over v2, 27 over v1, plus demonstration_plan) across 37 modules in src/, with 62 test files.
Released to PyPI through v0.15.0; installed on staff machines by DesktopSetup.
Still true, and the thing to keep honest: no write has ever run against real Skilljar. Every
read is exercised against the production organization; the write half has only ever run against
FakeBackend. That is what v1.0.0 waits on — see WAITING-FOR-003. Do not describe writes as
verified.
Where things live
docs/superpowers/specs/2026-08-26-csa-skilljar-design.md— the authoritative design. Read it before proposing anything. Architecture, routing rule, credential model, error taxonomy, phasing, and three appendices of probe-verified facts.specs/— upstream OpenAPI snapshots, fetched 2026-08-26.skilljar-v1-openapi.yml(3.0.3, 160 paths / 340 ops) andskilljar-v2-openapi.json(3.1.0, 44 paths / 82 ops). These are snapshots of someone else's moving target — see "Upstream drift" below.specs/PROVENANCE.mdrecords where each file came from, its sha256 and byte count, and the last document-level diff against live. Already drifted: live v2 had 48 paths on 2026-09-16 (46 on 2026-08-31)./v2/assets/and/v2/assets/{id}were the first time the ADR-002 retirement trigger fired;/v2/students/{id}/relationships/ domain-memberships/followed, and the response media type is nowapplication/vnd.api+jsonthroughout. v1 has not drifted at all. SeeTODO.md.analysis/— the 66-entity reconciliation of both APIs (entity-inventory.csv/.json), the live OAuth scope catalogue, and a browsable surface map.docs-html/— the rendered vendor doc pages, kept for provenance. Low value; the specs are the useful artifact.GOALS.md/BUSINESS-CASE.md— what success is, and the honest argument that this project should get smaller over time. Read before proposing scope changes.TODO.md— the index of ALL open work, per the CINO todo-index convention. Sweeping this plus open GitHub Issues finds everything. It also carries a consideration pile of things deliberately not committed to — check it before proposing a "missing" feature.DECISIONS-ADR.md+DECISIONS-ADR/— seven technical decisions with their rejected alternatives. ADR-002 (routing) and ADR-004 (no version in tool names) are load-bearing; do not contradict them without a superseding ADR.DECISIONS-PRD.md+DECISIONS-PRD/— scope, audience, and explicit out-of-scope.SECURITY-RESOURCES.md— exposure surface and the prompt-injection threat. Constrains any change that surfaces course content to a model.DATA-RESOURCES.md/DATA-NEEDS.md— what data is handled and what is deliberately never stored. No caching, no persistence — proposing either changes the security posture and needs its own ADR.WAITING-FOR.md+WAITING-FOR/— external conditions with observable triggers. 001 is the retirement trigger for each v1 family; 002 blocks all of Phase 1.FRICTION.md+FRICTION/— friction log. Low bar: if it is an annoyance for a human or an AI, log it.OPERATIONAL-RESOURCES.md— the one recurring job (check_upstream.py). Check its "Next review" date against today when working here.RACI.md— authority by domain. Note: credential issuance is never delegated to AI.CHATGPT.md/GEMINI.md— pointers to this file, deliberately not copies.
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 · +22 lines · +360 tokens per session 132b85fcc873
- 1mo ago Changed · +3 lines · +83 tokens per session c3eef54c0de7
- 2mo ago First seen · 274 lines · 4,180 tokens per session scan A c42b34ecb634
csa-skilljar CLAUDE.md is an instructions file published in the GitHub repository CloudSecurityAlliance/csa-skilljar (0 stars, last pushed 9d ago), licensed Apache-2.0. It adds 4,623 tokens to every session, about $0.0185 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-31.
csa-skilljar CLAUDE.md compared with instructions from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| csa-skilljar CLAUDE.mdCloudSecurityAlliance/csa-skilljar | Instructions file | 0 | 9d ago | Apache-2.0 | A | 4,623 | Claude Code |
| vscode buildNext.instructions.mdmicrosoft/vscode | Instructions file | 195k | yesterday | MIT | A | 9,719 | GitHub Copilot |
| next.js AGENTS.mdvercel/next.js | Instructions file | 143k | today | MIT | A | 7,461 | Codex, OpenCode |
| langchain AGENTS.mdlangchain-ai/langchain | Instructions file | 149k | yesterday | MIT | A | 4,680 | Codex, OpenCode |
| vscode oss-third-party-notices.instructions.mdmicrosoft/vscode | Instructions file | 195k | yesterday | MIT | A | 5,516 | GitHub Copilot |
| vscode copilot-instructions.mdmicrosoft/vscode | Instructions file | 195k | yesterday | MIT | A | 3,093 | GitHub Copilot |
| deepseek-harness AGENTS.mddeepseek-ai/deepseek-harness | Instructions file | 274k | 2d ago | MIT | A | 4,313 | Codex, OpenCode |