Agent skill · Backend & API

api-cms-strapi

Open-source headless CMS — content type schemas, REST API, Document Service API, custom controllers, lifecycle hooks, authentication, TypeScript

majiayu000github.com/majiayu000GitHub ↗
claude-codeMIT
Install
npx skills add majiayu000/claude-skill-registry --skill api-cms-strapi --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 2
SKILL.md size: 24 KB
Bundled scripts: none
Path: skills/api/api-cms-strapi/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 534
Language: HTML

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

# Strapi Patterns > **Quick Guide:** Use Strapi as an open-source headless CMS with auto-generated REST/GraphQL APIs from content type schemas. In v5, use the Document Service API (`strapi.documents()`) for back-end data access instead of the deprecated Entity Service. REST API responses use a flat format (`data.fieldName`, not `data.attributes.fieldName`). Relations and media are NOT populated by default -- always pass `populate`. Use `qs` to build complex query strings. Content types are private by default; configure permissions via the Users & Permissions plugin or API tokens. --- <critical_requirements> ## CRITICAL: Before Using This Skill > **All code must follow project conventions in CLAUDE.md** (kebab-case, named exports, import ordering, `import type`, named constants) **(You MUST use `strapi.documents('api::content-type.content-type')` (Document Service API) for all back-end data access in Strapi v5 -- the Entity Service API is removed)** **(You MUST always pass `populate` when you need relations, media, components, or dynamic zones -- Strapi returns NO relations by default)** **(You MUST use the `qs` library to build complex REST API query strings with filters, populate,

What's inside
Steps it walks through
  1. CRITICAL: Before Using This Skill
  2. Philosophy
  3. Core Patterns
  4. Pattern 1: Content Type Schema
  5. Pattern 2: REST API Querying with qs
  6. Pattern 3: Document Service API (Back-End)
  7. Pattern 4: Custom Controllers
  8. Pattern 5: Custom Routes
  9. Pattern 6: Lifecycle Hooks
  10. Pattern 7: Services
  11. Pattern 8: Policies
  12. Decision Framework
  13. REST API vs Document Service API
  14. Population Strategy
Ships with 1 file
  • metadata.json
More from claude-skill-registry
All skills →
About this skill
What does the api-cms-strapi skill do?

Open-source headless CMS — content type schemas, REST API, Document Service API, custom controllers, lifecycle hooks, authentication, TypeScript

How do I install it?

Run `npx skills add majiayu000/claude-skill-registry --skill api-cms-strapi --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From majiayu000/claude-skill-registry, a repository with 534 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going