Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add mappedsky/seizu --skill skill-authoring-workflowgit clone --depth 1 https://github.com/mappedsky/seizuWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/mappedsky/seizu/skill-authoring-workflow)<a href="https://agentmods.dev/skills/mappedsky/seizu/skill-authoring-workflow"><img src="https://agentmods.dev/badge/skills/mappedsky/seizu/skill-authoring-workflow/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/mappedsky/seizu/skill-authoring-workflow"><img src="https://agentmods.dev/badge/skills/mappedsky/seizu/skill-authoring-workflow.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00041 | $0.02117 |
| Opus 5 | $0.00020 | $0.01059 |
| Sonnet 5 | $0.00008 | $0.00423 |
| Haiku 4.5 | $0.00004 | $0.00212 |
Grade A, and why
skill-authoring-workflow scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 99 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Help implement the Seizu skill authoring request the request input carries.
Inputs — the values arrive in the ## Inputs block below these instructions: They are inputs to THIS skill, not arguments to any tool.
request— the skillset or skill authoring change to design or apply.target_skillset_id— the existing or proposed skillset id, if known.target_skill_id— the existing or proposed skill id, if known.dry_run— when true, produce payloads without writing anything.
Never pass request, target_skillset_id, target_skill_id, or dry_run as
parameters to a skillsets__* tool — they are not recognized tool fields. When you
call a tool, map target_skillset_id to the tool's skillset_id and
target_skill_id to the tool's skill_id. Use dry_run only to decide whether to
call a write tool at all; never send it as a tool argument.
Tool arguments — use exactly these field names and no others:
- skillsets__create: skillset_id, name, description, enabled
- skillsets__update: skillset_id, name, description, enabled, comment
- skillsets__create_skill: skillset_id, skill_id, name, template, description, parameters, triggers, tools_required, enabled
- skillsets__update_skill: skillset_id, skill_id, name, template, description, parameters, triggers, tools_required, enabled, comment
- toolsets__create: toolset_id, name, description, enabled
- toolsets__update: toolset_id, name, description, enabled, comment
- toolsets__create_tool: toolset_id, tool_id, name, description, cypher, parameters, enabled
- toolsets__update_tool: toolset_id, tool_id, name, description, cypher, parameters, enabled, comment
nameandtemplateare required on every create_skill and update_skill call;nameandcypherare required on every create_tool and update_tool call.parametersis a list of objects shaped {name, type, description, required, default}.
Full-object writes: skillsets__update, skillsets__update_skill, toolsets__update, and
toolsets__update_tool REPLACE the stored record. Any optional field you omit resets to
its default (enabled -> true, parameters / triggers / tools_required -> empty). Always
call the matching get tool first (skillsets__get / skillsets__get_skill /
toolsets__get / toolsets__get_tool) and resend the complete merged object, keeping
every existing field you are not deliberately changing.
Cypher tools: toolsets__create_tool / toolsets__update_tool carry a read-only cypher
query. A write or invalid query is rejected by the create/update call, and creating a
tool is a mutating (approval-gated) action — never spend an approval on a query you have
not checked. Before any tool create/update with cypher:
- Call
graph__schemato see available node labels, relationship types, property keys, and indexes. - Call
graph__validate_querywith the tool's exact cypher. Ifvalidis false, fix the query and re-validate; do not call create_tool/update_tool until it is valid. - Call
graph__explainand read the returned plan. Prefer queries that match an indexed label/property (see the indexes from graph__schema) and avoid full scans (e.g. AllNodesScan, or a label scan over a large label); adjust the query to use an index where possible, and surface any unavoidable full scan as a risk. - Keep the tool's
parametersin sync with the cypher: every$paramthe query references MUST be declared inparameters(with a type), and remove any declared parameter the new query no longer uses. create_tool/update_tool rejects a query that references an undeclared parameter (it would otherwise fail every call), so when you change a query's parameters you must update theparameterslist in the same write. Only after the cypher validates and the plan is acceptable, call create_tool/update_tool.
Operating rules:
- Treat
dry_run=trueas plan-only. Do not call create or update tools in dry-run mode; produce the exact proposed payloads instead. - Treat
dry_run=falseas an apply request: after inspecting current state and validating cypher, you MUST call the create/update tools in this same run. Do not stop after validation or after presenting payloads — produce the output sections AND apply the changes in one pass. (Writes are confirmation-gated, so the user still approves each mutation.) The default is to apply; only use dry_run=true when the request explicitly asks for a preview or plan. - Never delete a skillset or skill from this workflow. If deletion seems necessary, recommend it separately and require explicit user confirmation outside this skill.
- Preserve existing enabled state unless the request explicitly says otherwise.
- Use lower_snake_case IDs, at most 31 characters each (so the full skillset__skill / toolset__tool name stays under the 64-char limit). Do not rename IDs unless the user explicitly requests a migration.
- Keep templates actionable: include required tool order, output format, evidence rules, and limits.
- Every tool named in a template's workflow must appear in tools_required unless it is only mentioned as an example.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- today First seen · 99 lines · 41 tokens per session scan A bebec0fdbda9
skill-authoring-workflow is a skill published in the GitHub repository mappedsky/seizu (5 stars, last pushed today), licensed Apache-2.0. It adds 41 tokens to every session and 2,117 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-11.
Other skills, from other repositories
tutti-agent-workspace-app
Build or evolve a complex agent-enabled Tutti workspace app repository. Use for Tutti apps with web/server/shared monorepos, @tutti-os/agent-acp-kit local agent runtimes, kit-owned TUTTICLI agent/composer discovery, dynamic agent catalogs, run-scoped MCP tool gateways, app-owned package builders, web-first debugging…
assimilate-popular-workflows
This skill should be used when the user asks to "find skills in the wild", "assimilate popular workflows", "discover SKILL.md files in repos", "research external skills", "find workflow patterns", "survey the skill landscape", "what skills exist out there", or wants to investigate public repositories for extractable…
mcp-app-verification
Comprehensive verification checklists for MCP Apps. Tests with basic-host reference, validates handler-before-connect, text fallback, resource URI linking, single-file bundling, host styling, CSP, and legacy pattern detection.
verification-suite
Plan structure validation, phase completeness checks, reference integrity verification, and artifact existence confirmation. Provides the structured verification layer ensuring GSD artifacts are well-formed and complete.
mcp-app-scaffolding
Scaffolds MCP App project structure with correct directory layout, dependencies, entry points, and framework-specific templates. Handles React (useApp hook), Vanilla JS, Vue, Svelte, Preact, and Solid.
mcp-csp-investigation
Comprehensive Content Security Policy audit for MCP Apps in sandboxed iframes. Discovers all network origins, traces them to source, and generates CSP configuration for registerAppResource.