The MAPL skill · Claude Code and Codex
Write MAPL in plain English.
Install the MACAW plugin and use the /mapl skill. Say what your agents may do, and it writes the policy.
You say
It draws the call
agent ──▶ tool:oms/place_order
notional 1.5m · corporate_bond · IG
│
company:acme ─▶ bu:markets ─▶ team:credit-desk
│
notional ≤ 2m ✓ IG corporate ✓ > 1m ⏳
│
role:desk-head approves ─▶ runs ─▶ signed record{
"policy_id": "team:credit-desk",
"extends": "bu:markets",
"resources": ["tool:oms/place_order"],
"attestations": [
"desk_head_approved::{params.notional > 1000000}"
],
"constraints": {
"parameters": {
"tool:oms/place_order": {
"asset_class": ["corporate_bond"],
"rating": ["investment_grade"],
"notional": { "type": "number", "min": 0, "max": 2000000 }
}
},
"attestations": {
"desk_head_approved": {
"approval_criteria": "role:desk-head",
"timeout": 300,
"one_time": true
}
}
}
}Install it.
The skill ships in the MACAW plugins. It works without an account.
Claude Code
/plugin marketplace add macawsecurity/macaw-plugin
/plugin install macaw-cc@macaw
Then say what you want:
/macaw-cc:mapl only release managers can deploy to prod, and only after tests pass
Codex
codex plugin marketplace add macawsecurity/macaw-plugin
codex plugin add macaw-cx@macaw
Then ask Codex to use the mapl skill, and say what you want in plain words.
Read exactly what it does.
The skill is one SKILL.md and the public MAPL spec. Nothing is hidden.
SKILL.md for Claude Codemacaw-plugin / macaw-ccSKILL.md for Codexmacaw-plugin / macaw-cxThe MAPL specversion 3.7.1
Tested with Claude (Sonnet, Haiku, Opus), Codex (Terra, Luna, Sol) and Qwen3 8B. Any agent that loads skills can use it.