The default timeout for prompt hooks is already 30s. Move the
timeout documentation to the prose note rather than cluttering
the example JSON with a no-op field.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The rewritten hook regex already handles all case/ordering variants of
rm flags via case-insensitive chained grep checks. Remove the 16
enumerated permutations from deny rules. Drop overly broad * | sh and
* | zsh rules that would block legitimate pipes. Revert unnecessary
case-insensitive flag on git push hook (git is always lowercase).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Deny rules previously only blocked `rm -rf` and `rm -fr` (lowercase, combined
flags only). All other flag forms bypassed both security layers silently.
Expand deny rules to cover:
- All case combinations of combined short flags: -Rf, -rF, -RF, -fR, -Fr, -FR
- All orderings of separated short flags: -r -f, -r -F, -R -f, -R -F and
their reverses (-f -r, -f -R, -F -r, -F -R)
- GNU long-form flags: --recursive, --recursive --force, --force --recursive
- Pipe-to-shell via sh and zsh: * | sh, * | zsh
- Process substitution: bash <(curl *)
- Spaced pipe variant for existing rules: curl *| bash*, wget *| bash*
Harden PreToolUse hook regex:
- Old regex required combined lowercase flags only (-rf / -fr pattern)
- New regex uses three chained case-insensitive grep checks:
1. Confirm rm is the actual command (not a substring of another word or arg)
2. Detect any recursive flag (-r, -R, -[flags]r, --recursive)
3. Detect any force flag (-f, -F, -[flags]f, --force)
- Handles commands chained with ; && || |
- Verified against 25 test cases (19 must-block, 6 must-allow)
The anti-rationalization Stop hook example uses a prompt hook evaluated
by Haiku. Without an explicit formatting constraint, Haiku wraps the
JSON response in markdown code fences or adds explanatory text, which
fails JSON parsing and silently breaks the hook.
Fix the example prompt to prepend a JSON-only output instruction and
add a timeout. Document the pitfall so others don't hit it.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add cross-repo navigation links matching trailofbits/skills format
- Note shared Exa API key in 1Password for employees
- Move parallel dispatch paragraph above command examples and shorten
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Commands are parameterized procedures. Skills encode expertise.
Agents are specialists. Remove overlapping "repeated workflow"
framing from the skills section so each concept has a clear role.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Writing and publishing skills is a workflow activity, not a one-time
configuration task. Move both subsections from Configuration > Plugins
and Skills into Usage, between Commands and Recommended Skills.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Usage is a distinct section from Configuration, not subordinate to it.
Bump Usage and all its subsections up one heading level so it renders
as a peer of the document title. Remove Granola from mcp-template.json
since it's not a core recommendation.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The agent-browser CLI ships its own marketplace with a first-party skill
that Claude needs to understand the ref lifecycle and command API. Placed
the install instructions in Configuration > Plugins and Skills where
other marketplace setup lives, with a cross-reference from the Usage >
Web Browsing section.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Expand "Writing custom skills" into "Writing skills and agents" with
guidance on when to use agents over skills, how to encode expert
personas as subagents, and the plugin-dev tooling for both.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Move project-level CLAUDE.md and fast mode from setup/config into
usage where they fit better as per-project and per-session concerns.
Add personalization section for spinner verbs. Update statusline
sample output, global CLAUDE.md description, sandbox docs, marketplace
descriptions, and skill authoring guidance to match current state.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add Anthropic official plugins (frontend-design, pr-review-toolkit) to
recommended skills. Add recommended MCP servers section with Granola,
slither-mcp, pyghidra-mcp, and Serena. Move Granola from core MCP
config to the new section.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>