Obey rules
Show all active rules. Use when the user says "/rules", "show rules", "list rules", "what are my rules", or wants to see their current persistent instructions.
install
source · Clone the upstream repo
git clone https://github.com/Lexxes-Projects/obey
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/Lexxes-Projects/obey "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/rules" ~/.claude/skills/lexxes-projects-obey-rules && rm -rf "$T"
manifest:
skills/rules/SKILL.mdsource content
/rules — Show Active Rules
Show the user their active rules.
Process
Run the list script:
bash ${CLAUDE_PLUGIN_ROOT}/scripts/rules-list.sh --filter "all"
If
$ARGUMENTS contains --global, --local, --project, or --stack, pass that as the filter instead of "all".
Format the Output
Present the rules as a clean, organized list grouped by scope:
# Active Rules ## Global (apply to all projects) 1. [ID] [hook+instruction] Never push to main → Blocks: git push.*main 2. [ID] [instruction] Always explain reasoning before writing code ## Stack: rust (apply to all Rust projects) 3. [ID] [hook+instruction] Never use .unwrap() in production → Blocks: \.unwrap\(\) ## Project (this project only) 4. [ID] [instruction] Use the repository pattern for data access Detected stack: rust Total: 4 rules (2 hook-enforced, 2 instruction-only)
For each rule show:
- The rule ID (for use with
)/forget - Enforcement type in brackets
- Rule text
- If hook-enforced: the pattern that triggers blocking (with →)
Also show the detected stack and totals.
If there are no rules, tell the user: "No rules set. Use
/remember <rule> to add one."