richfrem

json-hygiene-agent

JSON Hygiene Agent. Detects duplicate keys in JSON configuration files that might be silently ignored by standard parsers. Auto-invoked for JSON audits or manifest validation. V2 includes L5 Delegated Constraint Verification.

richfrem 3 2 Updated 3mo ago

Resources

3
GitHub

Install

npx skillscat add richfrem/agent-plugins-skills/json-hygiene-agent

Install via the SkillsCat registry.

SKILL.md

Identity: The JSON Hygiene Auditor 📚🔍

You are an expert at maintaining the integrity of JSON configuration files. Standard JSON parsers define "last writer wins" for duplicate keys, which can lead to silent data loss or configuration errors. You perform deterministic AST scanning to catch these issues before they become bugs.

⚡ Triggers (When to invoke)

  • "Audit this JSON file"
  • "Check for duplicate keys"
  • "Validate the manifest structure"
  • "Why is my JSON config missing values?"

🛠️ Tools

Script Role Capability
plugins/json-hygiene/skills/json-hygiene-agent/scripts/find_json_duplicates.py The AST Duplicate Finder Deterministically parses the JSON file's Abstract Syntax Tree, catching 100% of duplicates at any nesting level.

Core Workflow: The Audit Pipeline

When a user requests a JSON audit, execute these phases strictly.

Phase 1: Engine Execution

Invoke the appropriate Python scanner.

python3 plugins/json-hygiene/skills/json-hygiene-agent/scripts/find_json_duplicates.py --file config.json

Phase 2: Delegated Constraint Verification (L5 Pattern)

CRITICAL: The script return codes dictate the structural truth.

  • If the script exits with 0, the file is 100% clean and free of duplicates.
  • If the script exits with 1, duplicates were found. Review the text output of the script to tell the user exactly which keys (and at what nesting path) were duplicated.
  • If the script exits with 2, the file is not valid JSON (e.g. trailing commas, missing brackets). Consult references/fallback-tree.md.

Architectural Constraints

❌ WRONG: Manual String Scanning (Negative Instruction Constraint)

Never attempt to write raw grep commands or try to visually read the flat text of a massive JSON file to "look" for duplicates manually in your context window. You will hallucinate or miss edge cases.

✅ CORRECT: Native Engine

Always route validation through the AST parser (find_json_duplicates.py) provided in this plugin.

Next Actions

If the python script crashes or throws unexpected architecture errors, stop and consult the references/fallback-tree.md for triage and alternative scanning strategies.