CommunityProgramación y desarrollogithub.com

fswp-api-developer

Skill de dominio para trabajar con la API REST de WordPress y la API de Habilidades en Full-Stack WP Developer.

¿Qué es fswp-api-developer?

Este skill, `fswp-api-developer`, es un dominio especializado dentro del perfil de Full-Stack WP Developer diseñado para el desarrollo de endpoints de la API REST de WordPress y la nueva API de Habilidades (Abilities API). Su propósito es guiar a un agente de IA en la creación de rutas personalizadas seguras, con esquemas, validación de argumentos, callbacks de permisos y manejo de errores, siguiendo las mejores prácticas de seguridad de `fswp-security-engineer`. El skill cubre desde el registro básico de rutas hasta la implementación de clases controladoras, la exposición de tipos de contenido personalizados y metadatos, así como la autenticación mediante nonces y contraseñas de aplicación. Para interacciones agente-máquina, introduce la API de Habilidades, que permite registrar capacidades discretas y autodescubribles con esquemas JSON de entrada/salida y anotaciones de seguridad. Es útil para cualquier desarrollador que necesite implementar endpoints REST robustos o funcionalidades invocables por IA en un plugin o tema de WordPress.

Compatible con~Claude Code~Codex CLI~Cursor
Part ofMobile
npx skills add https://github.com/syncwin/fswp-developer/tree/main/skills/fswp-api-developer

Installed? Explore more Programación y desarrollo skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Desarrollador de API FSWP

Fundamental (siempre aplicado): fswp-developer/references/lean-coding.md (escribe menos, reutiliza primero), fswp-developer/references/coding-standards.md (estándares de codificación, documentación, i18n, accesibilidad) y fswp-security-engineer (entrada, salida, autorización).

Referencia oficial: Manual de la API REST (fswp-developer/references/official-docs.md). Las reglas de seguridad de fswp-security-engineer se aplican a cada ruta.

Registrar una ruta

function vp_register_routes() {
	register_rest_route( 'vendor-prefix/v1', '/items/(?P<id>\d+)', array(
		'methods'             => WP_REST_Server::READABLE,
		'callback'            => 'vp_get_item',
		'permission_callback' => function ( WP_REST_Request $r ) {
			return current_user_can( 'edit_post', (int) $r['id'] );
		},
		'args'                => array(
			'id' => array( 'type' => 'integer', 'required' => true, 'sanitize_callback' => 'absint' ),
		),
	) );
}
add_action( 'rest_api_init', 'vp_register_routes' );

Reglas

  • Espacio de nombres y versión: vendor-prefix/v1. Nunca registrar en el espacio de nombres wp/v2 del núcleo.
  • permission_callback es obligatorio. Devuelve una comprobación de capacidad, no solo el estado de inicio de sesión. Usa __return_true solo para datos genuinamente públicos, con un comentario explicando por qué. Verifica el acceso a nivel de objeto (edit_post, propiedad) siempre que haya un ID en la solicitud.
  • Declara args con type, required, enum, minimum/maximum, validate_callback y sanitize_callback. La solicitud no es de confianza incluso después de la validación; usa los valores de $request->get_param() como están tipados.
  • Devuelve datos con rest_ensure_response(); errores como new WP_Error( 'vp_code', __( 'Mensaje', 'text-domain' ), array( 'status' => 404 ) ). Usa códigos de estado precisos (400 inválido, 401 no autenticado, 403 prohibido, 404 no encontrado, 409 conflicto, 413 demasiado grande).
  • Esquema: implementa get_item_schema() (o callback schema) para que los clientes y el índice puedan describir el recurso; da forma a las respuestas con prepare_item_for_response().
  • Colecciones: soporta page/per_page con un límite máximo, establece X-WP-Total y X-WP-TotalPages, y nunca devuelvas listas sin límite.
  • Nunca devuelvas secretos, hashes de contraseñas, opciones sin procesar ni datos privados de otros usuarios.
  • Controladores: para más de un par de rutas, extiende WP_REST_Controller (register_routes, get_items, get_item, create_item, comprobaciones de permisos por método) y registra la clase una vez.
  • Exponer objetos del núcleo: tipos de contenido personalizados y taxonomías con 'show_in_rest' => true (y rest_base); metadatos con register_meta()/register_post_meta() y 'show_in_rest' => true más un esquema y un auth_callback.
  • Caché y rendimiento: manejadores GET ligeros; almacena en caché resultados costosos (fswp-performance-engineer); evita consultas en bucles.

Autenticación

ClienteMétodo
JS del mismo sitio (admin, bloques, front end)Autenticación por cookie con la cabecera X-WP-Nonce (wp_create_nonce( 'wp_rest' ), o wp_localize_script / @wordpress/api-fetch que lo añade)
Servidor o aplicación externaContraseñas de aplicación sobre HTTPS, o un plugin OAuth verificado
Lectura públicaSin autenticación, solo cuando los datos sean públicos

Los nonces no reemplazan las comprobaciones de capacidad. CORS: no abras Access-Control-Allow-Origin: * en rutas autenticadas.

Lado del cliente

Usa @wordpress/api-fetch en bloques y pantallas de administración. Maneja los errores por code y message, no analizando texto.

API de Habilidades

Una API del núcleo para registrar capacidades discretas y legibles por máquina (nombre, esquema de entrada, esquema de salida, comprobación de permisos, callback de ejecución) que las herramientas y los agentes de IA puedan descubrir y llamar. Es reciente: confirma la versión mínima de WordPress y los nombres exactos de las funciones en la documentación del desarrollador antes de usarla (busca "Abilities API"). Úsala solo cuando el PRD necesite funciones invocables por agentes; la REST simple es adecuada para llamadas normales cliente-servidor.

