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 reopt-ai/reopt-skills --skill data-sdk-reviewgit clone --depth 1 https://github.com/reopt-ai/reopt-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/reopt-ai/reopt-skills/data-sdk-review)<a href="https://agentmods.dev/skills/reopt-ai/reopt-skills/data-sdk-review"><img src="https://agentmods.dev/badge/skills/reopt-ai/reopt-skills/data-sdk-review/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/reopt-ai/reopt-skills/data-sdk-review"><img src="https://agentmods.dev/badge/skills/reopt-ai/reopt-skills/data-sdk-review.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.00098 | $0.01565 |
| Opus 5 | $0.00049 | $0.00783 |
| Sonnet 5 | $0.00020 | $0.00313 |
| Haiku 4.5 | $0.00010 | $0.00156 |
Grade A, and why
data-sdk-review 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 — 64 lines — stays where its author put it; the contents beside it link to each section on GitHub.
reopt Data SDK Review
Read-only by default. Inspect and report; do not edit code, dependencies, env files, or agent markers unless the user explicitly asks for fixes.
Step 1 — Ground the review
- Detect installed versions and every import of
@reopt-ai/data-sdk*/@reopt-ai/data-contract, plus anyreopt-dataCLI call in build scripts and which package provides that bin (@reopt-ai/data-cli, or the server package's bin that existed only through0.4.x). - Read the installed client/server/devtool READMEs (and the data-cli README when it is installed) before judging behavior. Supported floor: client/server
0.2.0, optional devtool0.2.0, contract0.7.0; verified against client0.4.0, server0.5.0, contract0.10.0, data-cli0.1.0. A0.1.xclient is a finding when the project relies on error tracking: it sends flat$exception_*keys only. - Read the existing
<!-- BEGIN:reopt/data-sdk-agent-rules -->block when present; otherwise use this skill's byte-identicalagent-rules.mdfallback as review guidance. A missing block is informational in a read-only review.
Step 2 — Review categories
- Packages — versions below the supported floor, client/server version skew, invalid entrypoint for the runtime, any import of the deprecated
@reopt-ai/data-sdkmeta-package, server>= 0.5.0with a build script still calling the server bin (no@reopt-ai/data-clidev dependency), or data-cli on a Node< 22CI image. - Secrets —
clientSecretorREOPT_DATA_API_KEYinNEXT_PUBLIC_*, client components, RSC props, logs, fixtures, source control, or browser-visible devtools. - Lifecycle —
createReopt()inside a request/component, duplicate clients, fire-and-forget Node work, missingflush()/close(). - Next boundary — server package in client code, functions crossing RSC props,
getBootstrap()underuse cache/ request cache, bootstrap invented instead ofnull. - Proxy —
/ingestomitted from matcher, wrong prefix/origin, open custom rewrite, reopt before redirect/tenant routing, dropped existing response headers/cookies. - Page capture —
ReoptPageViewplus manual pageview, unbounded dynamic paths, missing web-vitals/path context where intended. - Identity — hand-built cookie names, write-key mismatch, trusted browser profile/session id, logout without
reset(), delayed conversions losingdeviceId. - Consent — external manager uses
persist: falsewithout synchronizing the proxy cookie, opt-out retains identity, server events ignore the request decision. - Error tracking —
capture.exceptionRateLimit: falsein production (or the key placed at the config root, where it is silently ignored);addExceptionStepimported from the package root instead of called on the client instance;captureExceptionin loops/retries or with credentials, tokens, or PII in properties, breadcrumbdata, or step messages; a client-computed group id instead of afingerprintsuggestion;beforeCapturethat can throw;onRequestErrormissing where server tracking exists (or its multi-projectresolvereturning credentials without the matchingwriteKey);releasehand-typed or absent while regressions are expected; maps uploaded by map filename instead of chunk URL,--url-prefixnot matching the served asset origin,sourcemap injectrunning after upload, a CI gate that treats only exit1(not6, partial failure) as failure, or browser source maps published without a decision recorded (no--delete-after-uploadand no explicit choice). - Catalogue —
reopt-data.events.jsoncommitted without itsreopt-data.events.lock.json;event push --apply --forcein CI;event verifyabsent from CI while the file is the declared truth;conversion: trueon events that are not business outcomes; high-cardinality keys inrollupProperties; atrack()wrapper that ignores theevent typesoutput while the project generates it. - Fail-open — analytics errors break checkout/render/auth, while application validation or authorization incorrectly fails open.
- Devtool/testing — forced production devtool, raw batches exposed publicly, tests mock ingest before checking the SDK-built payload, no accepted-batch or roundtrip evidence.
What ships with it
3 files 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.
- 5d ago Changed · +5 lines · +29 tokens per session 1d63b39e290b
- 10d ago First seen · 59 lines · 69 tokens per session scan A a5797e48954b
data-sdk-review is a skill published in the GitHub repository reopt-ai/reopt-skills (1 stars, last pushed 6d ago), licensed MIT. It adds 98 tokens to every session and 1,565 once invoked, about $0.0005 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
code-review-and-quality
Conducts multi-axis code review. Use before merging any change. Use when reviewing code written by yourself, another agent, or a human. Use when you need to assess code quality across multiple dimensions before it enters the main branch.
doubt-driven-development
Subjects every non-trivial decision to a fresh-context adversarial review before it stands. Use when you want every assumption cross-examined before proceeding, when stress-testing a plan for hidden failure modes, when correctness matters more than speed, when working in unfamiliar code, when stakes are high…
code-simplification
Simplifies code for clarity. Use when refactoring code for clarity without changing behavior. Use when code works but is harder to read, maintain, or extend than it should be. Use when reviewing code that has accumulated unnecessary complexity.
chinese-code-review
A Chinese-language code-review communication guide with templates and severity levels for review comments.
receiving-code-review
A guide for handling code-review feedback carefully. Code review is the process of checking proposed changes before they are accepted into a project.
requesting-code-review
A code-review procedure for checking completed work against its requirements before it spreads or is merged. A code reviewer is a person or agent who looks for defects and missing parts.