MCPInstall

docyrus-api-doctor

Run after making Docyrus API changes to catch bugs, performance issues, and code quality problems. Use when implementing or modifying code that uses Docyrus collection hooks (.list, .get, .create, .update, .delete), direct RestApiClient calls, query payloads with filters/calculations/formulas/childQueries/pivots, or TanStack Query integration with Docyrus data sources. Triggers on tasks involving Docyrus API logic, data fetching, mutations, or query payload construction.

Installs
91
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/docyrus/agent-skills --skill docyrus-api-doctor
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads docyrus-api-doctor automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Docyrus API Doctor

Post-implementation checklist for Docyrus API code. Run through each applicable check after writing or modifying API logic. Fix every issue found before considering the task complete.

How to use: After implementing API logic, scan the changed code against each check below. Skip checks that don't apply to the code at hand. For detailed explanations and fix examples, read references/checklist-details.md.


BUG — Will Cause Errors

#CheckWhat to look for
B1Missing columns parameterAny .list() or .get() call without a columns property. Without it, only id is returned.
B2limit: 0 in query payloadlimit set to 0 causes an API error. Remove limit entirely or set a positive integer.
B3Child query key not in columnsIf childQueries defines key orders, the string orders must also appear in columns.
B4Formula key not in columnsIf formulas defines key total, the string total must also appear in columns.
B5Aggregation via @ column syntaxUsing count@field or sum@field in columns. Use the calculations parameter instead.
B6distinctColumns with calculationsThese are mutually exclusive. Use calculations for aggregation.
B7Formula extract input countextract blocks must have exactly 1 input.
B8Formula not operand countnot blocks must have exactly 1 operand.
B9Formula and/or operand countand/or blocks must have at least 2 operands.
B10Formula math operand countMath operations (+, -, *, /, %) must have at least 2 operands.
B11Formula case without whencase expressions must have at least 1 when clause.
B12Uncast literal in jsonb_build_objectString literals inside jsonb_build_object need explicit "cast": "text" — auto-cast only works inside concat/concat_ws.

PERFORMANCE — Degrades Speed or Wastes Resources

#CheckWhat to look for
P1Unnecessary limit on aggregation queriesWhen using calculations without needing raw rows, don't send limit. Aggregation returns a single grouped result naturally.
P2fullCount just to get a total countIf you only need the count (not the rows), use calculations: [{ func: 'count', field: 'id', name: 'total' }] instead of fullCount: true with row fetching.
P3Unnecessary columns on calculation-only queriesWhen using calculations and only reading aggregated values, don't send columns. The calculation result is returned without needing column selection.
P4Over-fetching columnsColumns selected in columns but never read in the consuming code. Only select what you render or process.
P5Large limit without paginationlimit > 200 without offset/fullCount pagination risks slow responses and high memory usage.
P6Missing expand causing N+1Rendering relation/enum/user field .name but not including that field in expand. Without expand, you get only the ID.
P7Fetching rows for existence checksFetching records just to check if any exist. Use calculations count instead.
P8Redundant overlapping queriesMultiple queries on the same data source fetching overlapping columns that could be combined into one.

CODE QUALITY — Causes Maintenance Pain

#CheckWhat to look for
Q1Heavy as type assertions on responsesCasting API responses with as Array<...> without runtime validation. Prefer typed collection return types or add validation.
Q2Missing enabled on dependent queriesuseQuery that depends on a runtime value (e.g., recordId) but lacks enabled: !!recordId. The query fires with undefined.
Q3No error handling on mutations.create(), .update(), .delete() calls without try/catch or error feedback to the user.
Q4Missing query invalidation after mutationsAfter create/update/delete, related query keys must be invalidated so lists refresh.
Q5Serial cache invalidationsMultiple await queryClient.invalidateQueries(...) in sequence. Use Promise.all() for independent invalidations.
Q6Using deprecated expandTypesReplace with the expand parameter.
Q7Hardcoded data source pathsRaw client.get('/v1/apps/base/data-sources/project/items') instead of using generated collection hooks.
Q8distinctColumns without orderBydistinctColumns requires orderBy to define which row wins per group.