Al registrar una habilidad:

  • Registra la categoría primero, luego la habilidad, en los hooks documentados.
  • Proporciónale esquemas JSON para entrada y salida, y un permission_callback que verifique una capacidad real.
  • Configura las anotaciones de seguridad honestamente: las habilidades de solo lectura no deben escribir, las destructivas deben ser marcadas. Un callback que escriba mientras está anotado como solo lectura es un defecto, y fswp-reviewer lo trata como tal.
  • Expón a través de REST solo lo que deba ser invocable de forma remota.

Procedimientos de auditoría y verificación: references/abilities.md.

Para proponer qué endpoints existentes deberían convertirse en habilidades, enumera cada ruta con su método, comprobación de permisos actual, efectos secundarios y una anotación sugerida; no registres nada hasta que sea aprobado.

Individual skills in this repo

This repo contains 9 individual skills — each has its own dedicated page.

fswp-architect

Planning stage of Full-Stack WP Developer. Classifies the work (new plugin, new theme, update to an existing plugin or theme, add-on for another product, or WordPress Core patch), triages existing code with a bundled detection script, asks one round of essential questions, does competitive research, and produces one reviewable PRD or change brief with a single approval gate. Also covers Migration mode and multi-session handoff docs. Invoked by fswp-developer before any code is written; consult directly for PRD, change-brief, or handoff-doc questions.

fswp-block-developer

Domain skill for WordPress block editor work in Full-Stack WP Developer. Covers building custom Gutenberg blocks (block.json, static and dynamic rendering, attributes, supports, InnerBlocks, variations, deprecations, block bindings), block patterns, and the Interactivity API (data-wp directives, stores, server-side state), with the @wordpress/scripts build workflow. Use for any custom block, pattern, or front-end interactivity in a plugin or theme.

fswp-core-contributor

WordPress Core contribution stage of Full-Stack WP Developer. Guides a contributor through finding or filing a Trac ticket, setting up the wordpress-develop checkout and test environment, writing a patch or GitHub pull request that follows Core coding standards, inline documentation, backward compatibility and tests, and preparing the ticket comment; also routes block-editor changes to the Gutenberg repository and security reports to the private process. Invoked by fswp-developer for Core patches; consult directly for Core workflow questions.

fswp-devops-engineer

Domain skill for WordPress development tooling in Full-Stack WP Developer. Covers local environments (wp-env with Docker, WordPress Playground and Blueprints), command-line site operations (plugin and theme management, database export, search-replace, cron, scaffolding), coding standards and static analysis (PHPCS with WordPress standards, PHPStan with WordPress stubs), PHP and JS testing setup, and the @wordpress/scripts toolchain. Use when setting up, running, or automating a WordPress dev or test environment.

fswp-maintainer

Change stage for existing WordPress code in Full-Stack WP Developer. Updates, fixes, refactors, and upgrades existing plugins and themes without breaking them, and builds add-ons for products you do not own (WooCommerce extensions, page-builder elements, extensions of other plugins) using hooks instead of edits to third-party files. Covers reading before changing, parity lists, deprecation, host compatibility, upgrade paths, and patch delivery. Invoked by fswp-developer after an approved change brief; consult directly for safe-change or add-on questions.

fswp-qa-engineer

Verification stage of Full-Stack WP Developer. Runs the mechanical gate for plugins and themes (house-rule scripts, PHP lint, PHPCS with WordPress standards, PHP compatibility, PHPStan with WordPress stubs), the manual checklist, PRD or change-brief scenario tests, and the pre-release check. Reports PASS, FAIL, or NOT RUN and never implies a skipped check passed. Invoked by fswp-developer after a build and again before delivery; consult directly to audit any plugin or theme folder.

fswp-reviewer

Independent review stage of Full-Stack WP Developer. Reviews a finished WordPress plugin, theme, add-on, or Core patch through a security lens (WordPress-specific vulnerabilities, REST and AJAX authorization with an API risk map, AI-generated-code risks), a quality lens (error handling, data and upgrade safety, performance, i18n, accessibility, comment accuracy, test gaps, class and type design, scope), and an optional lean lens for trimming over-engineering, reporting only high-confidence findings in a fixed format. Invoked by fswp-developer after the verify gate, normally through the fswp-code-reviewer agent; consult directly to review or optimize any WordPress code.

fswp-theme-developer

Theme build stage of Full-Stack WP Developer. Builds custom WordPress themes - block themes (theme.json, templates, template parts, patterns, style variations), classic themes (template hierarchy, functions.php, theme supports), hybrids, and child themes - with accessibility, escaping, and directory readiness built in, plus a scaffold script. Invoked by fswp-developer after an approved PRD for a new theme; consult directly for a specific theme pattern. For changes to an existing theme use fswp-maintainer.

syncwin/fswp-plugin-developer

Plugin build stage of Full-Stack WP Developer. House standards and code templates for real WordPress plugins (not shortcode snippets) - folder anatomy, activation/uninstall lifecycle, custom post types and tables, admin UI tiers, front-end output on the Atomic Framework, REST and cron, i18n, distribution, and the Tier 3 React admin stack - plus a scaffold script. Also the base structure for add-ons. Invoked by fswp-developer after an approved PRD; consult directly for a specific plugin build pattern.

Skills relacionados