Agent tries to write an API key
Write config.py AWS_KEY = 'AKIA…'
PreToolUse:Write blocked filesuite guard_secrets: aws-access-key-id at line 1 (AKIAQW...(20 chars)). Load it from an environment variable instead.
The file is never created.
Agent Skills & Hooks
The same local-first tools you use in the browser, packaged for Claude Code, Codex CLI, Cursor, Gemini CLI and git. Everything runs on your machine with plain Python: no uploads, no API keys, no install step.
Install in Claude Code
/plugin marketplace add UpadhyayAmit/filesuite
/plugin install filesuite-devtools@filesuiteWrite config.py AWS_KEY = 'AKIA…'
PreToolUse:Write blocked filesuite guard_secrets: aws-access-key-id at line 1 (AKIAQW...(20 chars)). Load it from an environment variable instead.
The file is never created.
Write settings.json
{"a": 1,}filesuite validate_structured: settings.json is no longer valid (line 1 col 8: Illegal trailing comma). Fix the syntax now.
The agent fixes it in the same turn: {"a": 1}
A SKILL.md plus a script. The agent loads it when the task matches, then runs the script instead of guessing.
The agent decides when
Run on every file write or edit. They can block the action or send an error back for the agent to fix.
Runs every time
The same scripts run on git commit, so the checks apply to people, every agent and CI.
Runs on every commit
Every script is a Python 3.9+ CLI with only the standard library. Copy it and run it; nothing to install.
You run it
jwt-inspectorYour agent decodes and security-audits tokens locally instead of pasting them into a website.
uv run https://raw.githubusercontent.com/UpadhyayAmit/filesuite/main/plugins/filesuite-devtools/skills/jwt-inspector/scripts/jwt_inspect.py "$TOKEN"json-schema-inferMerge many JSON or JSONL samples into one schema, ready for LLM tool calling and structured output.
uv run https://raw.githubusercontent.com/UpadhyayAmit/filesuite/main/plugins/filesuite-devtools/skills/json-schema-infer/scripts/infer_schema.py samples/*.json --strictcontext-budgetMeasure a codebase or document set before loading it into a prompt or a RAG pipeline.
uv run https://raw.githubusercontent.com/UpadhyayAmit/filesuite/main/plugins/filesuite-devtools/skills/context-budget/scripts/context_budget.py . --budget 200000validate_structuredEvery time an agent edits a JSON, JSONL or TOML file, it is re-parsed; a syntax error goes straight back to the agent to fix.
uv run https://raw.githubusercontent.com/UpadhyayAmit/filesuite/main/plugins/filesuite-devtools/hooks/scripts/validate_structured.py package.json config/*.tomlguard_secretsBlocks private keys, cloud and API tokens and credentialed URLs before an agent writes them to disk or you commit them.
uv run https://raw.githubusercontent.com/UpadhyayAmit/filesuite/main/plugins/filesuite-devtools/hooks/scripts/guard_secrets.py $(git ls-files)Codex CLI, Cursor, Gemini CLI, Copilot and other agents that read SKILL.md folders can use the skills directly. Copy a folder from plugins/filesuite-devtools/skills/into that agent’s skills directory.
# .pre-commit-config.yaml
repos:
- repo: https://github.com/UpadhyayAmit/filesuite
rev: main # pin a release tag in real use
hooks:
- id: filesuite-guard-secrets
- id: filesuite-validate-structuredYou should read any third-party skill or hook before installing it. These are short, stdlib-only Python scripts with tests, so that takes minutes. Secret detection uses patterns: it is a fast first check, not a replacement for a full secret scanner. Token counts are estimates (about ±20%).
View the source on GitHub