add-skill
Install a pinned skill extension on demand (/add-skill <id>), or list core packs and…
Show or switch the agentic firewall tier (off, relaxed, medium, high)
> /plugin marketplace add solanabr/ai-kit > /plugin install solana-ai-kit@stbr
How it fires
How this command gets triggered: by you, by Claude, or both.
/firewallContext preview
What this command does when you run it.
Show or switch the agentic firewall tier (off, relaxed, medium, high)
description: "Show or switch the agentic firewall tier (off, relaxed, medium, high)" disable-model-invocation: true
Show or change the agentic firewall tier. `off`, `relaxed` (default), `medium`, `high`.
**A switch takes effect in the next session.** Permission rules are read once, at session start, so editing `.claude/security.json` mid-session does not loosen — or tighten — the session you are in: the rules it started with stay in force until Claude Code restarts. Say this when you report a switch; do not imply the new tier is live.
python3 - <<'PY'
import json, pathlib
def load(p):
f = pathlib.Path(p)
return json.loads(f.read_text()) if f.is_file() else {}
sec, cfg = load(".claude/security.json"), load(".claude/settings.json")
perms = cfg.get("permissions") or {}
live = {r for k in ("deny", "ask", "allow") for r in (perms.get(k) or [])}
enf = sec.get("enforced") or {}
rec = set(enf.get("ruleIds") or [])
print("declared:", sec.get("tier") or "none")
print("enforced:", enf.get("tier") or "none")
print("live:", len(live), "recorded:", len(rec), "delta:", len(live) - len(rec))
print("recorded_but_absent:", len(rec - live))
PYReport the declared tier, the enforced tier, whether they agree, and the rule-count delta. `recorded_but_absent > 0` means `settings.json` lost rules the last apply wrote — re-apply. For local overrides, the sandbox state and the plugin case, run `/doctor` (check 9).
1. `bash .claude/bin/firewall.sh apply <tier>` — it records the tier in `.claude/security.json` and replaces the generated `permissions` + `sandbox` block in `.claude/settings.json` wholesale. 2. If the script takes no tier argument, set it first, then apply with no argument:
python3 -c "import json;p='.claude/security.json';d=json.load(open(p));d.setdefault('declared',{})['tier']='<tier>';json.dump(d,open(p,'w'),indent=2)"
bash .claude/bin/firewall.sh applyWrite it through Bash, not the Edit tool: at `high`, `Edit(/.claude/security.json)` is denied so an agent cannot rewrite its own policy. The Bash form works at every tier. 3. Report the script's change list (rules added, rules removed) and tell the user to restart Claude Code.
Claude Code, set up to ship Solana. One command installs 15 specialized agents, 32 workflow commands, skill packs pinned — and scanned — at a commit from the ecosystem's own repositories, 3 MCP servers for on-chain data and live docs, and a firewall that
Repo: solanabr/solana-ai-kit
Install a pinned skill extension on demand (/add-skill <id>), or list core packs and…
Audit infra security: secrets, deps, CI/CD, webhooks, AI/skill files
Audit Solana program code for exploitable bugs and write a findings report
Compare per-instruction CU with the stored baseline to catch regressions
Build the web client (Next.js, Vite, React) and check env, types and bundle
Build Solana programs (Anchor, Pinocchio, native), incl. verifiable builds