gryph: Skill for Claude Code

.claude/skills/aarm-policy-layer/SKILL.md

aarm-policy-layer is a skill for Claude Code from safedep/gryph. It costs 133 tokens per session (847 once invoked), scanned A, original, Apache-2.0.

A development guide for Gryph's AARM security and policy layer, which decides whether operations are allowed and records the decision. It explains the connected code involved in policy rules, approvals, identities, and signed receipts.

In plain words
What is it for?
Use it when modifying the AARM layer, policy evaluation, CEL conditions, approvals, deferrals, identity handling, receipts, or related command-line policy wiring.
Why use it?
It helps developers change policy-related code without breaking the request flow, security checks, or receipt and context hash chains.

Skill for Claude Code

Written for Claude Code: installed under .claude/.

This is safedep/gryph's own configuration. It tells Claude Code how to work on gryph itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything gryph configures →

Reuse

Borrowing it

Nothing to install: this file belongs to safedep/gryph. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/safedep/gryph/main/.claude/skills/aarm-policy-layer/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/safedep/gryph

Made for: Claude Code.

Wrote 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.

agentmods badge for aarm-policy-layer

README.md
[![agentmods](https://agentmods.dev/badge/skills/safedep/gryph/aarm-policy-layer/github.svg)](https://agentmods.dev/skills/safedep/gryph/aarm-policy-layer)
Your own site
<a href="https://agentmods.dev/skills/safedep/gryph/aarm-policy-layer"><img src="https://agentmods.dev/badge/skills/safedep/gryph/aarm-policy-layer/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.

agentmods 80×15 button for aarm-policy-layer

Your own site · 80×15
<a href="https://agentmods.dev/skills/safedep/gryph/aarm-policy-layer"><img src="https://agentmods.dev/badge/skills/safedep/gryph/aarm-policy-layer.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 133 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 847 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00133 $0.00847
Opus 5 $0.00067 $0.00424
Sonnet 5 $0.00027 $0.00169
Haiku 4.5 $0.00013 $0.00085

Measured 9d ago against content hash 9002bf79c057, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-09, from the pricing page.

Security

Grade A, and why

aarm-policy-layer 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 9d 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.

.claude/skills/aarm-policy-layer/SKILL.md · 42 lines

How it starts

The opening of the file, as written. The whole thing — 42 lines — stays where its author put it; the contents beside it link to each section on GitHub.

AARM / Policy Layer

The full, current guide is docs/aarm-dev.md. It is the single source of truth for this task. Read it and follow it step by step.

Do not change the AARM layer from memory. The layer spans about 15 packages under aarm/, plus the wiring in cli/policy.go. The request flow chains a normalize step, an identity gate, the context accumulator, the PDP, a decision branch, and a receipt write. A change in one step can break another. The doc maps the flow, the packages, and the extension points.

How to use this skill

  1. Read docs/aarm-dev.md in full.
  2. Use the package map to find the right package for your change.
  3. Add a Mediator dependency through a MediatorOption in aarm/check.go, then wire it in loadPolicyMediator in cli/policy.go.
  4. Run make test and make lint before you finish. Run make generate-schema after any change to the policy schema or a payload type.

Invariants

Three invariants break silently if you miss them. The doc explains all three.

  1. The receipt and context hashes are consensus formats. A change to field order or canonicalization breaks every existing chain. Update the verifier and the property tests in the same change.
  2. The aarm package stays decoupled from storage and cli. Carry CLI-shaped side effects through the hooks (DeferralHook, ApprovalAuditHook, IdentityAuditHook). Do not add a storage or cli import to aarm.
  3. Policy resolution is additive and same-user safe. disabled: is scoped to the file that declares the rule, block always beats allow, and no user file can disable a built-in. Keep these when you touch Loader.Load or the merge, so an installed policy file can never remove the built-in rules or another file's rules. See docs/security-policy-threat-model.md.

Keep the doc correct

The doc is the source of truth, so keep it accurate. If you find the code no longer matches the doc, update docs/aarm-dev.md in the same change. Do not fork the guidance into this skill.

Read the full file on GitHub · 42 lines

Changes

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.

  1. 9d ago First seen · 42 lines · 133 tokens per session scan A 9002bf79c057

Subscribe to this mod's changes

aarm-policy-layer is a skill published in the GitHub repository safedep/gryph (161 stars, last pushed 9d ago), licensed Apache-2.0. It adds 133 tokens to every session and 847 once invoked, about $0.0007 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-08-30.

Related

Other skills, from other repositories

spec-kitty-charter-doctrine

Run charter interview, generation, context, and sync workflows for project governance in Spec Kitty 3.x. Access doctrine artifacts programmatically via DoctrineService. Resolve agent profiles. Load action-scoped governance context iteratively, not all at once. Triggers: "interview for charter", "generate charter"…

Priivacy-ai/spec-kitty · 135 tokens

mongodb-query-optimizer

Help with MongoDB query optimization and indexing. Use only when the user asks for optimization or performance: "How do I optimize this query?", "How do I index this?", "Why is this query slow?", "Can you fix my slow queries?", "What are the slow queries on my cluster?", etc. Do not invoke for general MongoDB query…

fcakyon/claude-codex-settings · 98 tokens

polar-local-environment

This skill should be used when setting up or managing Polar local development environment with Docker.

fcakyon/claude-codex-settings · 22 tokens

neo4j-modeling-skill

Design, review, and refactor Neo4j graph data models. Use when choosing node labels vs relationship types vs properties, migrating relational/document schemas to graph, detecting anti-patterns (generic labels, supernodes, missing constraints), designing intermediate nodes for n-ary relationships, enforcing schema with…

neo4j-contrib/neo4j-skills · 152 tokens

lov-article-creator

A skill that turns source material or a draft into a complete, branded WeChat public-account article package.

lovstudio/skills · 75 tokens

lov-repo2docs

Turn any folder of source material — a code repository, a pile of articles, a mixed knowledge dump with images — into a professional, polished Fumadocs (Next.js) documentation website, then deploy it to https://{product-id}.example.com/docs. Works by reading the folder one unit at a time and incrementally growing and…

lovstudio/skills · 186 tokens