{"provider":{"host":"api.aiskills402.com","name":"x402 Settlement Review","score":63.1,"live":true,"checkedAt":"2026-10-27T18:27:12.083Z","uptime72h":100,"lastCheck":{"httpStatus":402,"ms":396,"note":"valid x402 v2 terms"},"endpoints":172,"networks":["eip155:8453"],"cheapestUsd":"0.003","income7dUsd":"3.811","payers7d":15,"transfers7d":73,"payoutAddressShared":true,"claimed":false,"page":"https://logicnodes.io/observatory/p/api.aiskills402.com"},"endpoints":[{"url":"https://api.aiskills402.com/v1/run/bulgarian-transliteration","method":"POST","priceMicroUsd":3000,"networks":["eip155:8453"],"description":"Bulgarian Transliteration API: Cyrillic to Latin by the official Bulgarian system (Transliteration Act 2009), not ISO 9 or Russian. Returns the text, a URL slug and the letters Bulgarian does not have. Deterministic code, no language model. $0.003 USDC per call, no account. POST JSON {input}, up to 60000 chars; free example at https://api.aiskills402.com/v1/run/bulgarian-transliteration/example"},{"url":"https://api.aiskills402.com/v1/run/jsonl-repair","method":"POST","priceMicroUsd":3000,"networks":["eip155:8453"],"description":"JSONL Repair API: turns broken JSON Lines (NDJSON) into one valid record per line - joins, splits, unwraps, drops fences and chat text, fixes quotes, keys, commas, Python literals; numbers copied as written. $0.003 USDC per call, no account, no language model: a cut-off record, repeated key or ambiguous leading zero gets a paid CANNOT REPAIR verdict. POST JSON {input} up to 60 000 chars; free example at https://api.aiskills402.com/v1/run/jsonl-repair/example"},{"url":"https://api.aiskills402.com/v1/run/markdown-table-repair","method":"POST","priceMicroUsd":3000,"networks":["eip155:8453"],"description":"Markdown Table Repair API: turns a broken table, tab-separated text or an HTML table into a GFM table without changing any cell - adds the alignment row and pipes, escapes a pipe in a cell, pads short rows; 007 and 1.10 stay as written. $0.003 USDC per call, no account, no language model: a too-long row or an ambiguous pipe gets a paid CANNOT REPAIR verdict. POST JSON {input} up to 60 000 chars; free example at https://api.aiskills402.com/v1/run/markdown-table-repair/example"},{"url":"https://api.aiskills402.com/v1/run/csv-repair","method":"POST","priceMicroUsd":4000,"networks":["eip155:8453"],"description":"CSV Repair API: turns CSV a parser rejects into valid CSV without changing any cell - fixes quotes, pads short rows, unwraps Markdown tables, chat text and fences; 1,250 and 007 stay as written. $0.004 USDC per call, no account, no language model: a too-long row, an ambiguous row or prose with no table gets a paid CANNOT REPAIR verdict. POST JSON {input} up to 60 000 chars; free example at https://api.aiskills402.com/v1/run/csv-repair/example"},{"url":"https://api.aiskills402.com/v1/run/mojibake-repair","method":"POST","priceMicroUsd":4000,"networks":["eip155:8453"],"description":"Mojibake Repair API: undoes broken encoding (UTF-8 read as Windows-1252, Latin-1 or Windows-1251, once or twice) byte by byte. Deterministic code, no language model: mixed, half-damaged or lost-byte text gets a CANNOT REPAIR verdict instead of a guess (still one paid call). $0.004 USDC per call, no account. POST JSON {input}, up to 60000 chars; free example at https://api.aiskills402.com/v1/run/mojibake-repair/example"},{"url":"https://api.aiskills402.com/v1/run/base-receipt-verify","method":"POST","priceMicroUsd":5000,"networks":["eip155:8453"],"description":"Base Receipt Verify API: checks on Base mainnet that a transaction really paid USDC to an address - status, transfer, amount, payer and EIP-3009 nonce from the chain logs, never from the relayer. Base mainnet USDC only. $0.005 USDC per check, a live measurement. POST JSON {tx, pay_to, amount_micro?, from?, nonce?}; free example at https://api.aiskills402.com/v1/run/base-receipt-verify/example"},{"url":"https://api.aiskills402.com/v1/run/cron-dialect-convert","method":"POST","priceMicroUsd":5000,"networks":["eip155:8453"],"description":"Cron Dialect Convert API: moves a schedule between crontab, GitHub Actions, Cron Hub, Quartz and Cloudflare Workers Cron Triggers so the target fires at exactly the same times - weekday numbers, either/both day rules, macros, time zones. $0.005 USDC per call, no account, no language model: what cannot run at the same times gets a paid CANNOT CONVERT verdict. POST JSON {source, target, schedule, timezone}; free example at https://api.aiskills402.com/v1/run/cron-dialect-convert/example"},{"url":"https://api.aiskills402.com/v1/run/payment-header-check","method":"POST","priceMicroUsd":5000,"networks":["eip155:8453"],"description":"Payment Header Check API: reads an x402 PAYMENT-SIGNATURE header before you send it - base64/UTF-8/JSON, version, authorization fields, clock window, who signed (lane a or b) and, with the seller PAYMENT-REQUIRED, payTo/amount/network/asset. Nothing is sent anywhere. $0.005 USDC per check. POST JSON {payment_signature, payment_required?}; free example at https://api.aiskills402.com/v1/run/payment-header-check/example"},{"url":"https://api.aiskills402.com/v1/run/web-to-markdown","method":"POST","priceMicroUsd":5000,"networks":["eip155:8453"],"description":"Web to Markdown API: reads one public web page from the Cloudflare edge (static HTML, robots.txt respected, no JavaScript rendering) and returns clean markdown or plain text of the main content (nav and footer dropped; scope: page keeps all) with title, description, language and links. $0.005 USDC per page; you pay only when the page text is returned - refusals cost nothing. POST JSON {url, format?, links?, scope?}; free example at https://api.aiskills402.com/v1/run/web-to-markdown/example"},{"url":"https://api.aiskills402.com/v1/run/x402-offer-check","method":"POST","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"x402 Offer Check API: probes a public x402 storefront from the Cloudflare edge (GET, POST, OPTIONS) and reports what a buyer sees - payment-required header vs body, extra, bazaar, CORS, header size, 404 on the other method - as findings by severity. $0.01 USDC per check, a live measurement (a replayed payment header returns the receipt, not a new measurement). POST JSON {url, method?}; free example at https://api.aiskills402.com/v1/run/x402-offer-check/example"},{"url":"https://api.aiskills402.com/v1/skills/ab-test-readout-check/file","method":"GET","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"A/B Test Readout Check — Checks the written readout of ONE A/B test (a paragraph, an email, a table or a slide transcript) for the five statistical mistakes that turn a no-effect test into a \"win\", and lists only those, one line each with a fixed code, the place, the evidence with the arithmetic and the fix - or exactly No findings. It catches stopping the moment a result looks significant, many metrics or variants judged without correction, a split of users that differs from the planned split …"},{"url":"https://api.aiskills402.com/v1/skills/agent-loop-review/file","method":"GET","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"Agent Loop Review: Repeats, Caps, Self-Grading — Reviews the description, configuration or code of an agent loop, anything that repeats on its own: a scheduled job that calls a model, an agent that retries until it is done, a batch of actions, a self-improving prompt loop. It finds where the loop runs away or repeats a side effect (no ceiling on iterations, the same scheduled tick delivered twice, a progress marker written after the effect, nothing kept between iterations, a batch that goes on …"},{"url":"https://api.aiskills402.com/v1/skills/android-strings-translate/file","method":"GET","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"Android Strings Translate: strings.xml That Still Builds — Translates an Android string resource file (res/values/strings.xml) into another language and returns the whole XML file, so the Android build and the app accept it. Only the text between the tags changes. Resource names, attributes, comments, placeholders such as %1$s, %d and %%, the escapes backslash-apostrophe, backslash-quote, backslash-n and backslash-at, the quoted form for leading or trailing spaces, inline markup, CDATA sections…"},{"url":"https://api.aiskills402.com/v1/skills/carousel-slides-from-text/file","method":"GET","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"Carousel Slides From Text — Turns a source text (an article, a post, meeting notes) into the text of a carousel for LinkedIn or Instagram as strict JSON, one object with a headline and a body per slide, and nothing else. It follows the slide count you ask for (or a stated default of 5), keeps every headline to 8 words and every body to 30, makes the first slide a hook with no call to action and the last slide the call to action, copies every number, name and quote exactly as the source has it, …"},{"url":"https://api.aiskills402.com/v1/skills/code-review/file","method":"GET","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"Code Review — Reviews a code change (a diff or a changed file pasted as text) and reports real problems ranked by severity — correctness bugs, security holes, data loss, missing error handling, edge cases, resource leaks — each with location, reason and a concrete fix in words. Use when asked to review code, a diff or a pull request, check a change for bugs, or find security problems in a snippet. One-time purchase of the SKILL.md file itself (Agent Skills format), not an API call: $0.01 USDC, …"},{"url":"https://api.aiskills402.com/v1/skills/codetour-file/file","method":"GET","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"CodeTour File Builder — Turns a code tour described in words, plus the list of files with their line counts, into one valid CodeTour file (JSON with a title and steps, each step holding a file, a line and a description) and nothing else. It keeps file paths relative and exactly as listed, checks every line number against the length of its file, and leaves out a step whose file is not in the list or whose line lies past the end, naming each skipped step in the description of the tour in one fixe…"},{"url":"https://api.aiskills402.com/v1/skills/config-format-convert/file","method":"GET","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"Config Format Convert: JSON, YAML, TOML, INI, .env — Converts a config file between JSON, YAML 1.2, TOML 1.0, INI and .env with every key, value and type kept, and answers with the converted document only, no code fence. Strings that look like other things are quoted so they stay strings (the text 1.10, 007, 01234, no, null, an empty string, a date in quotes), a YAML 1.10 stays the number 1.1, aliases are expanded, TOML dates become their exact text in JSON and INI, scalars are placed before ta…"},{"url":"https://api.aiskills402.com/v1/skills/cookie-attributes-review/file","method":"GET","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"Cookie Attributes Review — Reviews the Set-Cookie headers of a response, or the code that sets them, and lists only the attribute mistakes that expose a login cookie, one line each with a fixed code, the cookie, why it hurts and the fix - or exactly No findings. It catches a session cookie sent without Secure, a session cookie that script can read because HttpOnly is missing, SameSite=None without Secure, a __Host- cookie that carries a Domain or a Path other than the root, a Domain attribute w…"},{"url":"https://api.aiskills402.com/v1/skills/cors-config-review/file","method":"GET","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"CORS Config Review — Reviews CORS code or server configuration (an Express or Flask handler, an nginx block, a framework setting) for the five mistakes that let a hostile web page read private responses, and lists only those, one line each with a fixed code, the place, why it is dangerous and the fix - or exactly No findings. It catches a request Origin copied into the allow header while cookies are allowed, a wildcard origin together with credentials, the null origin allowed, an origin check b…"},{"url":"https://api.aiskills402.com/v1/skills/csp-header-review/file","method":"GET","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"CSP Header Review — Reviews ONE Content-Security-Policy header, with any note pasted beside it, and lists only the gaps that let injected script run or let the page be framed, one line each with a fixed code, the directive, why it hurts and the fix - or exactly No findings. It catches unsafe-eval or unsafe-inline in the script directive, a star, a data source or a bare scheme as a script source, a policy with neither object-src nor a default-src, a missing base-uri, a missing frame-ancestors, a…"},{"url":"https://api.aiskills402.com/v1/skills/css-motion-review/file","method":"GET","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"CSS Motion Review — Reviews pasted CSS, Tailwind classes or JSX styles for the motion mistakes that hurt real visitors, and lists only those, one line each with a fixed code, the place, why it matters and the fix - or exactly No findings. It catches movement that starts by itself, runs longer than five seconds and has no pause control, which fails WCAG 2.2.2 at Level A, large scaling or panning motion with no reduced-motion rule anywhere, a reduced-motion rule that leaves the large motion runni…"},{"url":"https://api.aiskills402.com/v1/skills/diff-from-before-after/file","method":"GET","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"Diff From Before and After: A Patch That Applies Exactly — Writes the unified diff (the patch format of git diff and diff -u) that turns an old version of a text file into a new one, so that git apply or patch applies it to the old version with no fuzz and produces the new version byte for byte. Compares line by line with every space, tab, carriage return and final line break counting, writes each hunk with three lines of context, merges hunks whose context touches, counts the numbers in every …"},{"url":"https://api.aiskills402.com/v1/skills/dockerfile-review/file","method":"GET","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"Dockerfile Review — Reviews ONE Dockerfile for the five build mistakes that cost security or build time, and lists only those, one line each with a fixed code, the instruction, why it hurts and the fix - or exactly No findings. It catches a final image that runs as root, a base image with no tag or the latest tag, a secret passed through an argument, an environment value or a file copy so that it stays in the image history, source copied in before the dependencies are installed so the cache is …"},{"url":"https://api.aiskills402.com/v1/skills/flaky-test-review/file","method":"GET","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"Flaky Test Review — Reviews ONE test file for the five causes that make a test pass on one run and fail on the next, and lists only those, one line each with a fixed code, the test, why it flips and the fix - or exactly No findings. It catches a fixed sleep used to wait for background work, an expectation tied to today's date or the current time, tests that share state and only pass in one order, random values with no fixed seed, and a call to a real network address. It leaves out the safe look…"},{"url":"https://api.aiskills402.com/v1/skills/form-input-ux-review/file","method":"GET","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"Form Input UX Review — Reviews the HTML or JSX of one form for four input mistakes that frustrate people while they type, and lists only those, one line each with a fixed code, the field, why it hurts the user and the fix - or exactly No findings. It catches paste blocked on a password field, a field that holds a code, a ZIP code or a card number set to type number, or an email address or phone number left as plain text with no type or input mode, autocomplete switched off or given a wrong toke…"},{"url":"https://api.aiskills402.com/v1/skills/ga4-tracking-plan-limits/file","method":"GET","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"GA4 Tracking Plan Limits — Checks ONE Google Analytics 4 tracking plan (events, their parameters, and the custom dimensions to register with their scope) against the published collection limits and naming rules, and lists only the breaches, one line each with a fixed code, the item, the rule it breaks and the fix - or exactly No findings. It catches an event or parameter name longer than allowed, more parameters on one event than GA4 collects, a reserved event name or a reserved parameter name …"},{"url":"https://api.aiskills402.com/v1/skills/gdpr-cookie-consent-review/file","method":"GET","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"GDPR Cookie Consent Review: Banner, Consent Mode — Reviews a pasted snapshot of a website's cookie and consent setup (scripts in the head, the banner with each toggle's default, the Consent Mode or tag-manager setup, what a fresh browser stored and contacted before any click, the cookie table, the owner's note) against published EU law, court rulings, EDPB guidance, national regulators and vendor documents. It is a technical review, not legal advice. It flags trackers and embeds that store or r…"},{"url":"https://api.aiskills402.com/v1/skills/git-worktree-parallel-agents/file","method":"GET","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"Parallel Agent Worktree Review — Reviews a plan or shell script that lets several coding agents work in parallel, each in its own git worktree, and lists only the five mistakes that make the agents collide, one line each with a fixed code, the place, why it breaks and the fix - or exactly No findings. It catches one branch checked out in two worktrees or forced onto a second one, two agents started on the same fixed port, an untracked secret file missing in a new worktree or written by two agen…"},{"url":"https://api.aiskills402.com/v1/skills/github-actions-security-review/file","method":"GET","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"GitHub Actions Security Review — Reviews ONE GitHub Actions workflow file (YAML) for the five mistakes that let an outsider run code or read secrets in your pipeline, and lists only those, one line each with a fixed code, the place, why it is dangerous and the fix - or exactly No findings. It catches text from an issue, pull request, comment or branch name pasted straight into a shell step, a pull_request_target or workflow_run job that checks out and runs the code of the pull request, a third-…"},{"url":"https://api.aiskills402.com/v1/skills/html-email-compat-review/file","method":"GET","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"HTML Email Compatibility Review — Reviews ONE HTML email (the source of a newsletter, a receipt or a notice) for the four mistakes that make it fall apart in common mail clients, and lists only those, one line each with a fixed code, the place, which client breaks it and the fix - or exactly No findings. It catches flex or grid used to lay out columns, layout rules that exist only in a style block in the head, images with no alt attribute, and a CSS background image with no colour fallback behi…"},{"url":"https://api.aiskills402.com/v1/skills/html-to-markdown/file","method":"GET","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"HTML to Markdown: Same Page, Nothing Invented — Converts HTML into CommonMark Markdown and answers with the Markdown only, no wrapper fence. Headings become ATX headings, links keep their address byte for byte (title included), images keep their source and alt text, lists keep nesting and an ordered list keeps the number it begins with, code blocks keep their text and indentation, tables become pipe tables with literal pipes escaped, entities are decoded once so the text reads as a browser show…"},{"url":"https://api.aiskills402.com/v1/skills/iam-policy-review/file","method":"GET","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"IAM Policy Review — Reviews ONE AWS IAM policy (an identity policy, or a bucket policy) written as JSON for the five grants that hand out far more than a job needs, and lists only those, one line each with a fixed code, the statement, why it is dangerous and the fix - or exactly No findings. It catches every action on every resource or a whole service on every resource, iam:PassRole on any role, Allow combined with NotAction, a public principal with no condition, and actions that let a holder r…"},{"url":"https://api.aiskills402.com/v1/skills/json-diff-paths/file","method":"GET","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"JSON Diff Paths — Compares two pasted JSON documents, BEFORE and AFTER, and lists every value that differs as strict JSON, one entry per changed path, with the old and the new value. Paths are JSON Pointers, types are strict (the string \"1\" is not the number 1, null is not a missing key, an empty array is not an empty object), arrays are compared by index with no move detection, object key order and number spelling (1.0, 1e2) are not changes, and a document that is not valid JSON is refused, ne…"},{"url":"https://api.aiskills402.com/v1/skills/jwt-verification-review/file","method":"GET","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"JWT Verification Review — Reviews ONE piece of code that verifies JSON Web Tokens for the five mistakes that let a forged or stale token in, and lists only those, one line each with a fixed code, the function, why it hurts and the fix - or exactly No findings. It catches an algorithm taken from the token header or no fixed algorithm list, an expiry check switched off, neither audience nor issuer checked, a payload read with decode where verify is needed, and a signing secret written into the so…"},{"url":"https://api.aiskills402.com/v1/skills/kubernetes-manifest-review/file","method":"GET","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"Kubernetes Manifest Review — Reviews ONE Kubernetes Pod or Deployment manifest for the five settings that most often make a workload unsafe or unpredictable, and lists only those, one line each with a fixed code, the container or volume, why it hurts and the fix - or exactly No findings. It catches a container that is privileged or may run as root, an image with no tag or the latest tag, a container with no memory limit, a secret value written as a literal in env, and a hostPath volume. It leav…"},{"url":"https://api.aiskills402.com/v1/skills/log-lines-to-jsonl/file","method":"GET","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"Log Lines to JSON Lines, Odd Lines Kept Raw — Parses plain-text log lines into JSON Lines, one record per line, by a format the task states (Apache or nginx combined access log, RFC 5424 syslog, key=value pairs, or a custom pattern with named fields). Splits by the format's grammar and not by spaces, so quoted fields with spaces and escaped quotes stay whole. A dash that the format defines as absent becomes null, fields the task calls numbers become JSON numbers (a status stays a number, a zero…"},{"url":"https://api.aiskills402.com/v1/skills/mojibake-repair/file","method":"GET","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"Mojibake Repair: Undo Broken Encoding Exactly — Repairs mojibake, text whose accents, Cyrillic letters, quotes, dashes or emoji turned into strings such as Ã¨, Ã¼, â€œ, Ð¿Ñ€ or Р—Рґ because UTF-8 was read as Windows-1252, Latin-1 or Windows-1251, once or twice. Gives back the original text exactly, character for character, by undoing the wrong reading byte by byte, and leaves text that is already correct untouched. When the damage is mixed with good text, mixes two encodings, or lost bytes, so …"},{"url":"https://api.aiskills402.com/v1/skills/oauth-redirect-flow-review/file","method":"GET","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"OAuth Redirect Flow Review — Reviews ONE OAuth 2.0 or OpenID Connect sign-in flow written in code for the four mistakes that let an attacker steal a login or a token, and lists only those, one line each with a fixed code, the function, why it hurts and the fix - or exactly No findings. It catches a state value that is never compared or not tied to the user's session, a browser or mobile client that sends no PKCE challenge, a redirect address matched by prefix or substring, and an implicit flow …"},{"url":"https://api.aiskills402.com/v1/skills/openapi-operation-from-example/file","method":"GET","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"OpenAPI Operation Object From An Example Call — Writes one OpenAPI 3.1 operation object, as bare JSON, from an example request, an example response and rules given in words - parameters with the right location, requirement flag and type, a request body, and a response per status the person actually showed. Uses the 3.1 forms, not the 3.0 ones - a field that may be null is a type list with \"null\" (never nullable), a path parameter is always required, a status is a quoted key, an identifier writt…"},{"url":"https://api.aiskills402.com/v1/skills/platform-text-limits/file","method":"GET","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"Platform Text Limits — Counts the fields of ad and store copy against the published limit of each platform (Google responsive search ads, App Store product page, Google Play listing, X and LinkedIn posts) and returns a line only for each field that is over, with the exact count, the limit, the unit and a shortened version that fits - or exactly No findings. It counts by the platform's own rule: double-width characters in Google Ads, bytes for the App Store keywords, the fixed length of a link a…"},{"url":"https://api.aiskills402.com/v1/skills/postgres-migration-lock-review/file","method":"GET","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"PostgreSQL Migration Lock Review — Reviews ONE PostgreSQL migration file for the four statements that lock or rewrite a table that is already in use, and lists only those, one line each with a fixed code, the statement, why it hurts and the fix - or exactly No findings. It catches CREATE INDEX without CONCURRENTLY on an existing table, a not-null or constraint check run in one blocking step, a column type change or volatile default that rewrites the table, and a drop or rename of a column that …"},{"url":"https://api.aiskills402.com/v1/skills/prompt-caching-review/file","method":"GET","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"Prompt Caching Review — Reviews ONE Claude API request (tools, system, messages, the cache marks, the model, the sizes and how often it is sent) for the five reasons its prompt cache does not pay off, and lists only those, one line each with a fixed code, the place, why the cache misses and the fix - or exactly No findings. It catches text that changes on every call (a clock, a request id, a user name) at or before the cache mark, a large stable prefix with no mark, a marked prefix shorter than…"},{"url":"https://api.aiskills402.com/v1/skills/react-performance-review/file","method":"GET","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"React Performance Review — Reviews pasted React and Next.js App Router code for five performance mistakes that pass every test and then make pages slow, and lists only those, one line each with a fixed code, the place, why it costs time and the fix - or exactly No findings. It catches independent awaits written one after another so the page waits for their sum, an effect that copies something derivable during render into state, a use client mark placed on a whole page when only a small leaf nee…"},{"url":"https://api.aiskills402.com/v1/skills/redirect-map/file","method":"GET","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"Redirect Map Builder — Turns an old-URL list and the mappings you have into a redirect map as JSON - one rule per old URL, chains collapsed to the final target, loops reported and never emitted, queries and percent-encoding kept as written, and old URLs with no named target listed as unmapped instead of guessed. Also writes the same map as a Cloudflare Pages style _redirects file. Knows the status codes (301 for a moved page, 308 where the method must be kept and what Next.js really sends for p…"},{"url":"https://api.aiskills402.com/v1/skills/regex-from-examples/file","method":"GET","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"Regex From Examples for Any Script — Writes a JavaScript regular expression from a description plus lists of strings that must match and must not match, answered as JSON with the pattern and flags. Knows the traps measured in Node 24 - \\b and \\w are ASCII-only even with the u flag, so \\bдума\\b never matches Cyrillic text and \\w+ cuts \"café\" to \"caf\"; a word boundary for any script is a pair of lookarounds with \\p{L} and the u flag. Anchors a validator so extra text around the value is rejected,…"},{"url":"https://api.aiskills402.com/v1/skills/remotion-code-review/file","method":"GET","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"Remotion Code Review — Reviews pasted Remotion code (React video compositions) for the five mistakes that make a render differ from the preview or come out with missing frames, and lists only those, one line each with a fixed code, the place, why it breaks the render and the fix - or exactly No findings. It catches motion that is not driven by the frame number (CSS transitions and keyframes, timers, requestAnimationFrame, a counter held in state), Math.random in a component instead of the seede…"},{"url":"https://api.aiskills402.com/v1/skills/retry-backoff-review/file","method":"GET","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"Retry Backoff Review — Reviews ONE piece of retry code, or a written retry design for an agent or a service client, and lists only the five mistakes that turn a failure into an outage or a double write, one line each with a fixed code, the place, why it hurts and the fix - or exactly No findings. It catches waits that grow without a random part, a loop with no limit on tries or on total time, a POST repeated with no idempotency key, a 429 or 503 answer whose Retry-After header is never read, an…"},{"url":"https://api.aiskills402.com/v1/skills/runbook-step-check/file","method":"GET","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"Runbook Step Check — Checks ONE operational runbook (a numbered procedure for a deploy, a failover, a rotation or a recovery) step by step for the five things a person at three in the morning needs and writers forget - an owner, an expected duration, a visible signal that the step worked, a way back, and someone to escalate to - and lists only the steps that miss something, one line per step with fixed codes for what is missing, or exactly No findings. It accepts a success signal written in oth…"},{"url":"https://api.aiskills402.com/v1/skills/secret-handling-review/file","method":"GET","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"Secret Handling Review — Reviews pasted application code, scripts and config for the four ways a secret leaks from the code that uses it, and lists only those, one line each with a fixed code, the place, who can then read the secret and the fix - or exactly No findings. It catches a secret value written to a log or printed (the key itself, an object or environment dump that contains it), a secret placed in a URL query string, a secret typed into source or a committed file, and a server secret s…"},{"url":"https://api.aiskills402.com/v1/skills/spreadsheet-formula/file","method":"GET","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"Spreadsheet Formula: Excel and Google Sheets — Writes one spreadsheet formula for Excel or Google Sheets from a plain description and a sample of the sheet, using the sheet's real cell addresses and ready to be copied down. It fixes the ranges that must not move, looks values up by exact match, reads thresholds the way they are worded, builds dates with DATE, keeps blank cells apart from zeros, and uses functions that work in both Excel 2019 or later and Google Sheets. It answers with the formu…"},{"url":"https://api.aiskills402.com/v1/skills/sql-dialect-to-sqlite/file","method":"GET","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"Postgres or MySQL SQL to SQLite and D1 — Converts PostgreSQL or MySQL schema statements, migrations and queries into SQLite that Cloudflare D1 and Turso run, so the converted version behaves like the original and not only parses. Knows the conversions that run without an error and then go wrong - a key written as BIGSERIAL or INT AUTO_INCREMENT that SQLite stores as NULL, a custom enum type or an inline enum that stops checking anything, a default now() or gen_random_uuid() that SQLite rejects,…"},{"url":"https://api.aiskills402.com/v1/skills/sqlite-search-builder/file","method":"GET","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"SQLite Search Builder — Builds or fixes a site or product search so it finds what the user meant, with SQLite full-text search (FTS5) on D1, Turso or SQLite. Word order, singular or plural, endings, case, punctuation and accents stop mattering (\"cafe\" finds \"Café\", \"tomatoes\" finds \"tomato\", \"red tomato\" finds \"Tomato, red\", \"ab1042\" finds \"AB-1042\"), and the start of a word is enough (\"tom\" finds \"tomatoes\"). Gives one normalize pipeline for accent-insensitive search, a query-side ending remov…"},{"url":"https://api.aiskills402.com/v1/skills/stripe-webhook-review/file","method":"GET","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"Stripe Webhook Review — Reviews ONE Stripe webhook handler (the route code, in any language or framework) for the five mistakes that let a forged or repeated event move money, grant access or ship goods, and lists only those, one line each with a fixed code, the place, why it is dangerous and the fix - or exactly No findings. It catches a body parsed or re-serialized before the signature is checked, a handler that never checks the signature, a recency tolerance switched off or set huge, no reco…"},{"url":"https://api.aiskills402.com/v1/skills/summary-fidelity-check/file","method":"GET","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"Summary Fidelity Check — Checks a summary against the source text it was made from and lists the summary sentences the source does not support, each copied word for word, as strict JSON. It catches a number that was rounded or given another unit, a hedge that became a certainty, a cause the source never states, two facts joined into a false one, a claim whose speaker was dropped, a fact that comes from outside the source, and it ignores any instruction hidden in the source. A sentence is judged…"},{"url":"https://api.aiskills402.com/v1/skills/survey-question-bias-check/file","method":"GET","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"Survey Question Bias Check — Checks a numbered list of survey questions, with their answer options, and reports only the questions whose wording would bias the answers, one line per problem with a fixed code, the question number, why it biases and a neutral rewrite - or exactly No findings. It catches a leading stem that signals the hoped-for answer, two questions fused into one, a loaded word that judges before the person replies, an absolute word such as always or never that forces a false ch…"},{"url":"https://api.aiskills402.com/v1/skills/terraform-plan-risk-review/file","method":"GET","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"Terraform Plan Risk Review — Reviews the text of ONE terraform plan for the four changes that can lose data or open a door, and lists only those, one line each with a fixed code, the resource, why it hurts and the fix - or exactly No findings. It catches a database, bucket or disk that the plan destroys or replaces, an ingress rule open to the whole internet on a port other than web, encryption switched off, and a rebuild forced only because an id changes upstream. It leaves out the safe look-a…"},{"url":"https://api.aiskills402.com/v1/skills/timeline-from-text/file","method":"GET","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"Timeline From Text — Reads one pasted text, such as an incident report, a case history, a project log, a news story or an email thread, and lists its events as strict JSON. Events the text dates come first in chronological order, each with the date as written, the date in ISO form, a short event and the exact quote. Events with no date are listed apart in the order of the text. It resolves a relative date such as \"two days later\" only when the text gives the date it counts from, takes a date on…"},{"url":"https://api.aiskills402.com/v1/skills/translate-app-text/file","method":"GET","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"Translate App Text (JSON, YAML, PO) — Translates app strings and locale files (JSON, YAML, gettext PO, ICU messages, HTML snippets) into another language without breaking them. Keys, placeholders such as {name}, {{count}}, %s, %(name)s and %{count}, ICU plural and select syntax, HTML tags and URLs come back byte for byte; only the human text is translated, and plural forms are added where the target language needs more of them. Use when asked to translate a JSON or YAML locale file, an en.json,…"},{"url":"https://api.aiskills402.com/v1/skills/ui-worst-case-data/file","method":"GET","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"UI Worst-Case Data — Turns the props of a UI component (a TypeScript type or a list of props) into strict JSON test data that stresses how it displays, and nothing else. Per prop it picks the worst values for the type, a string that is empty, one word of eighty characters with no space, on two lines, an emoji joined with a zero-width joiner, right-to-left letters or HTML-looking text, numbers at zero and at the large and decimal ends, lists that are empty, hold one item or hold a hundred, optio…"},{"url":"https://api.aiskills402.com/v1/skills/vocab-from-text/file","method":"GET","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"Vocabulary From a Text — Builds a vocabulary list for a language learner from one pasted text, as strict JSON: for every word the learner should learn it gives the form as written in the text, the dictionary form, a translation in the sense the text uses and the whole sentence of the text as the example sentence, copied word for word. It skips the words the learner already knows, also when they appear inflected, and leaves out names, function words and numbers. Dictionary forms follow the conve…"},{"url":"https://api.aiskills402.com/v1/skills/x402-settlement-review/file","method":"GET","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"x402 Settlement Review: Replay and Double Charge — Reviews pasted seller-side x402 code that accepts the PAYMENT-SIGNATURE header, talks to the facilitator and delivers the goods (the cash register), for the silent failures that double-charge a buyer, hand the goods to a stranger or bill the seller. It flags an expiry check that runs before the nonce lookup, a repeat path that delivers without proof the chain observer lacks, a repeat window taken from the buyer's validBefore instead of the sell…"},{"url":"https://api.aiskills402.com/v1/skills/xliff-translate/file","method":"GET","priceMicroUsd":10000,"networks":["eip155:8453"],"description":"XLIFF Translate: .xlf Files Your Tool Imports Back — Translates an XLIFF 1.2 file (.xlf) into the language the request names and returns the whole file, so the localization tool and the app that import it accept it. Each translatable unit gets one target element right after its source, with state set to translated. Sources, unit ids, notes, inline codes (g, x, ph, bpt, ept, it, mrk elements) with the same ids, units marked translate no, and targets already in state final, signed-off or translat…"},{"url":"https://api.aiskills402.com/v1/skills/agent-report-audit/file","method":"GET","priceMicroUsd":20000,"networks":["eip155:8453"],"description":"Agent Report Audit: Which Claims the Log Supports — Audits the report an AI agent wrote about its own session against the tool log of that session. Every numbered claim of the report gets one of two verdicts, supported or not_supported, with the log line that decides it copied exactly. A claim is supported only when the log shows a call that did it, a complete output that shows success, the same object and scope, nothing later that undoes it, and every part of a compound claim. A command that w…"},{"url":"https://api.aiskills402.com/v1/skills/cron-dialect-convert/file","method":"GET","priceMicroUsd":20000,"networks":["eip155:8453"],"description":"Cron Dialect Convert — Converts an existing schedule between cron dialects so that the target runs at exactly the times the source runs - classic crontab, GitHub Actions schedule, a Quartz-style six-field expression, a small numbers-only HTTP scheduler (Cron Hub) and Cloudflare Workers Cron Triggers - answered as JSON with the crons and a note. Knows what changes between them - day-of-week 1 is Monday in crontab and GitHub but Sunday in Cloudflare, 0 is refused by Cloudflare, 7 means Sunday in …"},{"url":"https://api.aiskills402.com/v1/skills/html-table-to-csv/file","method":"GET","priceMicroUsd":20000,"networks":["eip155:8453"],"description":"HTML Table to CSV: Merged Cells and Entities Done Right — Converts one HTML table into RFC 4180 CSV and answers with the CSV only, no code fence. The header is the first row, every cell keeps the text a browser shows after entities are decoded (&amp;, &euro;, &#8212;, a no-break space), links, bold and other inline markup vanish and their text stays, a line-break tag becomes a space, and numbers such as 1,250 stay text in quotes. A cell that spans rows or columns (rowspan, colspan) repeats its …"},{"url":"https://api.aiskills402.com/v1/skills/icu-plural-messages/file","method":"GET","priceMicroUsd":20000,"networks":["eip155:8453"],"description":"ICU Plural Messages (per-language CLDR categories) — Writes and fixes ICU MessageFormat strings for several locales at once, with exactly the plural categories each language uses (one, few, many, other and the rest), the mandatory other arm, exact-number arms such as =0, selectordinal, select, offset, nested messages and correct apostrophe quoting. Answers with a bare JSON map of locale code to message. Use when asked to write or translate a plural message, an ICU string, a count label such as …"},{"url":"https://api.aiskills402.com/v1/skills/json-schema-from-example/file","method":"GET","priceMicroUsd":20000,"networks":["eip155:8453"],"description":"JSON Schema From Examples: No Over-Constraining — Writes a JSON Schema (draft 2020-12) from example JSON documents plus rules given in words, so that it accepts every example and every document the rules allow, and refuses every document the rules forbid. Nothing is made required, closed, numeric-only, formatted or limited because the examples happen to look that way - a key missing from one example stays optional, two observed values do not become an enum, whole-number examples do not make an …"},{"url":"https://api.aiskills402.com/v1/skills/llms-txt/file","method":"GET","priceMicroUsd":20000,"networks":["eip155:8453"],"description":"llms.txt Writer — Writes an llms.txt file in the shape the llms.txt proposal defines, from a site description and a list of pages, answered as the Markdown file only. One H1 with the site name, a blockquote summary, optional plain notes, then H2 sections that hold lists of links in the form \"- [name](address): notes\". Every address is absolute (a relative one is joined to the stated origin) and copied exactly, never invented; pages marked noindex, private or behind a login are left out; a page …"},{"url":"https://api.aiskills402.com/v1/skills/playwright-test-from-steps/file","method":"GET","priceMicroUsd":20000,"networks":["eip155:8453"],"description":"Playwright Test from Manual Steps — Turns manual test steps plus the page facts you have (route, labels, button names, messages) into one Playwright Test file in TypeScript that can really fail. Elements are found by role and accessible name, by label or by text, never by a CSS class, an id or XPath, and a name that is the start of another gets the exact option; every step that observes something gets one awaited, auto-retrying assertion; a step such as wait a couple of seconds becomes an asser…"},{"url":"https://api.aiskills402.com/v1/skills/po-translate/file","method":"GET","priceMicroUsd":20000,"networks":["eip155:8453"],"description":"Translate .po Files Without Breaking Gettext — Translates the messages of a gettext PO file (.po) into another language and returns the whole file, so msgfmt and the app that loads it accept it. Only the msgstr values change. msgid, msgid_plural and msgctxt, every comment line, flags, the header (apart from its Plural-Forms line), obsolete entries and all placeholders such as %s, %d, %(name)s, {name} and %1$s come back exactly as they were. Entries with plural forms get exactly the number of ms…"},{"url":"https://api.aiskills402.com/v1/skills/pr-description-from-diff/file","method":"GET","priceMicroUsd":20000,"networks":["eip155:8453"],"description":"PR Description From a Diff — Writes a pull request title and description from a pasted unified diff, as Markdown only - a title line of at most 72 characters, then four fixed sections - Summary, Changes, Tests and Risks - where every file the diff touches is named once, including renames, deletions, binary files, mode changes, lockfiles and formatting-only edits, and nothing is claimed that the diff does not show. It describes what the hunks change and leaves out a reason, a speed gain, a secur…"},{"url":"https://api.aiskills402.com/v1/skills/quiz-from-text/file","method":"GET","priceMicroUsd":20000,"networks":["eip155:8453"],"description":"Quiz From Text: Answers Quoted From the Passage — Writes a fixed number of quiz questions from a passage you give it, as JSON, where every answer is a span copied word for word from the passage, with the same digits or number words, spacing, dashes, apostrophes and capitals, paired with the full sentence it comes from, and never a paraphrase, a pronoun, a computed value or a fact from outside the text. Questions are in the passage's own language, each asks for a different fact, a negation or a …"},{"url":"https://api.aiskills402.com/v1/skills/redos-regex-rewrite/file","method":"GET","priceMicroUsd":20000,"networks":["eip155:8453"],"description":"ReDoS Regex Rewrite: Same Answers, Linear Time — Rewrites a JavaScript regular expression that can hang on a crafted input (catastrophic backtracking, ReDoS) into one that gives exactly the same yes or no for every text and runs in linear time, answered as JSON with the pattern and flags. Knows the shapes that explode - a quantified group whose inside is quantified too, alternatives under a star that can match the same text, an optional separator between repeats, a counted group of runs, an una…"},{"url":"https://api.aiskills402.com/v1/skills/rss-feed-builder/file","method":"GET","priceMicroUsd":20000,"networks":["eip155:8453"],"description":"RSS Feed Builder — Writes an RSS 2.0 file, or an Atom one when asked, from a list of posts, answered as the XML only with no fence and no sentence around it. Dates are RFC 822 with a correct weekday, never ISO; a post with no date gets no date, a post with no image gets no image and a post with no summary gets no description, so nothing is invented. Ampersands are escaped, HTML summaries go in CDATA, every link is absolute, the guid never changes, and the Atom namespace with a self link is decl…"},{"url":"https://api.aiskills402.com/v1/skills/sitemap-builder/file","method":"GET","priceMicroUsd":20000,"networks":["eip155:8453"],"description":"Sitemap Builder — Builds a correct XML sitemap, or a sitemap index file, from a list of pages, answered as the XML document only. Lists only canonical, indexable pages that return 200 on one host, and leaves out redirecting, noindex, non-canonical, removed and other-host addresses. Writes every address absolute and entity-escaped (an ampersand in a query string becomes the escape code), and writes lastmod only when the input gives a real date for that page - never the day the file was generated…"},{"url":"https://api.aiskills402.com/v1/skills/srt-translate/file","method":"GET","priceMicroUsd":20000,"networks":["eip155:8453"],"description":"Subtitle Translator for SRT and VTT — Translates a subtitle file (SRT or WebVTT) into another language and returns the whole file with only the spoken words changed. Cue numbers, timing lines, cue settings, position codes, speaker names, style and note blocks come back byte for byte; every cue stays one cue, in the same order, with at most two lines of at most 42 characters, shortened in wording when the translation is longer. Tags and markers such as italics, colours, music notes, dialogue das…"},{"url":"https://api.aiskills402.com/v1/skills/subtitle-timing-repair/file","method":"GET","priceMicroUsd":20000,"networks":["eip155:8453"],"description":"Subtitle Timing Repair: Fix SRT and VTT, Words Stay — Repairs the structure of an SRT or WebVTT subtitle file so a video player reads it, without changing a single word and without changing the value of a single time, and answers with the file only, no code fence. Fixes the separator before the milliseconds (a comma in SRT, a dot in VTT), broken arrows, short hours and short millisecond fields, missing or doubled blank lines between cues, cue numbers that skip, repeat or are out of order after …"},{"url":"https://api.aiskills402.com/v1/skills/unified-diff-repair/file","method":"GET","priceMicroUsd":20000,"networks":["eip155:8453"],"description":"Unified Diff Repair: Fix the Counts, Keep the Change — Repairs a unified diff (the patch format of git diff and diff -u) so that git apply and patch accept it against the file it was written for, and answers with the diff only, no code fence. Recounts the numbers in each hunk header from the hunk's own lines, puts back context lines and removed lines exactly as the file has them (tabs, trailing spaces, blank lines, carriage returns), adds the backslash line that marks a missing final line break…"},{"url":"https://api.aiskills402.com/v1/skills/watchdog-alert-review/file","method":"GET","priceMicroUsd":20000,"networks":["eip155:8453"],"description":"Watchdog Alert Review: Silent and Noisy Alarms — Reviews pasted code or a design for a liveness watchdog, a staleness alarm or a daily heartbeat mail (sources that must keep answering, a pipeline that must keep publishing) and lists every way it stays silent on a dead source or floods on a healthy one. It checks whether silence is measured in the time the source was last asked or by the wall clock, whether a stateless alarm window repeats or never fires, whether the threshold is longer than the…"},{"url":"https://api.aiskills402.com/v1/skills/a2a-agent-card/file","method":"GET","priceMicroUsd":30000,"networks":["eip155:8453"],"description":"A2A 1.0 Agent Card Writer — Writes the JSON an agent needs for version 1.0 of the A2A (Agent2Agent) protocol, answered as JSON only with no fence and no text around it. Covers the agent card (supportedInterfaces with protocolBinding and protocolVersion, capabilities, skills, securitySchemes and securityRequirements, default input and output modes), the JSON-RPC requests (SendMessage, SendStreamingMessage, GetTask, ListTasks, CancelTask, push notification configs), the replies (task, message, da…"},{"url":"https://api.aiskills402.com/v1/skills/accessibility-review/file","method":"GET","priceMicroUsd":30000,"networks":["eip155:8453"],"description":"Accessibility Review: WCAG Defects in Markup — Reviews pasted HTML or JSX for the accessibility defects a screen reader or keyboard user hits first, and names the WCAG 2.2 success criterion for each. It flags images without a text alternative, form fields without a label, buttons and links with no accessible name, clickable elements that a keyboard cannot reach, focusable content hidden from assistive technology, personal-data fields without autocomplete, data tables without header cells and pa…"},{"url":"https://api.aiskills402.com/v1/skills/api-breaking-change-check/file","method":"GET","priceMicroUsd":30000,"networks":["eip155:8453"],"description":"API Breaking Change Check for OpenAPI — Compares two versions of one API description (OpenAPI 3.0 or 3.1 in YAML or JSON, or two JSON Schemas of one request or response) and lists ONLY the changes that break clients written against the old version, one line each with a fixed code, the place, old and new, and who breaks - or exactly No breaking changes. The skill judges by direction - a request may widen safely and breaks when it narrows, a response may narrow safely and breaks when it widens - …"},{"url":"https://api.aiskills402.com/v1/skills/cf-rate-limit-design/file","method":"GET","priceMicroUsd":30000,"networks":["eip155:8453"],"description":"Cloudflare Rate Limit Review: WAF, Workers, 429 — Reviews a rate-limiting setup on Cloudflare (a WAF rate limiting rule, a Workers Rate Limiting binding, or a counter in your own code) and lists every reason it will not limit what its author thinks it limits. It flags free-plan rules that use the client address or a header field, which the plan refuses, windows the plan does not offer, an address key for callers that are themselves Workers and share one outbound address, a binding number treate…"},{"url":"https://api.aiskills402.com/v1/skills/claude-session-saver/file","method":"GET","priceMicroUsd":30000,"networks":["eip155:8453"],"description":"Claude Session Saver: When to Clear or Compact — Reviews a snapshot of a Claude Code session (the context size, measured or guessed; the task and where it stands; git status; what still runs in the background; the plan or notes file; what the person asked) and decides whether the person should type /clear, type /compact with a focus text, finish one step first, or keep going. Before a fresh session it lists what would be lost or left behind: results that exist only in the chat, a plan file with…"},{"url":"https://api.aiskills402.com/v1/skills/cold-email/file","method":"GET","priceMicroUsd":30000,"networks":["eip155:8453"],"description":"Cold Email — Writes a short, honest first outreach message to a stranger in business, in the recipient's language, with a subject line, one specific reason for writing and one small ask. Use when asked to write a cold email, a first outreach message, a sales or partnership introduction, or a prospecting note, in any language. One-time purchase of the SKILL.md file itself (Agent Skills format), not an API call: $0.03 USDC, yours forever incl. free re-downloads and new versions. Tested with a str…"},{"url":"https://api.aiskills402.com/v1/skills/csv-to-json-rows/file","method":"GET","priceMicroUsd":30000,"networks":["eip155:8453"],"description":"CSV to JSON Rows: Every Cell Stays Text — Converts CSV into a JSON array with one object per row, keyed by the header, and answers with the JSON only, no code fence. Every value stays a string exactly as the cell reads, so 007, 1,250, 1.10, TRUE, null, dates, spaces around a name and a value that starts with an equals sign are never turned into numbers, booleans or null, and an empty cell is an empty string. Only a column the task names as integer, number or boolean is converted. Quotes are rem…"},{"url":"https://api.aiskills402.com/v1/skills/email-dns-cutover-review/file","method":"GET","priceMicroUsd":30000,"networks":["eip155:8453"],"description":"Email and DNS Cutover Review — Reviews a pasted plan, script or configuration for a change to a domain's mail and DNS on Cloudflare (turning on Email Routing, moving MX records, forwarding rules, sending alert mail from a Worker with the send_email binding, SPF, DKIM and DMARC records, deleting the records of an old host, the subject and sender name of automatic mail) and lists the ways it fails without any error. It flags sends to addresses the binding cannot reach, recipient lists that stop a…"},{"url":"https://api.aiskills402.com/v1/skills/event-to-ics/file","method":"GET","priceMicroUsd":30000,"networks":["eip155:8453"],"description":"Event to ICS Calendar File — Turns an invitation or event description in plain text (an email, a chat message, a web page, in English or another language) into a valid iCalendar file, answered as the file text only. Follows RFC 5545 where plain models slip - a named time zone needs a VTIMEZONE block in the same file or the time is written in UTC with Z, an all-day event ends the day AFTER its last day, an unknown end time stays empty instead of an invented hour, DTEND and DURATION never appear …"},{"url":"https://api.aiskills402.com/v1/skills/faq-answer-from-docs/file","method":"GET","priceMicroUsd":30000,"networks":["eip155:8453"],"description":"FAQ Answer From Docs (With the Quote) — Answers one customer question using only a pasted help text (FAQ, help centre article, policy page, product manual or knowledge base extract) and returns strict JSON with the reply, the passages it rests on copied word for word, and a flag that says whether the text answers the whole question, part of it or none of it. Every figure is copied as the help text writes it, nothing is computed, rounded, inferred from general knowledge or taken from a line that…"},{"url":"https://api.aiskills402.com/v1/skills/fixed-width-to-csv/file","method":"GET","priceMicroUsd":30000,"networks":["eip155:8453"],"description":"Fixed-Width to CSV: Cut by Spec, Trim Only When Told — Converts fixed-width text (mainframe exports, bank and statistics files, printed reports) into RFC 4180 CSV from a column specification and answers with the CSV only, no code fence. Positions are 1-based and inclusive unless the spec says otherwise, and count characters, so accented and Cyrillic letters do not shift later columns. Every cell is the exact characters of its positions: nothing is trimmed unless the spec says trim, leading zero…"},{"url":"https://api.aiskills402.com/v1/skills/frontend-layout-review/file","method":"GET","priceMicroUsd":30000,"networks":["eip155:8453"],"description":"Frontend Layout Review: CSS Grid, Hydration, Next.js — Reviews pasted CSS, Tailwind classes, JSX and Next.js client components for the layout and hydration defects that look fine on a desktop screenshot and then break on a phone or wipe the page in the browser. It flags a grid column written as a bare 1fr that refuses to shrink and, inside a clipping container, cuts the content without any horizontal scroll, width media queries written in pixels beside rem-based breakpoints, dates formatted ins…"},{"url":"https://api.aiskills402.com/v1/skills/hreflang-map/file","method":"GET","priceMicroUsd":30000,"networks":["eip155:8453"],"description":"hreflang Map Builder — Builds the complete hreflang annotation set for a multilingual site or a multi-region site from a list of page URLs, answered as JSON only. Every page lists itself and all its alternates, every pair is reciprocal, x-default appears only when a fallback page is named, and codes are checked against ISO 639-1, ISO 3166-1 Alpha 2 and ISO 15924 instead of copied. Reports a bad code, a redirecting, noindexed or non-canonical URL and a page that is not a translation instead of p…"},{"url":"https://api.aiskills402.com/v1/skills/i18n-strings-extract/file","method":"GET","priceMicroUsd":30000,"networks":["eip155:8453"],"description":"Extract UI Strings Into i18n Keys — Pulls the hard-coded text a person sees out of a JSX, TSX, HTML or Vue template file into a messages map and returns the file rewritten to call the translation function, as one JSON object with the messages and the whole source and nothing around it. Every message is byte-exact as the user reads it. A sentence with an inline link or bold part stays one message with its markup inside, a sentence built from a string, a variable and another string becomes one me…"},{"url":"https://api.aiskills402.com/v1/skills/image-pipeline-review/file","method":"GET","priceMicroUsd":30000,"networks":["eip155:8453"],"description":"Cloudflare Image Review: Quota, WebP, R2 — Reviews a pasted image pipeline (upload or AI generation, storage in R2, resizing, serving through Cloudflare image transformations, a Next.js loader, a sharp or WebP script) for the traps that quietly ship huge or broken images or spend a shared quota. It flags photographs stored as PNG, files stored exactly as a generator returned them, a redirect-on-error setting that hides an exhausted transformation quota, a list of widths that multiplies the uniq…"},{"url":"https://api.aiskills402.com/v1/skills/internal-link-orphan-audit/file","method":"GET","priceMicroUsd":30000,"networks":["eip155:8453"],"description":"Internal Link Orphan Audit — Reads a crawl export of a website (one row per page with its status, its robots setting and the links in its body, or a plain list of links from page to page), the sitemap list and the navigation and footer links, and reports the internal-link problems that keep pages from being found and indexed - orphan pages with no inbound link from another page, pages with a single contextual inbound link or links only from the footer, pages too many clicks from the home page o…"},{"url":"https://api.aiskills402.com/v1/skills/json-to-csv-flatten/file","method":"GET","priceMicroUsd":30000,"networks":["eip155:8453"],"description":"JSON to CSV: Flatten Nested Records, Keep Every Value — Turns JSON that holds a list of records, with nested objects and arrays, into one flat CSV table that a standard parser reads, and answers with the CSV only, no code fence. Nested keys become dotted column names such as address.town, array elements become index columns such as tags.0 and tags.1, or one cell joined with a separator, or one row per element when asked to explode. Numbers are copied as the JSON token (1.10 stays 1.10, 1e5 stay…"},{"url":"https://api.aiskills402.com/v1/skills/markdown-toc-anchors/file","method":"GET","priceMicroUsd":30000,"networks":["eip155:8453"],"description":"Markdown TOC Anchors: Contents Links That Really Jump — Builds the table of contents of a Markdown document with the exact heading anchors that GitHub or GitLab generate, and answers with the list only, no code fence. Finds the real headings (hash headings with closing hashes, underline headings, none inside code fences, indented code, comments or front matter), strips inline markup, lowercases, drops every character that is not a letter, digit, hyphen or underscore, turns each single space int…"},{"url":"https://api.aiskills402.com/v1/skills/mcp-tool-schema/file","method":"GET","priceMicroUsd":30000,"networks":["eip155:8453"],"description":"MCP Tool Schema: Definitions from API Docs — Writes the MCP tool definition for one API operation - name, description, inputSchema and annotations - as the JSON a server returns from tools/list. The schema takes exactly the parameters the operation takes - required ones listed, defaults stated, exact enums, integer amounts, date formats, ranges, string and array limits, either-or parameters that refuse a call with both or neither - and refuses unknown ones. Credentials never become parameters, …"},{"url":"https://api.aiskills402.com/v1/skills/nextjs-cache-review/file","method":"GET","priceMicroUsd":30000,"networks":["eip155:8453"],"description":"Next.js Cache Review: ISR, Tags, Redirects — Reviews pasted Next.js App Router code and config that runs on Cloudflare through OpenNext, for caching and ISR mistakes that serve a wrong or stale answer, or make every visit read the database. It flags an unstable_cache key whose cached shape changed while the key stayed, force-dynamic pages that disable the browser back-forward cache, a wildcard Cache-Control override that makes the whole site dynamic, a dynamic route that never starts ISR becaus…"},{"url":"https://api.aiskills402.com/v1/skills/phone-e164-normalize/file","method":"GET","priceMicroUsd":30000,"networks":["eip155:8453"],"description":"Phone Numbers to E.164 — Turns a list of phone numbers written any way people write them into E.164 (a plus sign, the country code and the national number, digits only), one JSON object per number, using a default country the request states. Where plain models slip - the trunk 0 left in, \"+44 (0)20\" glued to a stray zero, Italian numbers with the leading 0 wrongly dropped, the leading 1 of a North American number kept, a made-up country for a bare local number, an extension stuck onto the numbe…"}]}