File Suite

Agent Skills & Hooks

File Suite tools, inside your coding agent.

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

Claude Code install
/plugin marketplace add UpadhyayAmit/filesuite
/plugin install filesuite-devtools@filesuite
Python stdlib onlyNo network callsSecrets redacted in outputOpen source on GitHub

What it looks like

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 leaves a trailing comma in JSON

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}

Four ways to use one script

Skills

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

Claude Code hooks

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

pre-commit hooks

The same scripts run on git commit, so the checks apply to people, every agent and CI.

Runs on every commit

Plain CLI

Every script is a Python 3.9+ CLI with only the standard library. Copy it and run it; nothing to install.

You run it

Available now

Skilljwt-inspector

JWT Inspector skill

Your agent decodes and security-audits tokens locally instead of pasting them into a website.

  • • Flags alg=none, missing or long-lived exp, and sensitive claims
  • • Verifies HS256/384/512 signatures with your secret
  • • Exit code 1 on high-severity findings, so it works in CI
jwt-inspector terminal command
uv run https://raw.githubusercontent.com/UpadhyayAmit/filesuite/main/plugins/filesuite-devtools/skills/jwt-inspector/scripts/jwt_inspect.py "$TOKEN"
Try JWT Decoder in the browser
Skilljson-schema-infer

JSON Schema Infer skill

Merge many JSON or JSONL samples into one schema, ready for LLM tool calling and structured output.

  • • required = fields present in every sample; differing types become unions
  • • --strict produces schemas for strict tool / structured-output modes
  • • --no-examples keeps real customer data out of the schema
json-schema-infer terminal command
uv run https://raw.githubusercontent.com/UpadhyayAmit/filesuite/main/plugins/filesuite-devtools/skills/json-schema-infer/scripts/infer_schema.py samples/*.json --strict
Try JSON Schema Generator in the browser
Skillcontext-budget

Context Budget skill

Measure a codebase or document set before loading it into a prompt or a RAG pipeline.

  • • Per-file token table that honours .gitignore
  • • Fit check against a context window, with the files to drop
  • • RAG chunk-count plan for a given chunk size and overlap
context-budget terminal command
uv run https://raw.githubusercontent.com/UpadhyayAmit/filesuite/main/plugins/filesuite-devtools/skills/context-budget/scripts/context_budget.py . --budget 200000
Try LLM Token Estimator in the browser
Hookvalidate_structured

JSON / TOML validation hook

Every 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.

  • • Claude Code PostToolUse hook: broken config never survives the turn
  • • Same script runs as a git pre-commit hook for humans and CI
  • • Skips JSON-with-comments files such as tsconfig.json
validate_structured terminal command
uv run https://raw.githubusercontent.com/UpadhyayAmit/filesuite/main/plugins/filesuite-devtools/hooks/scripts/validate_structured.py package.json config/*.toml
Try JSON Formatter in the browser
Hookguard_secrets

Secret guard hook

Blocks private keys, cloud and API tokens and credentialed URLs before an agent writes them to disk or you commit them.

  • • Hard secrets are denied; JWTs ask you first
  • • Reasons are redacted, so the secret is not echoed back
  • • Add filesuite:allow-secret on a line to allow a deliberate fake
guard_secrets terminal command
uv run https://raw.githubusercontent.com/UpadhyayAmit/filesuite/main/plugins/filesuite-devtools/hooks/scripts/guard_secrets.py $(git ls-files)

Other agents

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.

Any repo, via pre-commit

pre-commit config
# .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-structured

Read before you install

You 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