strapi-v5-expert

Generates Strapi v5 backend code using official documentation and Document Service API rules.

Updated Mar 26, 2026
One-click install
npx skills add https://github.com/TranVanTienDat/Milkyway --skill strapi-v5-expert-tranvantiendat
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: strapi-v5-expert
Source: https://github.com/TranVanTienDat/Milkyway/tree/main/apps/cms/.agents/skills/strapi-v5-expert
Command: npx skills add https://github.com/TranVanTienDat/Milkyway --skill strapi-v5-expert-tranvantiendat

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Strapi v5 introduced breaking architectural changes compared to v4, and AI models often generate outdated code based on deprecated v4 patterns like entityService. This Skill prevents that by routing every task through the official Strapi v5 documentation before writing any code. ## Core Features & Use Cases - Documentation Index: A curated catalog of official Strapi v5 doc URLs organized by topic (Document Service API, REST/GraphQL, TypeScript, migrations, plugins, deployment). - Strict Coding Rules: Enforces the Document Service API, documentId identifiers, explicit populate parameters, flat REST responses, and strict TypeScript typing. - Migration Support: Covers v4-to-v5 upgrade paths including breaking changes, codemods, and entityService refactoring. - Use Case: Ask the agent to build a custom controller for a blog API, and it will first fetch the current Strapi v5 controller documentation, then produce strictly typed TypeScript code using strapi.documents() instead of the deprecated entityService. ## Quick Start Ask the agent to create a custom Strapi v5 endpoint, service, or content-type and it will consult the official docs before writing the code.

Frequently Asked Questions about strapi-v5-expert

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I query data in Strapi v5 backend code?▼

Use the Document Service API via strapi.documents('api::uid.uid').methodName() with documentId string identifiers. The old strapi.entityService from v4 is deprecated and must not be used in Strapi 5.

How to migrate Strapi v4 code to v5?▼

Follow the official step-by-step migration guide and use the CLI upgrade tool with codemods. Key changes include replacing entityService with the Document Service, switching to documentId identifiers, and adapting to the flat REST response format.

Why are relations and media missing from my Strapi v5 query results?▼

In Strapi 5, relations, components, and media files are not returned by default. You must explicitly specify the populate parameter in your query to include linked entities and files.

Does Strapi v5 REST API still nest data under attributes?▼

No. Strapi 5 uses a flat response structure where fields sit at the top level of each object alongside id and documentId. Code accessing response.data.attributes.fieldName is outdated v4 style.

How do I filter drafts versus published content in Strapi v5?▼

Use the status parameter with values 'draft' or 'published' in Document Service queries and REST requests. The old publicationState parameter from v4 has been replaced, and publish/unpublish methods handle state transitions.