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 agentmods add skills/azeemkafridi/bulkpublish-api/get-analyticsnpx skills add azeemkafridi/bulkpublish-api --skill get-analyticsgit clone --depth 1 https://github.com/azeemkafridi/bulkpublish-apiWrote 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/azeemkafridi/bulkpublish-api/get-analytics)<a href="https://agentmods.dev/skills/azeemkafridi/bulkpublish-api/get-analytics"><img src="https://agentmods.dev/badge/skills/azeemkafridi/bulkpublish-api/get-analytics.svg" alt="Measured on agentmods" 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.00028 | $0.01258 |
| Opus 5 | $0.00014 | $0.00629 |
| Sonnet 5 | $0.00006 | $0.00252 |
| Haiku 4.5 | $0.00003 | $0.00126 |
Grade A, and why
get-analytics 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 5d 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 — 100 lines — stays where its author put it; the contents beside it link to each section on GitHub.
BulkPublish — Analytics Reference
Tools
| Tool | Use for | Key params |
|---|---|---|
get_analytics |
Overall summary for a date range | startDate, endDate (ISO dates) |
get_post_metrics |
Single post engagement | postId |
get_quota_usage |
Plan limits and current usage | none |
list_posts |
Find posts to analyze | status, approvalStatus, from, to, channelId, search |
get_analytics response shape
Returns: total posts, status breakdown (any of the 7 post statuses: draft, scheduled, publishing, published, processing, failed, partial), per-platform counts, daily post counts for the range.
Posts also carry approvalStatus (none default | pending | approved | rejected), which is separate from status — filter list_posts with approvalStatus: "pending" to see the team approval queue. Pending and rejected posts never publish on their own.
get_post_metrics response shape
Returns per-platform: likes, comments, shares, impressions, reach, clicks, saves, videoViews, engagementRate.
Plus linkClicks (and totals.linkClicks / totalLinkClicks): clicks on
bulkpubli.sh short links, measured by BulkPublish rather than reported by the
platform.
Never report a 0 without checking supportedMetrics first
Every platform entry carries two support fields:
metricsSupported—falsewhen the platform has no per-post statistics API at all.supportedMetrics— the list of metric keys that platform can populate.
All metric columns are stored as integers defaulting to 0, so a metric the
platform never reports is indistinguishable from a real zero unless you read
supportedMetrics. A key that is not in that list is not a measurement —
say "not reported by " or show a dash. Reporting it as 0 tells the
user their post got zero engagement when the platform simply has no such metric.
linkClicks is the one metric every platform has
linkClicks is measured by BulkPublish, not the platform, so it is populated
even for the platforms in the "reports nothing" row below, and supportedMetrics
always contains it. Two rules when reporting it:
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.
- 5d ago First seen · 100 lines · 28 tokens per session scan A 18313327012a
get-analytics is a skill published in the GitHub repository azeemkafridi/bulkpublish-api (1 stars, last pushed 2d ago), licensed MIT. It adds 28 tokens to every session and 1,258 once invoked, about $0.0001 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-08-31.
Other skills, from other repositories
prepare-release
Prepare a release (phases 1-6). Usage: /prepare-release [version]. If version omitted, infers from conventional commits. Coordinates agents for review, runs prepare-release.sh, then enhances release notes with rich formatting.
prereview
Review unpushed commits before pushing for code quality, bugs, security issues, and error handling. Use when preparing to push commits, want pre-push code review, or need to validate changes before pushing. Runs comprehensive analysis using specialized review agents.
explore-api
Explore an OpenAPI spec's structure using parse and walk tools.
gen-test
Generate test scaffolding for a Go file following oastools conventions. Usage: /gen-test [function names...].
diff-specs
Compare two OpenAPI spec versions, highlight breaking changes, and suggest migration steps.
publish-release
Publish a prepared release (phase 7). Usage: /publish-release . Requires version argument. Wraps publish-release.sh for deterministic execution.