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 Lonsdale201/wp-agent-skills --skill br-woo-analyticsgit clone --depth 1 https://github.com/Lonsdale201/wp-agent-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/lonsdale201/wp-agent-skills/br-woo-analytics)<a href="https://agentmods.dev/skills/lonsdale201/wp-agent-skills/br-woo-analytics"><img src="https://agentmods.dev/badge/skills/lonsdale201/wp-agent-skills/br-woo-analytics/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/lonsdale201/wp-agent-skills/br-woo-analytics"><img src="https://agentmods.dev/badge/skills/lonsdale201/wp-agent-skills/br-woo-analytics.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.00064 | $0.01314 |
| Opus 5.5 | $0.00026 | $0.00526 |
| Sonnet 5.5 | $0.00013 | $0.00263 |
| Haiku 4.5 | $0.00006 | $0.00131 |
Grade A, and why
br-woo-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 4d 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 — 122 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Better Route WooCommerce Analytics
Use the report service for staff reporting over native WooCommerce Analytics. Register only the reports the application needs; the CRUD registrar does not add them.
Register a report
use BetterRoute\BetterRoute;
use BetterRoute\Http\Response;
use BetterRoute\Integration\Woo\WooAnalyticsOpenApi;
add_action('rest_api_init', static function (): void {
$analytics = BetterRoute::wooAnalyticsService();
$router = BetterRoute::router('myapp', 'v1');
$report = 'revenue/stats';
$router->get('/analytics/revenue', static function ($request) use ($analytics, $report): Response {
return new Response(
$analytics->report($report, $request),
200,
['Cache-Control' => 'private, no-store']
);
})
->permission(static fn (): bool => current_user_can('view_woocommerce_reports'))
->args(WooAnalyticsOpenApi::args($report))
->meta(WooAnalyticsOpenApi::meta($report));
$router->register();
});
This example uses the current native WP user. Add the application's actual
authentication before accessing reports. JWT/Bearer middleware must establish the
native WP identity; protectedByMiddleware() declares intent but adds no auth.
Keep application rate limits and avoid shared response caches.
The service always enforces view_woocommerce_reports and dispatches through native
REST permission checks under that same user. Stock retains its extra native product
permissions. There is no loopback HTTP request, privilege elevation or import trigger.
Reports and queries
Use reports() to obtain the fixed report list:
revenue/stats, orders/stats, products, products/stats, categories,
customers, customers/stats, coupons, coupons/stats, taxes, stock, variations.
after/beforeare ISO8601 datetimes, defaulting to the last seven days in the shop timezone. Explicit offsets are converted to that timezone. The maximum window is 366 days, or 31 days for hourly intervals. Reversed windows fail.compare_afterandcompare_beforemust be supplied together. Each window is independently validated; comparison output is returned incomparison.- Paginated reports accept
page1..10000 andper_page1..100. Over-limit values fail rather than clamp. Use report-specificorderby,orderandsegmentby. intervalis hour/day/week/month/quarter/year only for reports that support it.customers/statsmaps dates to registration dates and accepts no pagination or interval. Stock accepts no dates or comparison window.- Unsupported query keys fail, including WordPress globals
_locale,_fields,_embedandcontext. Do not apply the CRUD parser's global-parameter allowance to Analytics. An adapter may remove a known transport-only key such as_locale; continue rejecting every other unsupported key rather than silently dropping all unknown parameters.
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.
- 4d ago First seen · 122 lines · 64 tokens per session scan A 9ec8309bd88b
br-woo-analytics is a skill published in the GitHub repository Lonsdale201/wp-agent-skills (24 stars, last pushed 4d ago), licensed MIT. It adds 64 tokens to every session and 1,314 once invoked, about $0.0003 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-21.
Other skills, from other repositories
renewal-playbook
Crea un playbook de renovación estructurado para una cuenta de cliente. Úsalo cuando necesites planificar una renovación, estructurar una negociación de renovación, prepararte para una conversación de expansión, o construir una estrategia de renovación para cuentas en riesgo o saludables. Produce un brief de…
commerce-app-business-config
Manage custom business configuration in an Adobe Commerce app. Use when the user wants to add, modify, or remove merchant-configurable settings (config fields, admin config, store configuration) exposed through Commerce Admin. Creates typed config fields (text, password, email, url, tel, boolean, list) in…
acp
This page used to hold an archived copy of this skill. The archive now lives in the registry's data repository.
payment-gateway-expert
Expert guide for integrating payment gateways (Stripe, PayPal, Xendit, Midtrans, DOKU SNAP BI) and secure webhooks into SaaS platforms / Panduan ahli integrasi payment gateway dan webhook aman.
marketplace-purchase-vetting
Use this when the user asks whether a local listing is a scam, "too good to be true," worth looking at, or a good deal. Also use this when he asks you to find options — search/discover candidates, then vet the best ones. The goal is not a generic buying guide; it is a practical risk read with clear next steps.
agent-ready-mpp
Sub-skill: Implement MPP Payment Discovery. Publish OpenAPI with x-payment-info extensions so AI agents discover payable endpoints via Machine Payment Protocol (mpp.dev).