map-controls

map-controls is a command for coding agents from mlunato47/claude-grc-plugin. It costs 16 tokens per session (1,100 once invoked), scanned A, original, MIT.

A compliance-control mapping tool that relates requirements from one security framework to another through NIST 800-53. A control is a specific security requirement, and a framework is a set of such requirements.

In plain words
What is it for?
Use it to map a named control between NIST, SOC 2, ISO 27001, PCI, HIPAA, CIS, CMMC, IL5, FedRAMP, or FISMA.
Why use it?
It helps translate compliance work between frameworks without manually comparing every requirement.

Command

Part of the grc plugin — 1 skill, 24 commands, 1 agent shipped together

Install

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.

agentmods
npx agentmods add commands/mlunato47/claude-grc-plugin/map-controls
Clone the repo
git clone --depth 1 https://github.com/mlunato47/claude-grc-plugin

Or install grc, the plugin that ships this one along with the rest of its 1 skill, 24 commands, 1 agent.

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 map-controls

README.md
[![agentmods](https://agentmods.dev/badge/commands/mlunato47/claude-grc-plugin/map-controls.svg)](https://agentmods.dev/commands/mlunato47/claude-grc-plugin/map-controls)
Your own site
<a href="https://agentmods.dev/commands/mlunato47/claude-grc-plugin/map-controls"><img src="https://agentmods.dev/badge/commands/mlunato47/claude-grc-plugin/map-controls.svg" alt="Measured on agentmods" height="20"></a>
Per session 16 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,100 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
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 $0.00016 $0.01100
Opus 5 $0.00008 $0.00550
Sonnet 5 $0.00003 $0.00220
Haiku 4.5 $0.00002 $0.00110

Measured 4d ago against content hash 7e743eaa0fe1, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

map-controls 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 4d 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.

grc/commands/map-controls.md · 94 lines

How it starts

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

/grc:map-controls

Map controls between compliance frameworks using NIST 800-53 as the universal hub.

Usage

/grc:map-controls [source-framework] [control-id] to [target-framework]

Arguments

  • source-framework: The framework the control belongs to
  • control-id: The specific control ID to map
  • target-framework: The framework to map to

Examples

/grc:map-controls nist ac-2 to soc2
/grc:map-controls soc2 CC6.1 to iso27001
/grc:map-controls pci 8.3 to nist
/grc:map-controls hipaa 164.312(a)(1) to nist
/grc:map-controls iso27001 A.8.5 to cmmc
/grc:map-controls cis 5.2 to nist
/grc:map-controls il5 to nist

Behavior

When invoked:

  1. Parse the source framework, control ID, and target framework from arguments.

  2. Determine the mapping path:

    • If source is NIST → direct mapping to target (read mappings/nist-to-{target}.md)
    • If target is NIST → reverse lookup in mappings/nist-to-{source}.md
    • If neither is NIST → chain through NIST: a. Map source control → NIST 800-53 (read mappings/nist-to-{source}.md reverse) b. Map NIST control(s) → target (read mappings/nist-to-{target}.md)
    • If source is FedRAMP/FISMA → treat as NIST (same control IDs with parameters)
    • If source or target is a DoD/DoW Impact Level (dod, dow, il2/il4/il5/il6) → read mappings/nist-to-dod-il.md. ILs are baseline compositions, not a control catalog: resolve the IL to its NIST composition (FedRAMP baseline + FedRAMP+ + CNSSI 1253 additions), then chain to the other framework as normal. When the source is an IL and no control-id is given (e.g., il5 to nist), report the IL's full baseline composition rather than a single control. Note that no commercial certification provides reciprocity toward an IL — only FedRAMP authorizations do.
    • If source or target is a FedRAMP 20x KSI (ksi, 20x) → read frameworks/fedramp-20x.md. Each CR26 KSI carries an official NIST 800-53 control mapping (a controls array in FedRAMP's machine-readable rules); map KSI → NIST via that mapping (fetch the rules JSON from the doc index in that file for the authoritative list), then chain to other frameworks through NIST as normal.
    • If source or target is ITAR (itar) → read frameworks/itar.md. ITAR is a conduct regulation, not a control catalog: there is no official DDTC↔NIST crosswalk. Use that file's "NIST 800-53 families" practitioner mapping (AC/PS/PE/AU/SC/MP/IR/SA-SR) and clearly label it as convention, not authority.

Read the full file on GitHub · 94 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. 4d ago First seen · 94 lines · 16 tokens per session scan A 7e743eaa0fe1

Subscribe to this mod's changes

map-controls is a command published in the GitHub repository mlunato47/claude-grc-plugin (180 stars, last pushed 1mo ago), licensed MIT. It adds 16 tokens to every session and 1,100 once invoked, about $0.0001 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.