Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/matthewye/opencode-toolbox/git-guardrailsnpx skills add MatthewYe/opencode-toolbox --skill git-guardrailsgit clone --depth 1 https://github.com/MatthewYe/opencode-toolboxWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00061 | $0.00702 |
| Opus 5 | $0.00030 | $0.00351 |
| Sonnet 5 | $0.00012 | $0.00140 |
| Haiku 4.5 | $0.00006 | $0.00070 |
Grade A, and why
git-guardrails scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 91 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Git Guardrails
Sets up permission.bash rules in opencode.jsonc to require confirmation (ask) before executing dangerous git commands.
What Gets Guarded
git push(all variants including--force,--force-with-lease)git reset --hardgit clean -f/git clean -fdgit branch -Dgit checkout ./git restore .
When guarded, OpenCode will prompt for confirmation before executing any of these commands.
Steps
1. Ask scope
Ask the user: install for all projects (global) or this project only?
| Scope | Config path |
|---|---|
| Global | ~/.config/opencode/opencode.jsonc |
| Project | <project-root>/opencode.jsonc |
2. Read existing config
Read the target config file. Note existing permission block, especially any existing bash rules.
If the file does not exist, create it with a minimal structure:
{
"$schema": "https://opencode.ai/config.json",
"permission": {}
}
3. Add guardrail rules
Add or update the following rules under permission.bash. Use "ask" level — the agent must request confirmation before executing these commands:
"permission": {
"bash": {
// ... existing rules ...
"git push *": "ask",
"git reset --hard *": "ask",
"git clean -f*": "ask",
"git branch -D *": "ask",
"git checkout .*": "ask"
}
}
Rules to write:
| Pattern | Guards |
|---|---|
"git push *": "ask" |
All git push variants |
"git reset --hard *": "ask" |
Hard reset only |
"git clean -f*": "ask" |
Forced clean |
"git branch -D *": "ask" |
Force delete branch |
"git checkout .*": "ask" |
Discard working tree changes |
Merge carefully: If the file already has a permission.bash block with existing rules, merge the new rules into it — never overwrite unrelated settings.
4. Ask about customization
Ask if the user wants to:
- Add additional dangerous commands to guard (e.g.,
git stash drop,git reflog expire) - Remove any of the 5 default patterns
- Change any rule from
"ask"to"deny"(block without confirmation)
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 91 lines · 61 tokens per session scan A 7930b213bba6
git-guardrails is a skill published in the GitHub repository MatthewYe/opencode-toolbox (5 stars, last pushed 2mo ago), licensed MIT. It adds 61 tokens to every session and 702 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
cloudflare-registrar
Cloudflare Registrar: domain availability, prices, registration via mcporter.
amazon-bestseller-listing
Amazon Best Sellers listing scraper: extract product cards from any Amazon Best Sellers (zgbs) or /gp/bestsellers/ category page — returns rank (position on chart), asin, title, url, image, imageAlt, price, stars, reviewCount, ratingRaw per item, plus category metadata (categoryName, categoryFullName, categoryUrl) and…
amazon-reviews-api-skill
This skill helps users automatically extract Amazon product reviews via the Amazon Reviews API. Agent should proactively apply this skill when users express needs like getting reviews for Amazon product with ASIN B07TS6R1SF, analyzing customer feedback for a specific Amazon item, getting ratings and comments for a…
amazon-competitor-analyzer
Scrapes Amazon product data from ASINs using browseract.com automation API and performs surgical competitive analysis. Compares specifications, pricing, review quality, and visual strategies to identify competitor moats and vulnerabilities.
weekly-report
Structure and data sources for the weekly inventory report. Load this when the task is "weekly report", "Monday report", or "summarize inventory status".
shopify-hydrogen
Hydrogen storefront implementation cookbooks. Some of the available recipes are: B2B Commerce, Bundles, Combined Listings, Custom Cart Method, Dynamic Content with Metaobjects, Express Server, Google Tag Manager Integration, Infinite Scroll, Legacy Customer Account Flow, Markets, Partytown + Google Tag Manager…