CommunityCodierung & Entwicklunggithub.com

FSWP API-Entwickler

Bereichsspezifische Fähigkeit für die Arbeit mit der WordPress-REST-API und der Abilities API im Full-Stack-WP-Entwickler. Deckt das Registrieren von Routen mit Schemata, Argumentvalidierung und -bereinigung, Berechtigungs-Callbacks, Controller-Klassen, das Verfügbarmachen von Beitragstypen und Metadaten, Authentifizierung (Cookie-Nonce, Anwendungspasswörter), Paginierung und Fehlerbehandlung sowie das Registrieren von Fähigkeiten mit Eingabe-/Ausgabeschemata und Sicherheitsannotationen ab.

Was ist FSWP API-Entwickler?

Diese Fähigkeit ist ein umfassendes Toolkit für WordPress-Entwickler, die die REST-API und die neuere Abilities API nutzen. Sie definiert klare Regeln für das Registrieren von Routen mit obligatorischen `permission_callback`s, detaillierten `args`-Schemata und der korrekten Rückgabe von Antworten und Fehlern. Die Fähigkeit behandelt die Authentifizierung über Cookie-Nonces für clientseitige Anfragen und Anwendungspasswörter für externe Dienste. Ein besonderer Schwerpunkt liegt auf der Abilities API, die es erlaubt, maschinenlesbare Fähigkeiten mit Ein-/Ausgabeschemata und Sicherheitsannotationen zu registrieren, sodass Tools und KI-Agenten sie entdecken und aufrufen können. Entwickler werden angeleitet, wann sie die REST-API und wann die Abilities API verwenden sollten, und sie erhalten Best Practices für Controller-Klassen, die Darstellung von Inhaltstypen und die Leistungsoptimierung.

Funktioniert mit~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 Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Was macht FSWP API-Entwickler?

Grundlegend (immer anzuwenden): fswp-developer/references/lean-coding.md (weniger schreiben, erstes wiederverwenden), fswp-developer/references/coding-standards.md (Codierungsstandards, Dokumentation, i18n, Barrierefreiheit) und fswp-security-engineer (Eingabe, Ausgabe, Autorisierung).

Offizielle Referenz: REST-API-Handbuch (fswp-developer/references/official-docs.md). Sicherheitsregeln aus fswp-security-engineer gelten für jede Route.

Eine Route registrieren

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' );

Regeln

  • Namespace und Version: vendor-prefix/v1. Niemals im Core-Namespace wp/v2 registrieren.
  • permission_callback ist obligatorisch. Gib eine Berechtigungsprüfung zurück, nicht nur den Anmeldestatus. Verwende __return_true nur für wirklich öffentliche Daten, mit einem Kommentar, der dies erklärt. Prüfe objektbezogenen Zugriff (edit_post, Eigentümerschaft), wenn eine ID in der Anfrage enthalten ist.
  • Deklariere args mit type, required, enum, minimum/maximum, validate_callback und sanitize_callback. Die Anfrage ist auch nach der Validierung nicht vertrauenswürdig; verwende Werte aus $request->get_param() mit dem korrekten Typ.
  • Daten mit rest_ensure_response() zurückgeben; Fehler als new WP_Error( 'vp_code', __( 'Nachricht', 'text-domain' ), array( 'status' => 404 ) ). Verwende genaue Statuscodes (400 ungültig, 401 nicht authentifiziert, 403 verboten, 404 nicht gefunden, 409 Konflikt, 413 zu groß).
  • Schema: Implementiere get_item_schema() (oder schema-Callback), damit Clients und der Index die Ressource beschreiben können; forme Antworten mit prepare_item_for_response().
  • Sammlungen: Unterstütze page/per_page mit einem harten Limit, setze X-WP-Total und X-WP-TotalPages und gib niemals unbegrenzte Listen zurück.
  • Gib niemals Geheimnisse, Passwort-Hashes, rohe Optionen oder private Daten anderer Benutzer zurück.
  • Controller: Verwende für mehr als ein paar Routen WP_REST_Controller (mit register_routes, get_items, get_item, create_item, Berechtigungsprüfungen pro Methode) und registriere die Klasse einmal.
  • Kernobjekte verfügbar machen: Benutzerdefinierte Beitragstypen und Taxonomien mit 'show_in_rest' => true (und rest_base); Meta mit register_meta()/register_post_meta() und 'show_in_rest' => true sowie einem Schema und einem auth_callback.
  • Caching und Leistung: Günstige GET-Handler; teure Ergebnisse cachen (fswp-performance-engineer); Abfragen in Schleifen vermeiden.

Authentifizierung

ClientMethode
JavaScript von derselben Site (Admin, Blöcke, Frontend)Cookie-Auth mit dem X-WP-Nonce-Header (wp_create_nonce( 'wp_rest' ) oder wp_localize_script / @wordpress/api-fetch, was diesen automatisch hinzufügt)
Externer Server oder AnwendungAnwendungspasswörter über HTTPS oder ein geprüftes OAuth-Plugin
Öffentliches LesenKeine Authentifizierung, nur wenn die Daten öffentlich sind

Nonces ersetzen keine Berechtigungsprüfungen. CORS: Gib Access-Control-Allow-Origin: * nicht für authentifizierte Routen frei.

Clientseitig

Verwende @wordpress/api-fetch in Blöcken und Admin-Bildschirmen. Behandle Fehler anhand von code und message, nicht durch Textparsing.

Abilities API

Eine Core-API zum Registrieren diskreter, maschinenlesbarer Fähigkeiten (Name, Eingabeschema, Ausgabeschema, Berechtigungsprüfung, Ausführungs-Callback), die von Tools und KI-Agenten entdeckt und aufgerufen werden können. Sie ist neu: Bestätige die minimale WordPress-Version und die genauen Funktionsnamen in der Entwicklerdokumentation, bevor du sie verwendest (suche nach „Abilities API“). Verwende sie nur, wenn die PRD agentenaufrufbare Funktionen benötigt; normales REST ist für gewöhnliche Client-Server-Aufrufe geeignet.

Beim Registrieren einer Fähigkeit:

  • Registriere zuerst die Kategorie, dann die Fähigkeit, an den dokumentierten Hooks.
  • Gib ihr JSON-Schemas für Ein- und Ausgabe sowie einen permission_callback, der eine echte Berechtigung prüft.
  • Gib die Sicherheitsannotationen ehrlich an: Schreibgeschützte Fähigkeiten dürfen nicht schreiben, destruktive müssen markiert sein. Ein Callback, der schreibt, während er als schreibgeschützt annotiert ist, ist ein Fehler, und fswp-reviewer behandelt ihn als solchen.
  • Mache über REST nur das verfügbar, was aus der Ferne aufrufbar sein soll.

Audit- und Verifizierungsverfahren: references/abilities.md.

Um vorzuschlagen, welche vorhandenen Endpunkte zu Fähigkeiten werden sollten, liste jede Route mit ihrer Methode, der aktuellen Berechtigungsprüfung, den Nebenwirkungen und einer vorgeschlagenen Annotation auf; registriere nichts, bis es genehmigt wurde.

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.

Verwandte Skills