{"id":50596178,"url":"https://github.com/datocms/agent-skills","last_synced_at":"2026-06-05T14:30:29.232Z","repository":{"id":341818594,"uuid":"1170663601","full_name":"datocms/agent-skills","owner":"datocms","description":null,"archived":false,"fork":false,"pushed_at":"2026-06-05T11:43:17.000Z","size":4314,"stargazers_count":3,"open_issues_count":2,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-06-05T12:10:01.124Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/datocms.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-03-02T11:26:53.000Z","updated_at":"2026-06-04T14:28:31.000Z","dependencies_parsed_at":"2026-03-03T16:00:53.522Z","dependency_job_id":null,"html_url":"https://github.com/datocms/agent-skills","commit_stats":null,"previous_names":["marcelofinamorvieira/datocms-llm-skills","datocms/agent-skills"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/datocms/agent-skills","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datocms%2Fagent-skills","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datocms%2Fagent-skills/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datocms%2Fagent-skills/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datocms%2Fagent-skills/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/datocms","download_url":"https://codeload.github.com/datocms/agent-skills/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datocms%2Fagent-skills/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33946818,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-05T02:00:06.157Z","response_time":120,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-05T14:30:27.140Z","updated_at":"2026-06-05T14:30:29.226Z","avatar_url":"https://github.com/datocms.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!--datocms-autoinclude-header start--\u003e\n\n\u003ca href=\"https://www.datocms.com/\"\u003e\u003cimg src=\"https://www.datocms.com/images/full_logo.svg\" height=\"60\"\u003e\u003c/a\u003e\n\n👉 [Visit the DatoCMS homepage](https://www.datocms.com) or see [What is DatoCMS?](#what-is-datocms)\n\n---\n\n\u003c!--datocms-autoinclude-header end--\u003e\n\n# DatoCMS Skills\n\nA collection of agent skills that teach Claude, Codex, Cursor, and other coding agents how to work effectively with [DatoCMS](https://www.datocms.com) — from GraphQL queries and content management scripts to content modeling, plugin development, and one-shot project setup.\n\nAll open source, with native plugin support on Claude Code and Codex and a universal `npx skills` installer for everything else.\n\n---\n\n## Skills or MCP?\n\nDatoCMS offers two AI integrations and they don't overlap:\n\n- **[MCP server](https://www.datocms.com/docs/mcp-server)** — for editors and PMs who want an agent to read and update a project from anywhere (web, mobile, no local setup).\n- **Agent Skills** (this repo) — for developers in their editor or CLI. A superset of MCP: every MCP capability is reachable here via `npx datocms …`, plus content modeling, frontend integrations, migrations, plugin development, and more.\n\nIf you're shipping code, you want Skills.\n\n---\n\n## What's covered\n\nThe skills are designed to work together — they cross-link and reinforce each other, so the default install brings the full set. Most trigger automatically based on your prompt; `datocms-setup` is invoked explicitly.\n\n**Building with DatoCMS**\n\n- **Content modeling** — schema-design decisions: model vs block, references vs embedded blocks, taxonomies, field shapes, validators, editor appearances.\n- **Reading content** — GraphQL queries against the Content Delivery API with filters, pagination, localization, Structured Text, responsive images, SEO, and typed queries.\n- **Writing content \u0026 automation** — record CRUD, bulk imports/exports, asset uploads, environment forks and promotions, webhooks, roles, scheduled publishing, audit logs.\n- **CLI workflows** — migrations, schema-type generation, typed CMA scripts, CI/CD pipelines, WordPress/Contentful imports.\n- **Frontend integrations** — draft mode, Web Previews, Visual Editing, Content Link, real-time preview subscriptions, cache-tag invalidation, SEO/sitemap wiring across Next.js, Nuxt, SvelteKit, and Astro.\n- **One-shot setup** (`datocms-setup`) — the only skill you invoke explicitly. Bootstraps multi-step flows like \"set up visual editing\" in a single command, queueing prerequisites automatically.\n\n**Extending the DatoCMS dashboard**\n\n- **Plugin scaffolding** — bootstrap a brand-new plugin (Vite/React, initial surfaces).\n- **Plugin maintenance** — patch and extend an existing plugin: hooks, field extensions, sidebars, validations.\n- **Plugin design system** — restyle plugin UI to feel native to the DatoCMS dashboard.\n\nFor the full list of skill names, internal setup recipes, and routing rules see [`docs/skill-catalog.md`](docs/skill-catalog.md).\n\n---\n\n## Install\n\nPick the install method for your agent. Every installer brings the full set by default — the skills are cross-linked and meant to work together.\n\n### Claude Code (recommended)\n\n```bash\n/plugin marketplace add datocms/agent-skills\n/plugin install datocms@datocms-skills\n```\n\nSkills are namespaced under the plugin (e.g. `/datocms-cda`). Enable auto-update from `/plugin` → **Marketplaces** → `datocms-skills`, or update manually with `claude plugin update datocms@datocms-skills`.\n\n### Codex\n\n```bash\ncodex plugin marketplace add datocms/agent-skills\n```\n\nThen open a Codex session and install from the plugin picker:\n\n```bash\n/plugins\n```\n\nChoose **DatoCMS** and \"Install plugin\"\n\n### Cursor, Windsurf, GitHub Copilot, and other agents\n\n```bash\nnpx skills add datocms/agent-skills\n```\n\nUpdate later with `npx skills update`. For scopes, single-skill installs, and detached snapshots see [`docs/install.md`](docs/install.md).\n\n### Claude.ai (web)\n\nOn the web you can't run CLI commands or edit local files, so most development-focused skills don't apply. The ones worth uploading are [`datocms-content-modeling.zip`](zips/datocms-content-modeling.zip) (content modeling) and [`datocms-cma.zip`](zips/datocms-cma.zip) (writing content \u0026 automation) — best paired with the [DatoCMS MCP server](https://www.datocms.com/docs/mcp-server), which lets the agent read and update your project directly from the conversation.\n\nUpload the `.zip` files via **Customize → Skills** in [claude.ai](https://claude.ai). The full set of pre-built zips lives in the [`zips/`](zips/) folder.\n\n---\n\n## Usage\n\n### Automatic skills\n\nYou don't need to invoke the auto-triggered skills — describe what you want in plain language and the right one activates:\n\n- \"Should testimonials be a model or a block?\"\n- \"How should I structure a multi-locale schema with shared blocks?\"\n- \"Write a GraphQL query to fetch all blog posts with images\"\n- \"How do I paginate past the 100-record limit?\"\n- \"Add draft mode to my Next.js app\"\n- \"Why isn't my Visual Editing overlay showing up?\"\n- \"Create a migration that adds a `category` field to the blog_post model\"\n- \"What's the safest way to run a migration in production?\"\n- \"Bulk-publish all draft records of type `article`\"\n- \"Publish them\"\n- \"Fix those slugs\"\n- \"Import this CSV into the authors model\"\n- \"Make my plugin config screen match the DatoCMS style\"\n- \"Create a new DatoCMS plugin from scratch\"\n\n### The setup skill (explicit)\n\n`datocms-setup` is the only skill you invoke explicitly. It handles one-shot project bootstrapping (draft mode, visual editing, migrations workflows, content imports, etc.) and queues prerequisites automatically when needed.\n\n| Platform | Invocation |\n| - | - |\n| Claude Code | `/datocms-setup \u003cyour request\u003e` |\n| Codex | `$datocms-setup \u003cyour request\u003e` |\n\nPhrase the prompt as the outcome you want. Terms like `content link`, `visual editing`, `click-to-edit`, or `draft mode` help the router pick the right recipe.\n\n```text\n/datocms-setup install visual editing in this project\n/datocms-setup set up draft mode and web previews\n/datocms-setup add migrations and a release workflow\n/datocms-setup set up click-to-edit overlays for draft pages\n```\n\nIf a prerequisite is missing (e.g. draft mode is needed before web previews), setup queues it in the same run instead of requiring a second call.\n\nEvery recipe ends with one of two statuses: `scaffolded` if it still contains placeholders you need to fill in (API tokens, route mappings, model-to-URL maps, TODO stubs), or `production-ready` if it's wired to real project values and works end-to-end with no further edits. No guessing whether the output is ready to ship.\n\nFor the full recipe catalog and routing rules see [`docs/skill-catalog.md`](docs/skill-catalog.md).\n\n---\n\n## Documentation\n\n- [`docs/install.md`](docs/install.md) — installation reference (scopes, single-skill installs, detached snapshots, update mechanics)\n- [`docs/skill-catalog.md`](docs/skill-catalog.md) — full skill catalog, internal setup recipes, and routing rules\n- [`docs/repo-layout.md`](docs/repo-layout.md) — repository layout and the reasoning behind it\n- [`docs/maintenance.md`](docs/maintenance.md) — contributor and maintainer workflows (validation, regenerating zips, release notes)\n- [`evals/README.md`](evals/README.md) — trigger-quality evaluation framework\n\n---\n\n## License \u0026 contributing\n\nIssues and pull requests are welcome on [github.com/datocms/agent-skills](https://github.com/datocms/agent-skills). See [`docs/maintenance.md`](docs/maintenance.md) for the contributor workflow.\n\n\u003c!--datocms-autoinclude-footer start--\u003e\n\n---\n\n# What is DatoCMS?\n\n\u003ca href=\"https://www.datocms.com/\"\u003e\u003cimg src=\"https://www.datocms.com/images/full_logo.svg\" height=\"60\" alt=\"DatoCMS - The Headless CMS for the Modern Web\"\u003e\u003c/a\u003e\n\n[DatoCMS](https://www.datocms.com/) is Headless CMS for the modern web. Trusted by 25,000+ businesses, agencies, and individuals, it gives your team one place to manage content and ship it to any website, app, or device via API.\n\n**New here?** Start with [Create free account](https://dashboard.datocms.com/signup) and the [Documentation](https://www.datocms.com/docs). Stuck? Ask the [Community](https://community.datocms.com/). Curious what's new? [Product Updates](https://www.datocms.com/product-updates).\n\n**Building with AI:** [Agent Skills](https://www.datocms.com/docs/agent-skills) turn coding assistants (Claude Code, Cursor) into expert DatoCMS developers, with full read/write via the auto-installed CLI. No local terminal? Use the [MCP Server](https://www.datocms.com/docs/mcp-server) instead.\n\n**Talking to DatoCMS from code:**\n- [Content Delivery API](https://www.datocms.com/docs/content-delivery-api) (CDA) — the fast, read-only GraphQL API your website/app uses to **fetch** published content.\n- [Content Management API](https://www.datocms.com/docs/content-management-api) (CMA) — the REST API for **creating and updating** content, models, and project settings (think scripts, migrations, integrations).\n- [CLI](https://www.datocms.com/docs/scripting-migrations/installing-the-cli) — terminal tool for schema migrations and importing from Contentful/WordPress.\n\n**Framework guides:** end-to-end recipes for fetching content, rendering Structured Text, optimizing images/video, handling SEO, and setting up live preview with visual editing in [Next.js](https://www.datocms.com/docs/next-js), [Nuxt](https://www.datocms.com/docs/nuxt), [Svelte](https://www.datocms.com/docs/svelte), and [Astro](https://www.datocms.com/docs/astro).\n\n**Want a head start?** Browse our [starter projects](https://www.datocms.com/marketplace/starters) — ready-to-deploy example sites for popular frameworks.\n\n\n\u003c!--datocms-autoinclude-footer end--\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatocms%2Fagent-skills","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdatocms%2Fagent-skills","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatocms%2Fagent-skills/lists"}