MCP Server Builder
anthropics/skills
Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.
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.
$ npx skills add provos/ironcurtain --skill json-schema-emails -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install provos/ironcurtain json-schema-emails --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "json-schema-emails" agent skill from https://github.com/provos/ironcurtain/tree/master/src/workflow/workflows/test-email-summary/skills/json-schema-emails into .claude/skills/json-schema-emails/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "json-schema-emails", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/provos/ironcurtain/tree/master/src/workflow/workflows/test-email-summary/skills/json-schema-emailsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add provos/ironcurtain --skill json-schema-emails -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install provos/ironcurtain json-schema-emails --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/provos/ironcurtain.git skills-src && mkdir -p .agents/skills && cp -r skills-src/src/workflow/workflows/test-email-summary/skills/json-schema-emails .agents/skills/json-schema-emails && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "json-schema-emails" agent skill from https://github.com/provos/ironcurtain/tree/master/src/workflow/workflows/test-email-summary/skills/json-schema-emails into .agents/skills/json-schema-emails/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "json-schema-emails", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add provos/ironcurtain --skill json-schema-emails -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install provos/ironcurtain json-schema-emails --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/provos/ironcurtain.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/src/workflow/workflows/test-email-summary/skills/json-schema-emails .cursor/skills/json-schema-emails && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "json-schema-emails" agent skill from https://github.com/provos/ironcurtain/tree/master/src/workflow/workflows/test-email-summary/skills/json-schema-emails into .cursor/skills/json-schema-emails/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "json-schema-emails", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/provos/ironcurtain.git --path src/workflow/workflows/test-email-summary/skills/json-schema-emails--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add provos/ironcurtain --skill json-schema-emails -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install provos/ironcurtain json-schema-emails --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/provos/ironcurtain.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/src/workflow/workflows/test-email-summary/skills/json-schema-emails .gemini/skills/json-schema-emails && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "json-schema-emails" agent skill from https://github.com/provos/ironcurtain/tree/master/src/workflow/workflows/test-email-summary/skills/json-schema-emails into .gemini/skills/json-schema-emails/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "json-schema-emails", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install provos/ironcurtain json-schema-emailsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add provos/ironcurtain --skill json-schema-emails -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/provos/ironcurtain.git skills-src && mkdir -p .github/skills && cp -r skills-src/src/workflow/workflows/test-email-summary/skills/json-schema-emails .github/skills/json-schema-emails && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "json-schema-emails" agent skill from https://github.com/provos/ironcurtain/tree/master/src/workflow/workflows/test-email-summary/skills/json-schema-emails into .github/skills/json-schema-emails/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "json-schema-emails", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add provos/ironcurtain --skill json-schema-emails -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install provos/ironcurtain json-schema-emails --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/provos/ironcurtain.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/src/workflow/workflows/test-email-summary/skills/json-schema-emails .opencode/skills/json-schema-emails && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "json-schema-emails" agent skill from https://github.com/provos/ironcurtain/tree/master/src/workflow/workflows/test-email-summary/skills/json-schema-emails into .opencode/skills/json-schema-emails/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "json-schema-emails", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
json-schema-emailsCanonical 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. 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.
Read from SKILL.md and the folder at commit d51a346. It shows what the files ask for, not the result of running them.
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.
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.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
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.
The full file from provos/ironcurtain at commit d51a346, republished under its Apache-2.0 licence (© provos). 248 words, ~491 tokens.
.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.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.
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).
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.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
SKILL.md and 1 other file in src/workflow/workflows/test-email-summary/skills/json-schema-emails of provos/ironcurtain.
Open the folder on GitHubat commit d51a346
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| JSON Schema Emails this skillprovos/ironcurtain | 613 | — | ~491 | Automated safety check: Pass | Apache-2.0 | |
| MCP Server Builderanthropics/skills | 180k | 64 repos | ~2.3k | Automated safety check: Pass | Apache-2.0 | |
| MCP Server BuildershareAI-lab/learn-claude-code | 78k | 5 repos | ~1.2k | Automated safety check: Pass | MIT | |
| MCP Integration for Pluginsanthropics/claude-plugins-official | 38k | 11 repos | ~3.1k | Automated safety check: Pass | Apache-2.0 | |
| Figma use_figma Plugin API Ruleswarpdotdev/warp | 65k | 4 repos | ~4.4k | Automated safety check: Pass | AGPL-3.0 | |
| Stitch to Remotion Walkthrough Videosgoogle-labs-code/stitch-skills | 8.4k | 6 repos | ~3.2k | Automated safety check: Notes | Apache-2.0 |
anthropics/skills
Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.
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.
anthropics/claude-plugins-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.
warpdotdev/warp
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.
google-labs-code/stitch-skills
Builds walkthrough videos from Stitch design projects using Remotion, with transitions, zoom effects and text overlays on each screen.
coollabsio/coolify
A skill your agent uses for Laravel MCP development. An agent skill from coollabsio/coolify.
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…
provos/ironcurtain
Markdown formatting conventions for email summary documents — heading depth, list style, line length, emoji policy, and a mandatory provenance footer.
provos/ironcurtain
Reference for Gmail's search query syntax — operators like is:sent, newerthan:, from:, has:attachment, label:, and how they compose.
provos/ironcurtain
Tone and length conventions for email summaries — voice, verb tense, what to include vs omit, and target sentence count.
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…
provos/ironcurtain
Reference vocabulary for interpreting vulnerability findings — detector-vs-impact distinction, severity anchoring on demonstrated evidence, the eleven-item interpretation rubric, delegation…
Works with
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.
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.
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.
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.
SKILL.md names no scripts, command-line tools or credentials: JSON Schema Emails is instructions for the agent only.
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.
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.
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.
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.
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.
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.