Agent skill

JSON Schema Emails

by provos in provos/ironcurtain

Canonical shape of the .workflow/emails/emails.json file passed between the fetch and summarize states — required fields (sender, recipient, subject, date, body), types, and field semantics.

Apache-2.0Auto-check passed

Install JSON Schema Emails

skills CLI
$ npx skills add provos/ironcurtain --skill json-schema-emails -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install provos/ironcurtain json-schema-emails --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/provos/ironcurtain.git skills-src && mkdir -p .claude/skills && cp -r skills-src/src/workflow/workflows/test-email-summary/skills/json-schema-emails .claude/skills/json-schema-emails && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
json-schema-emails
GitHub stars
613
Token cost
~491 tokens
SKILL.md length
248 words
Files
2
Skills in repo
7
Repo updated
First seen
Licence
Apache-2.0

At a glance

Canonical shape of the .workflow/emails/emails.json file passed between the fetch and summarize states — required fields (sender, recipient, subject, date, body), types, and field semantics.

  • SKILL.md covers Top-level shape, Email object fields and Validating
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

JSON Schema Emails is an agent skill from provos/ironcurtain. Canonical shape of the .workflow/emails/emails.json file passed between the fetch and summarize states — required fields (sender, recipient, subject, date, body), types, and field semantics. Read this whenever you write or read emails.json so producer and consumer agree on the shape.

Its SKILL.md is about 490 tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `schema.json`).

