json-schema-manual
Helps your agent create rules to validate JSON data. It's useful for ensuring information exchanged between systems is correct.
What it does
This tool creates a 'contract' (called JSON Schema) for data. It ensures data is in the correct format, like a list of already defined fields, without inventing rules.
When to use it
- ✓When you need to define how data for a system should look.
- ✓To validate if incoming data to a system is correct.
- ✓To create documentation for a file that will be imported.
Example of what to ask your AI
“Create a data contract for the customer fields list we already defined.”
Want more? Open the sections below.
How to use
The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.
Skill link
Ready-to-paste message
How it works
The tool takes a list of fields you've already confirmed and builds a validation schema. It uses the rules already set (like which fields are required) and doesn't add new ones.
Installation
Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.
In the terminal (Claude Code, Codex, Cursor), in your project folder:
npx skills add sickn33/agentic-awesome-skills --skill json-schema-manualOr download just the file:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/json-schema-manual/SKILL.md -o SKILL.mdTechnical content (original SKILL.md)
Original text by the author, straight from GitHub.
JSON Schema Manual
What it is: a draft 2020-12 schema over a field list someone already confirmed - validating structure, never inventing business rules.
Overview
Produces JSON Schema from a confirmed canonical field list, for validation, API contracts, import and export structures, form generation, and schema documentation.
JSON Schema validates structure. It does not compute, decide or imply. This is a helper: it defines no table of its own and renders whatever field list the active module already confirmed, so the property names here are the names that module uses in its CSV, SQL, spreadsheet and Notion mapping.
Layer: n/a. Fits: every stage. Table code: n/a - it renders the active module's table.
When to Use This Skill
- I need a JSON Schema
- validate this payload before it goes in
- make an API contract for this table
- document the shape of this import file
- generate a form from this schema
- turn the agreed fields into a schema
Also use it when a module has confirmed a field list and the user wants the contract for the system that will read it, rather than the table itself.
Do not use it to add validation the business has not asked for. A schema is a promise about what a payload may contain, and every restriction in it rejects real data.
How It Works
Follow the shared execution contract. The module-specific rules below define only domain fields, decisions, calculations, and safety constraints.
Step 1 - Identify intent
Read the request and pick the intent before asking anything.
- "I need a schema" -> a strict or permissive schema, per Step 5.
- "something rejected my payload" -> review or fix: only the rule that caused it.
- "which fields are required" -> advice: answer from the confirmed field list, and offer the schema rather than emitting one.
Build only what was requested. A fix does not become a rewrite, and advice does not become a file.
Step 2 - Ask only what is missing
Reuse everything already confirmed, including by the module that owns the field list: the property names and types, the select options, the date and currency fields, the calculated fields, the statuses and the IDs. Never ask again for information the user has already supplied.
Ask one short question per message, and only when the answer changes the schema:
Q: Should the schema reject unknown fields, or allow them?
Nothing else is worth a question. Requiredness, options and formats come from the confirmed field list, not from a new round of asking.
Step 3 - Hold the internal context
Hold the answers in this shape. It stays internal - it is not shown to the user unless they ask, and it never carries a value the user did not give.
module: json-schema-manual
intent: null # set in Step 1, one of: schema, review, fix, advice
source_module: null # the module whose field list this renders
draft: "https://json-schema.org/draft/2020-12/schema"
additional_properties: null # false | true - asked once, then held
example_instances: false
confirmed_facts: [] # only what the user actually said
open_questions: [] # the unanswered ones, in the order worth asking
source_module is the one field this skill needs that a module skill does not have. If it
is unknown, ask which table the contract is for, because a schema built from a guess
rejects the real data.
Step 4 - Recommend the smallest workflow
Build an already requested artifact without asking again. For advice-only requests, give a short recommendation and offer the relevant artifact.
Recommended approach: one object schema, one property per confirmed field, no
required entry the field list does not mark as required, and no enum the field list
does not define. Strictness only where the contract is closed.
Why this one: a schema's damage is asymmetric. A property it omits passes data nobody
reviewed; a property it marks required, or an enum it invents, rejects data that was
perfectly valid. Confirm the closed rules and stay silent on the rest.
Workflow: Field list confirmed -> Properties typed -> Requiredness applied from the source -> (validated) -> Published as the contract
Step 5 - Build only on request
Once the user asks, emit the schema as data only. Keep prose outside machine-readable data; provide file links and material limitations separately. Property names come from the confirmed field list, identical to the CSV, SQL,
…
FAQ
What is JSON Schema?
It's a format that describes the structure and expected data types, like a blueprint or template for JSON data.
Why use a 'data contract'?
To ensure systems exchanging data understand each other and that the data is correct, preventing errors.
Does this tool invent validation rules?
No, it only uses the rules (fields, types, requiredness) that have already been confirmed and defined beforehand.
Details
Original description by the author
JSON Schema Manual: draft 2020-12 validation schema from a confirmed field list, with required and enum values only where confirmed. Use for an API or import contract.
Popularity
- GitHub stars
- 48k
- Ranking position
- #3384
- License
- MIT
- Updated
- 10/15/2026
Comments
- …
More skills from this repository
00-andruia-consultant
Helps your agent start or improve AI projects. It analyzes code, suggests tools, and creates action plans in Spanish.
sickn33/agentic-awesome-skills
007
Lets your agent perform security audits and threat modeling. It's useful for protecting projects against attacks and vulnerabilities.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Helps your agent create or improve AI tools. It defines how tools work, writes documentation, and validates the structure.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Lets your agent create a summary about a specific industry. It's useful for understanding the context, rules, usage patterns, and risks of a project, using reliable sources.
sickn33/agentic-awesome-skills
Similar skills
architecture-decision-records
Has your agent record important project structure decisions. It helps to understand the reasoning behind choices and maintain a clear history of changes.
affaan-m/ECC
code-tour
Lets your agent create step-by-step code walkthroughs with exact file and line anchors. It's useful for project introductions, code explanations, or change reviews. Helps understand how a system works.
affaan-m/ECC
codebase-onboarding
Helps your agent analyze unfamiliar code and create an onboarding guide. It includes an architecture map, entry points, and conventions. Ideal for starting on a new project.
affaan-m/ECC