27 Commits

Author SHA1 Message Date
Dan Guido 7db11a2803 Merge pull request #31 from Haikane/fix-stop-hook-prompt-v2
Fix Stop hook example prompt to prevent JSON parsing failures
2026-02-25 09:50:21 -08:00
Dan Guido 1868fefa11 Remove redundant timeout field, mention it in prose instead
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>
2026-02-25 12:49:25 -05:00
Dan Guido dbcc656b90 Merge pull request #33 from NucleiAv/main
fix: expand deny rules and harden hook regex for rm & pipe-to-shell bypasses
2026-02-23 15:35:11 -08:00
Dan Guido e6ebafacae Remove curl deny rules — curl is needed for normal use
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 15:34:40 -08:00
Dan Guido 33815281ec Simplify: keep hook regex, drop redundant deny rule permutations
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>
2026-02-23 15:23:33 -08:00
newklei 58b6f73e2a fix: expand deny rules and harden hook regex for rm and pipe-to-shell bypasses
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)
2026-02-23 11:28:44 -05:00
Markus 1eadb903e0 Fix Stop hook example prompt to prevent JSON parsing failures
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>
2026-02-20 08:31:49 -06:00
Dan Guido df8374dd00 Merge pull request #29 from trailofbits/local-model-fix
fix local model setup readme
2026-02-19 12:50:18 -07:00
GrosQuildu 78d4c0279f fix alwaysThinkingEnabled 2026-02-19 16:09:04 +01:00
GrosQuildu 4f2ae950d9 fix CLI loading 2026-02-19 16:00:38 +01:00
GrosQuildu d2c3884bc7 fix local model setup readme 2026-02-19 15:35:06 +01:00
Dan Guido a6e1bc7c47 Update GitHub Actions guidelines for Python projects
Added recommendation to use 'uv' ecosystem for Python projects in GitHub Actions section.
2026-02-16 17:20:17 -07:00
Dan Guido 40b70ea27e Merge pull request #28 from trailofbits/readme-updates
Add repo map, Exa 1Password note, tighten commands intro
2026-02-13 23:57:15 -05:00
Dan Guido 0f47ba2e07 Add repo map, Exa 1Password note, and tighten commands intro
- 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>
2026-02-13 23:56:41 -05:00
Dan Guido 6a35cecd4a Merge pull request #27 from trailofbits/update-commands
Update commands and add merge-dependabot
2026-02-13 23:51:48 -05:00
Dan Guido 2917b69a30 Update commands with upstream detection, CI-aware pipelines, and add merge-dependabot
- fix-issue: Add upstream remote detection, Exa research step, branch creation
  before implementation, CI-as-source-of-truth quality pipeline with per-language
  fallback tables, codegen sync checks, and self-review via pr-review-toolkit
- review-pr: Add upstream remote detection, two-pass parallel review
  (pr-review-toolkit + Codex + Gemini), CI-discovered quality pipeline, Exa for
  fix research, structured PR comment format
- merge-dependabot: New command for evaluating and merging dependabot PRs with
  config audit, transitive dependency analysis, parallel subagent evaluation,
  sequential merge with post-merge re-testing, and turn budget management
- README: Add merge-dependabot to install block and commands section

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 23:50:29 -05:00
Dan Guido c5048be23e Remove editorial commentary from agent personas section
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 10:22:53 -05:00
Dan Guido 1ac749f177 Clarify distinction between commands, skills, and agents
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>
2026-02-12 09:52:05 -05:00
Dan Guido 38aaa0fa7b Move skill/agent authoring and publishing to Usage section
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>
2026-02-12 09:45:35 -05:00
Dan Guido 30ea6ceb7c Merge pull request #26 from trailofbits/elevate-usage-section-and-drop-granola
Elevate Usage to top-level heading, drop Granola from MCP template
2026-02-12 09:42:41 -05:00
Dan Guido 47c70b3367 Elevate Usage to top-level heading and remove Granola from MCP template
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>
2026-02-12 09:41:30 -05:00
Dan Guido 417bacd373 Add agent-browser skill installation to configuration section
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>
2026-02-12 09:20:35 -05:00
Dan Guido ad587236d5 Add agent persona guidance to skill authoring section
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>
2026-02-12 09:02:15 -05:00
Dan Guido 176e05b888 Reorganize README sections and update descriptions
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>
2026-02-12 08:56:49 -05:00
Dan Guido 48a1b42e08 Add recommended skills and MCP servers sections
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>
2026-02-12 02:45:23 -05:00
Dan Guido af3fcdb3b9 Mention hookify plugin in hooks section
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 01:58:28 -05:00
Dan Guido 00183c41fe Initial commit
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 01:28:00 -05:00