It works with Model Context Protocol. The repository describes itself as: A secure runtime for autonomous AI agents. Policy from plain-English constitutions. (https://ironcurtain.dev). The licence is Apache-2.0.

Example prompts

  • “/json-schema-emails”

What it can do on your machine

Read from SKILL.md and the folder at commit d51a346. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

JSON Schema Emails loads about 491 tokens when it runs. Until then it costs about 76 tokens; SKILL.md has 248 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~76
When it runs · the whole SKILL.md, loaded when a task matches
~491

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from provos/ironcurtain at commit d51a346, republished under its Apache-2.0 licence (© provos). 248 words, ~491 tokens.

Download SKILL.mdSave it as .claude/skills/json-schema-emails/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
json-schema-emails
description
Canonical shape of the .workflow/emails/emails.json file passed between the fetch and summarize states — required fields (sender, recipient, subject, date, body), types, and field semantics. Read this whenever you write or read emails.json so producer and consumer agree on the shape.

emails.json schema

The fetch state writes .workflow/emails/emails.json and the summarize state reads it. The file is a single JSON array of email objects. The canonical JSON Schema is in the sibling file schema.json; this document explains the fields and their semantics.

Top-level shape

A JSON array. Each element is an email object. The array order is preservation order — the consumer renders emails in the order they appear, so the producer should write them in the order it wants them rendered (typically newest-first as returned by the API).

Email object fields

All fields are required and must be strings unless noted.

  • sender — the From address. Format Name <addr@example.com> if the source provides a display name, else the bare address.
  • recipient — the To addresses, comma-separated. If the source has multiple To recipients they are joined with , (comma + space). CC and BCC are not represented in this schema.
  • subject — the email subject line, verbatim. Empty string is allowed if the source has no subject; do not substitute "(no subject)".
  • date — the date as it appears in the source headers (RFC 2822 or whatever the API returns). Do not reformat or normalize the timezone.
  • body — the message body as plain text. If the source is HTML, the producer is responsible for stripping tags before writing. Newlines are preserved; tabs are replaced with two spaces.

Validating

The sibling schema.json is a draft-2020-12 JSON Schema. Tooling that needs to validate the file structurally should load it from there; this document is the human-readable companion.

© provos, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in src/workflow/workflows/test-email-summary/skills/json-schema-emails of provos/ironcurtain.

  • SKILL.md
  • schema.json

Open the folder on GitHubat commit d51a346

Compare with similar skills

JSON Schema Emails next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

JSON Schema Emails compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
JSON Schema Emails this skillprovos/ironcurtain613—~491Automated safety check: PassApache-2.0
MCP Server Builderanthropics/skills180k64 repos~2.3kAutomated safety check: PassApache-2.0
MCP Server BuildershareAI-lab/learn-claude-code78k5 repos~1.2kAutomated safety check: PassMIT
MCP Integration for Pluginsanthropics/claude-plugins-official38k11 repos~3.1kAutomated safety check: PassApache-2.0
Figma use_figma Plugin API Ruleswarpdotdev/warp65k4 repos~4.4kAutomated safety check: PassAGPL-3.0
Stitch to Remotion Walkthrough Videosgoogle-labs-code/stitch-skills8.4k6 repos~3.2kAutomated safety check: NotesApache-2.0

Similar skills

  • MCP Server Builder

    anthropics/skills

    Official

    Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.

    180k GitHub starsUsed in 64 repos~2.3k tokens
    Agent WorkflowsAuto-check passed
  • MCP Server Builder

    shareAI-lab/learn-claude-code

    Walks through building MCP servers in Python or TypeScript that expose tools, resources and prompts to Claude, with templates, registration and testing.

    78k GitHub starsUsed in 5 repos~1.2k tokens
    Agent WorkflowsAuto-check passed
  • MCP Integration for Plugins

    anthropics/claude-plugins-official

    Official

    Explains how to bundle Model Context Protocol servers in a Claude Code plugin, covering config files, stdio, SSE, HTTP and WebSocket server types, and authentication.

    38k GitHub starsUsed in 11 repos~3.1k tokens
    Agent WorkflowsAuto-check passed
  • Required groundwork before any use_figma call: the rules and reference files for running JavaScript in a Figma file through the Plugin API without common failures.

    65k GitHub starsUsed in 4 repos~4.4k tokens
    Frontend & DesignAuto-check passed
  • Stitch to Remotion Walkthrough Videos

    google-labs-code/stitch-skills

    Official

    Builds walkthrough videos from Stitch design projects using Remotion, with transitions, zoom effects and text overlays on each screen.

    8.4k GitHub starsUsed in 6 repos~3.2k tokens
    Media & CreativeAuto-check: notes
  • MCP Development

    coollabsio/coolify

    A skill your agent uses for Laravel MCP development. An agent skill from coollabsio/coolify.

    63k GitHub starsUsed in 1 repo~949 tokens
    Frontend & DesignAuto-check passed

More from provos/ironcurtain

  • Harness Design Fuzzing

    provos/ironcurtain

    Reference vocabulary for designing instrumented harnesses that drive vulnerability discovery — design classes (trigger-driven vs coverage-driven), tiered scope (T1 isolated function / T2…

    613 GitHub stars~5.7k tokensUpdated yesterday
    Auto-check passed
  • Email Formatting

    provos/ironcurtain

    Markdown formatting conventions for email summary documents — heading depth, list style, line length, emoji policy, and a mandatory provenance footer.

    613 GitHub stars~518 tokensUpdated yesterday
    Auto-check passed
  • Gmail Query Syntax

    provos/ironcurtain

    Reference for Gmail's search query syntax — operators like is:sent, newerthan:, from:, has:attachment, label:, and how they compose.

    613 GitHub stars~971 tokensUpdated yesterday
    Auto-check passed
  • Summary Style Guide

    provos/ironcurtain

    Tone and length conventions for email summaries — voice, verb tense, what to include vs omit, and target sentence count.

    613 GitHub stars~509 tokensUpdated yesterday
    Auto-check passed
  • Memory Safety C Cpp

    provos/ironcurtain

    Reference vocabulary for memory-safety vulnerabilities in native C/C++ code — bug-class taxonomy, common arithmetic patterns that lead to corruption, dispatch-family discipline, type-confusion…

    613 GitHub stars~5.6k tokensUpdated yesterday
    Auto-check passed
  • Vulnerability Triage

    provos/ironcurtain

    Reference vocabulary for interpreting vulnerability findings — detector-vs-impact distinction, severity anchoring on demonstrated evidence, the eleven-item interpretation rubric, delegation…

    613 GitHub stars~6.3k tokensUpdated yesterday
    Auto-check passed

Questions about JSON Schema Emails

What does JSON Schema Emails do?

Canonical shape of the .workflow/emails/emails.json file passed between the fetch and summarize states — required fields (sender, recipient, subject, date, body), types, and field semantics. JSON Schema Emails is an agent skill from provos/ironcurtain.json file passed between the fetch and summarize states — required fields (sender, recipient, subject, date, body), types, and field semantics.

How do I install JSON Schema Emails in Claude Code?

Run `npx skills add provos/ironcurtain --skill json-schema-emails -a claude-code`. Or copy the skill folder (src/workflow/workflows/test-email-summary/skills/json-schema-emails in provos/ironcurtain) into .claude/skills/json-schema-emails in your project. Claude Code loads it when a task matches its description.

How do I install JSON Schema Emails in Codex?

Run `npx skills add provos/ironcurtain --skill json-schema-emails -a codex`. Or copy the skill folder (src/workflow/workflows/test-email-summary/skills/json-schema-emails in provos/ironcurtain) into .agents/skills/json-schema-emails in your project. Codex loads it when a task matches its description.

Can I use JSON Schema Emails in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add provos/ironcurtain --skill json-schema-emails -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/json-schema-emails, .gemini/skills/json-schema-emails, .github/skills/json-schema-emails and .opencode/skills/json-schema-emails in your project.

What does JSON Schema Emails need to run?

SKILL.md names no scripts, command-line tools or credentials: JSON Schema Emails is instructions for the agent only.

Does JSON Schema Emails access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is JSON Schema Emails safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does JSON Schema Emails use?

JSON Schema Emails is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does JSON Schema Emails use?

About 491 tokens (SKILL.md is roughly 2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to JSON Schema Emails?

Skills that share tags, products or a category with JSON Schema Emails: MCP Server Builder (anthropics/skills, 180k stars), MCP Server Builder (shareAI-lab/learn-claude-code, 78k stars), MCP Integration for Plugins (anthropics/claude-plugins-official, 38k stars) and Figma use_figma Plugin API Rules (warpdotdev/warp, 65k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains JSON Schema Emails?

provos (a GitHub user) maintains it in provos/ironcurtain, which has 613 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 7, 2026.

Source: provos/ironcurtain on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.