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 jmagly/aiwg --skill civic-publish-gategit clone --depth 1 https://github.com/jmagly/aiwgWrote 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/jmagly/aiwg/civic-publish-gate)<a href="https://agentmods.dev/skills/jmagly/aiwg/civic-publish-gate"><img src="https://agentmods.dev/badge/skills/jmagly/aiwg/civic-publish-gate/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/jmagly/aiwg/civic-publish-gate"><img src="https://agentmods.dev/badge/skills/jmagly/aiwg/civic-publish-gate.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00035 | $0.00366 |
| Opus 5 | $0.00017 | $0.00183 |
| Sonnet 5 | $0.00007 | $0.00073 |
| Haiku 4.5 | $0.00003 | $0.00037 |
Grade A, and why
civic-publish-gate 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 6d 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.
What it actually says
Civic Publish Gate
Process
- Supply a versioned publication packet with per-section count/freshness rules, claims, sources, links, structured-data validation, accessibility, privacy, correction state, static/CMS adapter results, and human review.
- Run
aiwg run skill civic-publish-gate -- packet.json. - Remediate every block. Warnings require visible human disposition.
- Treat automated accessibility checks as evidence only, never a complete WCAG conformance determination.
- Publication remains an external human action even after a machine pass.
- Verify the live page, last-good copy, sitemap, reindex, and cache handoffs; each must pass or be explicitly not applicable before publication completes.
Output
A schema-valid publication gate report. Exit 1 means blocked; exit 2 means
invalid input/usage. The command never writes to a CMS or external service.
References
schemas/publication-gate-result.schema.jsonrules/publication-human-review.mddocs/research/control-source-matrix.md- media-marketing-kit
qa-protocolandapproval-workflow; ops-completeops-verify
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 6d ago First seen · 43 lines · 35 tokens per session scan A 071389249c97
civic-publish-gate is a skill published in the GitHub repository jmagly/aiwg (210 stars, last pushed today), licensed MIT. It adds 35 tokens to every session and 366 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-05.
Other skills, from other repositories
security-compliance
Guides security professionals in implementing defense-in-depth security architectures, achieving compliance with industry frameworks (SOC2, ISO27001, GDPR, HIPAA), conducting threat modeling and risk assessments, managing security operations and incident response, and embedding security throughout the SDLC.
memstack-business-gdpr
Use this skill when the user says 'GDPR', 'data protection', 'privacy compliance', 'DPA', 'DSAR', 'data subject request', 'cookie consent', 'privacy audit', 'CCPA', or asks 'do I need GDPR for this repo'. Scans the repository to detect what personal data is collected, classifies sensitivity, determines whether GDPR…
lifecycle-messaging
Email/SMS lifecycle and deliverability framework for SMB Product-Builder products that send transactional or lifecycle messages (booking reminders, CRM sequences, receipts, win-back). Codifies provider selection (Resend/Postmark/Twilio/SendGrid), domain auth (SPF/DKIM/DMARC), consent and compliance (TCPA, CAN-SPAM…
surge
Use when a user provides a PRD, spec, or detailed requirements document and needs a full project delivered through iterative expert orchestration — multi-round analyze/research/design/implement/QA cycles with convergence detection. NOT for: single-file edits, quick prototypes, simple Q&A, or tasks without a written…
kdd-privacy-scan
Guia a cualquier agente (no depende de ningun modelo puntual) para producir un scan de datos personales/PII y su base legal de tratamiento en el formato de contrato de Capa 3 de KDD -- findings.json -- que despues gatea scripts/validateprivacyfindings.py. Usala cuando se pida mapear datos personales que recolecta un…
goal-writer
Drafts a goal+rider document pair that briefs an autonomous coding agent on one round of work — a goal file under 4,000 characters (sized to fit the /goal command in both Claude Code and Codex) plus an unbounded rider with phased plans and named depth tests. Use when the user says "draft a goal", "write a goal+rider"…