CommunityCoding & Developmentgithub.com

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.

What is fswp-core-contributor?

fswp-core-contributor is a Claude Code agent skill that 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.

Works with~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/syncwin/fswp-developer/tree/main/skills/fswp-core-contributor

Installed? Explore more Coding & Development skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Ask in your favorite AI

Open a new chat with this agent skill pre-loaded.

Documentation

FSWP Core Contributor

Foundational (always applied): fswp-developer/references/lean-coding.md (write less, reuse first), fswp-developer/references/coding-standards.md (coding standards, docs, i18n, accessibility), and fswp-security-engineer (input, output, authorization).

Workflow facts here were checked against the Core Contributor Handbook on 2026-09-28. Core processes change; confirm anything time-sensitive in fswp-developer/references/official-docs.md before advising. Nothing here submits anything: the user files tickets and opens pull requests themselves (GitHub automation is reserved, see fswp-developer/references/github-foundation.md).

Route the change first

The change is in...Goes to
A vulnerabilityThe private security process linked from the Core handbook. Never a public ticket or PR. Stop and say so.
PHP, admin screens, APIs, tests, most Core codeTrac ticket plus patch or pull request against WordPress/wordpress-develop (this skill)
The block editor (Gutenberg packages, editor UI, Site Editor)Issues and pull requests on WordPress/gutenberg; Core receives updates from there. Read that repository's contributing guide.
A plugin or theme bugNot Core; use fswp-maintainer and report to that project
DocsThe relevant handbook's docs team process

Ticket first

  1. Search Trac (https://core.trac.wordpress.org/) for the symptom. Read the ticket history and any patches.
  2. If no ticket exists, draft one: precise title, WordPress/PHP versions, steps to reproduce, expected vs actual, and why it is a defect (a bug) versus an enhancement. The user files it under the right component.
  3. Note workflow keywords on the ticket (for example a request for unit tests) and follow them.

Environment

Use the development checkout, not a normal site:

  1. Clone WordPress/wordpress-develop (Git mirror of the canonical repository, which is managed in Subversion).
  2. Docker and Node are needed for the standard workflow. From the checkout root: npm install, npm run build:dev, npm run env:start, npm run env:install.
  3. Run the PHP tests with npm run test:php. Pass PHPUnit arguments after a double dash, for example -- --group formatting. Tests tagged @ticket run by ticket number as a group. Multisite has its own config (-c tests/phpunit/multisite.xml); AJAX tests run with --group ajax.
  4. Non-Docker workflows (Composer, PHPUnit PHAR) exist; see the PHPUnit page in the handbook.

Writing the change

  • Branch from trunk; name the branch with the ticket number (for example 12345-short-description). Keep the change focused on one ticket.
  • Coding standards: WordPress PHP, JS, CSS, and HTML standards, including Yoda conditions, tabs, spacing, and escaping/sanitizing rules. Run PHPCS on changed files.
  • Inline documentation: PHPDoc for new or changed functions, hooks, and classes in Core's style, with @since set to the version the ticket's milestone names.
  • Backward compatibility: Core almost never breaks public behavior. Deprecate (_deprecated_function() and friends) rather than remove; keep filters and actions stable; preserve function signatures.
  • Tests: add or update PHPUnit tests that fail before and pass after, tagged with @ticket. A bug patch without a test is usually asked to add one.
  • Security and performance: same rules as any WordPress code (fswp-security-engineer, fswp-performance-engineer), held to a higher bar.
  • Do not bundle unrelated formatting or refactoring.

Submitting (done by the user)

  • Attach a .diff file to the Trac ticket named after the ticket number, or open a pull request against WordPress/wordpress-develop that references the ticket. Pull requests are used for review; they are not merged on GitHub, because committers commit through the canonical repository.
  • Post a ticket comment: what the patch does, how you tested it, steps a tester can follow, and any open questions. Draft it for the user using references/ticket-comment-template.md.
  • Expect review, requests for changes, and a slow cycle. Respond on the ticket, update the patch, and keep it rebased on trunk.

Verify before handing over

Run fswp-qa-engineer with the Core checklist: reproduction fails before and passes after, the relevant test group passes, coding standards are clean on changed lines, docs are present, and BC is intact.

Individual skills in this repo

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

fswp-api-developer

Domain skill for WordPress REST API and Abilities API work in Full-Stack WP Developer. Covers registering routes with schemas, argument validation and sanitization, permission callbacks, controller classes, exposing post types and meta, authentication (cookie nonce, application passwords), pagination and errors, and registering abilities with input and output schemas and safety annotations. Use for any custom endpoint or machine-readable capability in a plugin or theme.

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-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.

Related Skills