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 diagrid-labs/dapr-skills --skill review-pubsub-publishinggit clone --depth 1 https://github.com/diagrid-labs/dapr-skillsWrote 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/diagrid-labs/dapr-skills/review-pubsub-publishing)<a href="https://agentmods.dev/skills/diagrid-labs/dapr-skills/review-pubsub-publishing"><img src="https://agentmods.dev/badge/skills/diagrid-labs/dapr-skills/review-pubsub-publishing/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/diagrid-labs/dapr-skills/review-pubsub-publishing"><img src="https://agentmods.dev/badge/skills/diagrid-labs/dapr-skills/review-pubsub-publishing.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.00062 | $0.01027 |
| Opus 5.5 | $0.00025 | $0.00411 |
| Sonnet 5.5 | $0.00012 | $0.00205 |
| Haiku 4.5 | $0.00006 | $0.00103 |
Grade A, and why
review-pubsub-publishing 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 2d 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 — 56 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Review Dapr Pub/sub — Publishing
Overview
Reviews the code that publishes events through Dapr pub/sub (PublishEventAsync, BulkPublishEventAsync, publish_event, publish_events, raw /v1.0/publish/ calls). Checks for unawaited or swallowed publish failures, a pub/sub name that matches no component, missing content types, client lifetime problems, ignored bulk-publish failures, tracing overrides and large payloads. Read-only: this skill never modifies source files. Subscribers, handlers and component YAML are out of scope and are covered by review-pubsub-subscriptions and review-pubsub-components.
Execution Order
You MUST follow these phases in strict order. Do not load files outside the agreed scope, and do not write or edit any files.
- Resolve scope — Read
../dapr-shared/review-scope-prompt.mdand follow it to setscope_root. - Detect target — Read
../dapr-shared/review-detect-target-pubsub.mdand follow it to producelanguage,publisher_filesandcomponent_files. Ifpublisher_filesis empty, emit the "Nothing to review" report defined inreview-report-format.mdwith the reasonno pub/sub publishing files found in <scope_root>(no rule id, not counted inFound:) and stop. - Load checklist — Based on
language, read exactly one of:dotnetoraspire→../dapr-shared/review-pubsub-publishing-dotnet.mdpython→../dapr-shared/review-pubsub-publishing-python.md
- Apply rules — Walk every file in
publisher_filesagainstDPS-PUB-001…DPS-PUB-012as the checklist defines them. Resolve constants (PubSubNames.PubSubName,PUBSUB_NAME) before comparing names withcomponent_files. Rules marked "reserved" for the loaded language do not apply. Honour the checklist's confidence notes: low-confidence matches go under## Please verify, never under## Critical. - Report — Format every finding using the canonical template from
../dapr-shared/review-report-format.md. Group by severity, then rule id, then file path. If the scope holds more than one language, produce one report per language. - Show final message — Your last output is the report. Do not append a summary or next-action prompt other than the
## Next stepsblock defined by the report format. Clarifying questions are always allowed during the review (see the report format); once answered, the report is still your last output.
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.
- 2d ago Changed · -17 tokens per session e8bbd0305ae4
- 6d ago First seen · 56 lines · 79 tokens per session scan A 39c84203fb43
review-pubsub-publishing is a skill published in the GitHub repository diagrid-labs/dapr-skills (13 stars, last pushed 2d ago), licensed MIT. It adds 62 tokens to every session and 1,027 once invoked, about $0.0002 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-10-14.
Other skills, from other repositories
code-review
A structured code-review guide that checks code for correctness, security, edge cases, concurrency problems, tests, and maintainability.
offensive-api-abuse
Advanced API exploitation methodology focused on business logic abuse and sophisticated attack patterns that bypass traditional security controls. Covers business logic bypass through API call chaining and workflow manipulation. Addresses GraphQL-specific attacks including batching for credential brute-force, query…
flow-next-resolve-pr
Resolve PR review feedback. Fetches unresolved threads, triages, fixes, replies and resolves via GraphQL. Use when asked to address review comments.
pr-description-writer
Redacta una descripción de pull request clara y estructurada a partir de un diff de git, resumen de rama o lista de commits. Úsalo cuando te pidan escribir una descripción de PR, redactar una solicitud de cambios o documentar cambios de código. Produce una descripción con resumen, motivación, cambios realizados, pasos…
resolve-pr-comments
Evaluate, fix, answer, and reply to GitHub pull request review comments and conversation comments. Handles both change requests (fix or skip) and reviewer questions (explain using the rationale recalled from past Claude Code transcripts). Use when the user asks to "resolve PR comments", "fix review comments", "address…
reply-to-pr-threads
Draft, confirm, and post replies to GitHub PR review threads. Handles per-category reply formatting, re-fetches thread resolution state so auto-resolved threads are skipped, posts via GraphQL, resolves threads whose entry carries a resolution reason, and dismisses the code-scanning alert behind a thread whose entry…