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 synaptiai/synapti-marketplace --skill workflow-validationgit clone --depth 1 https://github.com/synaptiai/synapti-marketplaceWrote 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/synaptiai/synapti-marketplace/workflow-validation)<a href="https://agentmods.dev/skills/synaptiai/synapti-marketplace/workflow-validation"><img src="https://agentmods.dev/badge/skills/synaptiai/synapti-marketplace/workflow-validation/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/synaptiai/synapti-marketplace/workflow-validation"><img src="https://agentmods.dev/badge/skills/synaptiai/synapti-marketplace/workflow-validation.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.00135 | $0.01276 |
| Opus 5.5 | $0.00054 | $0.00510 |
| Sonnet 5.5 | $0.00027 | $0.00255 |
| Haiku 4.5 | $0.00014 | $0.00128 |
Grade A, and why
workflow-validation 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 1mo ago.
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 — 62 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Workflow Validation
Contract
Iron law: a workflow that schema-validates but references a non-existent skill is a bug waiting to fire at runtime — cross-reference validation catches it at author time. Invoked by /flow:workflow validate <id> (read-only, Tier 1) and by CI workflow schema gates, with a workflow id that maps to .flow/workflows/<id>.workflow.yaml (project-local override) or plugins/flow/workflows/<id>.workflow.yaml. Returns the JSON report below on stdout with exit 0 (pass), 1 (any cross-reference, tier-3, or native-slash violation), or 2 (schema invalid). Permitted skips: none — every step runs in order; a schema failure stops after Step 1 with overall: schema_invalid.
Output
{
"workflow_id": "start-issue",
"source_file": "plugins/flow/workflows/start-issue.workflow.yaml",
"schema_valid": true,
"cross_reference_errors": [
{
"type": "missing_skill",
"name": "specifcation-capture",
"source_file": "plugins/flow/workflows/start-issue.workflow.yaml",
"example": "required_skills:\n - specification-capture # correct spelling"
}
],
"tier3_violations": [],
"native_slash_violations": [],
"overall": "pass"
}
Every violation carries source_file (the YAML actually loaded) and example (a corrected YAML snippet); commands/workflow.md:validate prints both beneath each error.
Steps
- Schema validation with the
completion_gate.requiresdeprecation shim. Load the YAML, rename legacycompletion_gate.requirestodocumented_requirementsin memory (WARN on stderr; when both are present drop the legacy field with a WARN), thenjsonschema.validatein the same Python process — the CLI validator re-reads from disk and bypasses the shim. Canonical invocation:references/workflow-validation-shim.md. Failure → first error intocross_reference_errors,overall: schema_invalid, stop. - Required skills: for each
required_skills[]entry,[ -f "plugins/flow/skills/${skill_name}/SKILL.md" ]. Missing →{"type": "missing_skill", "name", "source_file", "example": "required_skills:\n - <correct-skill-name>\n# check plugins/flow/skills/ for existing skill directory names"}. - Required agents: for each
required_agents[]entry,[ -f "plugins/flow/agents/${agent_name}.md" ]. Missing →{"type": "missing_agent", ..., "example": "required_agents:\n - <correct-agent-name>\n# check plugins/flow/agents/*.md for available agents"}. - Activity-level references: walk
phases[].activities[]; apply Step 2 to eachskillfield and Step 3 to eachagentfield. - Tier classification: in
tier_classification,mergeandreleaseMUST beconfirm, andtag_pushMUST beconfirmwhen present. Any set toautonomousorjournal→tier3_violations.append({"action", "value", "expected": "confirm", "source_file", "example": "tier_classification:\n merge: confirm # Tier 3 must be confirm — non-negotiable per the Iron Law"}). Hard fail — matchestrigger-policyStep 2; "No Irreversible Actions Without Approval" is non-negotiable, so a downgraded workflow is broken by construction, never a legitimate override. - No native slash: grep the YAML for
/goal\b,/loop\b,/schedule\b,/routine\boutsidedescriptionfields. Any invoked dependency (e.g.,command: /goal foo) →native_slash_violations. Hard fail — plugins cannot invoke native slash commands. - Completion gate:
completion_gate.documented_requirementsis advisory free-text; commands enforce their own gates. Verify only presence and non-emptiness (the schema'sminItems: 1already does). No cross-reference to activityevidencefields. - Overall verdict:
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.
- 1mo ago Changed 6a07bab0b44d
- 1mo ago First seen · 62 lines · 135 tokens per session scan A 5da3bbfbe255
workflow-validation is a skill published in the GitHub repository synaptiai/synapti-marketplace (7 stars, last pushed 4d ago), licensed Apache-2.0. It adds 135 tokens to every session and 1,276 once invoked, about $0.0005 per session on Opus 5.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-10.
Other skills, from other repositories
create-or-update-concepts
Scan and analyze the project codebase to create or update concept files in agents-context/concepts/ (organized by domains/, source/, shared/) and update the README index and Load-When Cheatsheet.
step2-scope-tasks
Break a specification into ordered task groups with explicit context-awareness directives.
step1-write-spec
Gather requirements through structured Q&A, then formalize into a specification document.
create-pr
Creates a GitHub Pull Request on the current branch with a description focused on WHAT changed (not HOW). Uses emojis in the title and description. Use when the user asks to create a PR, open a pull request, or submit changes for review. Triggers on mentions of PR, pull request, merge request, or code review.
plan-product
Define product mission, vision, target users, and technology stack.
step4-archive-spec
Archive a completed spec — moves it to specs-archived and blocks agent access.