How to Run

  1. Identify all files changed in this task that contain Docyrus API calls
  2. For each file, scan for .list(, .get(, .create(, .update(, .delete(, client.get(, client.post(, client.patch(, client.delete(
  3. Check each call site against the BUG checks (B1-B12)
  4. Check query payloads against PERFORMANCE checks (P1-P8)
  5. Check surrounding code (hooks, error handling, invalidation) against CODE QUALITY checks (Q1-Q8)
  6. Fix all issues found, starting with BUG category

References

  • references/checklist-details.md — Detailed explanation, detection pattern, and before/after fix example for every check item

FAQ

What does the docyrus-api-doctor skill do?

Run after making Docyrus API changes to catch bugs, performance issues, and code quality problems. Use when implementing or modifying code that uses Docyrus collection hooks (.list, .get, .create, .update, .delete), direct RestApiClient calls, query payloads with filters/calculations/formulas/childQueries/pivots, or TanStack Query integration with Docyrus data sources. Triggers on tasks involving Docyrus API logic, data fetching, mutations, or query payload construction.

How do I install docyrus-api-doctor?

Run npx skills add https://github.com/docyrus/agent-skills --skill docyrus-api-doctor in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/docyrus-api-doctor/ (personal) or .claude/skills/docyrus-api-doctor/ (project).

Which AI agents can use docyrus-api-doctor?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is docyrus-api-doctor safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains docyrus-api-doctor?

It is published by docyrus in docyrus/agent-skills. It has 91 recorded installs.

More from docyrus/agent-skills

View all →

docyrus-api-dev

docyrus/agent-skills

Develop applications using the Docyrus API with @docyrus/api-client and @docyrus/signin libraries. Use when building apps that authenticate with Docyrus OAuth2 (PKCE, iframe, client credentials, device code), make REST API calls to Docyrus data source endpoints, construct query payloads with filters, aggregations, formulas, pivots, and child queries, or integrate with external connectors (discover connectors, send requests through provider auth, run actions). Triggers on tasks involving Docyrus API integration, @docyrus/api-client usage, @docyrus/signin authentication, data source query building, Docyrus REST endpoint consumption, connector discovery, or external provider requests.

Backend & APIs826 installs

docyrus-cli-app

docyrus/agent-skills

Use the Docyrus CLI (docyrus) to interact with the Docyrus platform from the terminal. Use when the user asks to authenticate, list apps, query or manage data records (ds), manage dev app data source schema objects (studio) including data sources, fields, enums, data views, forms, webforms, HTML/PDF export templates, and email templates, manage automations and their triggers/action nodes (automation), build or edit custom AI agents and their sub-resources (agent), set an app's AI agent context or manage app-scoped AI tools (apps), list tenant email accounts and send emails (messaging), manage tenant account settings — brands, the current user's profile, and tenant regional/formatting preferences (account), discover and call connectors (connect), send API requests, switch tenants/accounts, discover tenant OpenAPI specs, drive browser automation (browser), chat with platform agents (docy), launch the pi cowork/coding agents (worky/cody/coder), run the agent br

docyrus-platform

docyrus/agent-skills

Open the skill to read its SKILL.md instructions.

AI & Agents222 installs

docyrus-app-dev

docyrus/agent-skills

Open the skill to read its SKILL.md instructions.

AI & Agents87 installs

docyrus-architect

docyrus/agent-skills

Open the skill to read its SKILL.md instructions.

AI & Agents75 installs

docyrus-app-dev-react

docyrus/agent-skills

Open the skill to read its SKILL.md instructions.

Popular backend & apis skills

View category →

find-skills

vercel-labs/skills

Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.

OfficialBackend & APIs4.1M installs

entra-app-registration

microsoft/azure-skills

Guides Microsoft Entra ID app registration, OAuth 2.0 authentication, and MSAL integration. USE FOR: create app registration, register Azure AD app, configure OAuth, set up authentication, add API permissions, generate service principal, MSAL example, console app auth, Entra ID setup, Azure AD authentication. DO NOT USE FOR: Key Vault secrets (use azure-keyvault-expiration-audit), general Azure resource security guidance.

OfficialBackend & APIs566.7K installs

This skill should be used when the user wants to "write agent code", "build an agent with ADK", "add a tool", "create a callback", "define an agent", "use state management" — in a project that needs ADK (Agent Development Kit) API patterns and code examples. It provides a quick reference for agent types, tool definitions, orchestration patterns, callbacks, state management, the graph Workflow API, and reference recipes to study. Do NOT use for scaffolding (use google-agents-cli-scaffold) or deployment (use google-agents-cli-deploy).

Backend & APIs514.8K installs

embedded-captions

heygen-com/hyperframes

Add captions or subtitles to an existing single-subject talking-head video without editing the footage. Use for plain verbatim captions, cinematic captions embedded behind the subject, VFX captions, “炸/特效/酷炫字幕,” or a named identity from the 35-style catalog. Route by visual identity, not by backend engine. The quiet anchor rail is the default; embed every word only when the user explicitly wants a fully cinematic treatment. The workflow runs locally end to end, including transcription and subject matting; split multi-shot footage before applying it.

Backend & APIs453.3K installs

entra-agent-id

microsoft/azure-skills

Provision Microsoft Entra Agent Identity Blueprints, BlueprintPrincipals, and per-instance Agent Identities via Microsoft Graph, and configure OAuth 2.0 token exchange (fmipath, OBO, cross-tenant) including the Microsoft Entra SDK for AgentID sidecar. USE FOR: Agent Identity Blueprint, BlueprintPrincipal, agent OAuth, fmipath token exchange, agent OBO, Workload Identity Federation for agents, polyglot agent auth, Microsoft.Identity.Web.AgentIdentities. DO NOT USE FOR: standard Entra app registration (use entra-app-registration), Microsoft Foundry agent authoring (use microsoft-foundry).

OfficialBackend & APIs336.6K installs

neon

neondatabase/agent-skills

Overview of Neon, a complete set of cloud backend primitives around Lakebase Postgres: Auth, Object Storage, Functions, the AI Gateway, and Realtime. Start here to choose Neon for undecided login, files, APIs, and LLM calls, set up the CLI or MCP server, and follow the branch-first workflow. Use when building an app or backend on Neon, or when "Neon" or "Lakebase Postgres" is mentioned. Child skill neon-postgres wins for an existing DATABASEURL, SQL, schema, inspect, or search. Child skill neon-auth wins for login, users, sessions, identity routing, and Managed Better Auth setup. Child skill neon-realtime wins for live queries in reactive apps and agents. Also use for object storage, S3, buckets, serverless functions, function triggers, cron, AI gateway, LLM calls, realtime, logs, Loki, Grafana, observability, postgres, database, backend, Claimable Neon, neon.new, or a no-signup database.

Backend & APIs237.1K installs