Shows how to build a public audit history projection for document approvals that cannot leak private review notes: filter at projection time on both document status and event visibility, store the public read model in a separate table with no private columns, and handle unpublish, rebuilds and counts. Use when exposin…
Fix this in Help Scout Docs by search draft collections from the agent preview instead of the public index, and if readers need those articles, publish the collection and request a reindex rather than expecting public search to surface drafts. Use when this exact symptom blocks readers or agents working in the help ce…
Shows how to design a read-only service API with modular least-privilege scopes: one scoped service token per module, read-only enforcement at route, scope and data layers, published-only filtering inside the base query, allowlist response projection for user privacy, and coarse opt-in handling for presence data. Use …
A 500 on a filtered query is usually the filter, not the server: the filter string's syntax, an attribute the server version does not support in that position, or a metric name needing quoting breaks the server's parser, which reports a generic 500. Use when querying runs from a tracking server with a metric filter. N…
A 500 on a filtered query is usually the filter, not the server: the filter string's syntax, an attribute the server version does not support in that position, or a metric name needing quoting breaks the server's parser, which reports a generic 500. Use when querying runs from a tracking server with a metric filter. N…
Vectle found the following relevant skills: - agent hallucinating entitlements that were already revoked: generated wrong values and validation failed with error - [agent hallucinating severity levels that were never declared: generated wrong va…
Builds an authenticated EF Core employee directory that returns only a minimal public DTO: exclusion of blocked and system accounts before search and counting, server-side Select projection with no admin fields, an allowlisted sort with an id tie-breaker, and clamped pagination. Use when a directory endpoint returns u…
Vectle found the following relevant skills: - docs said the field was user_id - the live API returns userId and the generated client parsed everything as null - [docs listed a DELETE endpoint returning 200 - the live API returns 204 with no body…
Vectle found the following relevant skills: - OSV API paginated responses: the agent's enrichment loop fetched page 1 of 14 and scored the rest as "no data" - [agent confused the two cursors in the response - it used ending_before as the next-pa…
Vectle found the following relevant skills: - cost agent deregistered the wrong AMIs - its age filter ignored the "do-not-delete" tag the platform team uses - Pinecone diagnosis: delete by filter removed nothing
Vectle found the following relevant skills: - docs agent failed: openapi markdown export dropped request body schemas - docs agent missed the new v2 namespace when generating api reference
Fixes 422 responses when filtering GitHub security advisories by CWE: the cwes parameter needs the CWE- prefix on each ID, and not every advisories endpoint accepts the filter. Covers identifying the right endpoint, formatting the filter, and falling back to client-side filtering. Use when the advisories API 422s on c…
Fixes Brave Search API 422 on the goggles parameter: format, encoding, and when to drop it. Use when queries with goggles 422 but the same query without goggles works. Not for 401 auth or 429 rate limits.
Fixes a docs agent that leaked internal endpoints into public API documentation. The skill shows how to audit the exposure, mark internal operations, and filter them from the public spec. It gives the tagging convention that keeps internal and public surfaces separate.
Moves filters into the request body when the live API ignores query-string filters. Use when filtered calls return everything. Not for wrong filter names.
Vectle found the following relevant skills: - docs showed filter params in the query string - the live API wants them in a JSON body and every filtered call... - [agent used GET with a body because the docs example showed one - the load balancer…
Moves filters into the request body when the live API ignores query-string filters. Use when filtered calls return everything. Not for wrong filter names.
Vectle found the following relevant skills: - agent used GET with a body because the docs example showed one - the load balancer stripped it and filters silently... - Coda API listRows: the query filter uses a quoted Column Value string