policylisted
Install: claude install-skill jeremylongshore/claude-code-slack-channel
# /slack-channel:policy
Author, lint, and remove policy rules under `access.json`'s top-level `policy` field.
The evaluator (`evaluate()` in `policy.ts`) is the veto layer for every MCP tool
call — this skill is the ergonomic front door to authoring rules without opening
`access.json` in a text editor.
See [`ACCESS.md` §Policy schema](../../ACCESS.md#policy-schema-v050) for the full
rule shape and semantics. This skill does not replace the hand-edit path; it
complements it.
## Usage
```
/slack-channel:policy list
/slack-channel:policy lint
/slack-channel:policy add <id> <effect> <json-match> [--reason "..."] [--ttl-ms N] [--approvers N] [--priority N]
/slack-channel:policy remove <id>
```
**Effect** is one of `auto_approve`, `deny`, `require_approval`.
**json-match** is a JSON object literal for the `match` field — e.g.
`'{"tool":"read_file","pathPrefix":"/workspace/docs"}'`. At least one field
must be populated; the validator rejects empty matches.
### Options by effect
| Effect | Required | Optional |
|--------------------|------------------------|--------------------------------------------|
| `auto_approve` | — | `--priority` |
| `deny` | `--reason "…"` (1-200) | `--priority` |
| `require_approval` | — | `--ttl-ms`, `--approvers`, `--priority` |
Defaults: `priority=100`, `ttl-ms=300000`