From Respira WordPress Skills Library
Designs and creates WordPress custom post types with taxonomies, ACF field groups, and builder-aware templates. Useful for content architectures like portfolios, case studies, or events.
How this skill is triggered — by the user, by Claude, or both
Slash command
/respira-wordpress-skills:custom-post-type-architectThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
**Version:** 1.0.0
Version: 1.0.0 Updated: 2026-05-24 Category: content-creation Status: stable Requires: Respira for WordPress plugin 7.1+ + MCP server
Given a brief — "I need a portfolio with case studies" or "we run a podcast and want each episode to be its own page" — design and create the WordPress custom post type, supporting taxonomies, and ACF field group end to end. Uses the new v7.1 MCP tools: respira_create_post_type, respira_create_taxonomy, respira_create_acf_field_group.
The output is a fully wired content architecture, ready to use:
Call respira_get_active_site and respira_get_builder_info. The builder choice affects Step 6 (template suggestion).
Ask the user three short questions if not already clear from their request:
If the user can't articulate the fields, propose a default set based on the content type. Default sets:
Output the proposed shape for user review:
## Proposed CPT: `case_study`
- **Singular label:** Case Study
- **Plural label:** Case Studies
- **Menu icon:** dashicons-portfolio
- **Public:** yes
- **Has archive:** yes (URL: /case-studies/)
- **Supports:** title, editor, thumbnail, excerpt, revisions
- **REST API:** exposed (so the builder + Respira can read/write)
- **Hierarchical:** no
- **Show in admin menu:** yes, position 25 (under Pages)
## Supporting taxonomies
1. `case_study_industry` — Industries (e.g. SaaS, e-commerce, healthcare)
2. `case_study_service` — Service types (e.g. branding, website, copywriting)
## ACF field group: `Case Study Fields`
- Hero image (image, required)
- Client name (text, required)
- Brief (textarea)
- Deliverables (repeater — title + description)
- Outcomes (repeater — metric name + before + after)
- Client logo (image)
- Related case studies (relationship → case_study)
Wait for confirmation. The user might want to add or remove fields.
After confirmation, run the create calls:
respira_create_post_type — creates the CPT with the proposed shaperespira_create_taxonomy — once per supporting taxonomy, bound to the CPTrespira_create_acf_field_group — the ACF field group, bound to the CPT via location rulesEach call should report back: "✓ Created CPT case_study" / "✓ Created taxonomy case_study_industry" / "✓ Created ACF field group with 8 fields bound to case_study."
Create 1–2 sample entries so the user can immediately see the CPT working in the admin and the editor renders correctly. Use respira_create_custom_post with realistic but generic content (no real customer names — generic personas like "BrandQ" or "agency-A").
The sample entries should populate every ACF field so the user can see the full shape.
Based on the active builder, suggest where to create the single template:
If the user wants to scaffold the template now, offer to build it: that's a separate skill flow (use respira_build_page against the single template surface for the chosen builder).
Output a summary with:
/wp-admin/edit.php?post_type=case_study)/case-studies/)case_study, case_study_industry) — never spaces or hyphens. WordPress CPT slugs have a 20-character hard limit.show_in_rest so the builder + Respira can read/write the CPT. If show_in_rest is false, the post type is invisible to the REST API and most modern builders break on it.post, page, attachment, revision, nav_menu_item, custom_css, customize_changeset, oembed_cache, user_request, wp_block, wp_template, wp_template_part, wp_global_styles, wp_navigation — these are reserved.post_type == case_study), not to a category or template. Wrong location rule = fields invisible in the admin.Records: site URL hash, CPT slug created, taxonomy count, ACF field count, builder active, sample entries created, success/failure. No CPT names, no field values, no content sent.
Endpoint: POST https://www.respira.press/api/skills/track-usage
npx claudepluginhub respira-press/agent-skills-wordpressClassifies content as CPT, ACF fields, Blade/Livewire components, or Options Pages for Sage/Bedrock projects. Helps decide static vs dynamic content architecture before building.
Installs relevant WP.org plugins, generates AI placeholder content (pages, posts, menus), creates images, and re-exports database for WordPress NL site builds after theme activation.
Create and manage WordPress posts, pages, media, categories, tags, and menus using WP-CLI or REST API. For blog posts, page updates, media uploads, bulk operations.