Generated banner for Wp Plugin Development
Generated logo for Wp Plugin Development

Wp Plugin Development

WordPressOfficialPublished by WordPress

  • Skill
  • Tool integration
  • Software development
  • GPL-2.0-or-later
  • Low risk
  • Has scripts

From the author

Use when developing WordPress plugins: architecture and hooks, activation/deactivation/uninstall, admin UI and Settings API, data storage, cron/tasks, security (nonces/capabilities/sanitization/escaping), and release packaging.
— the description by WordPress

AutoGineer summary

Written by AutoGineer from the skill’s own files, not by the author

This skill provides a comprehensive procedure for WordPress plugin development, covering the entire lifecycle from initial project structure and hook registration to admin UI implementation, data management, and security best practices. It emphasizes standard WordPress patterns, such as the Settings API and proper activation/deactivation routines, while ensuring code remains secure through nonces, capability checks, and safe database interactions.

What it does

  • Guides the setup of plugin architecture, including bootstrap files and hook management.
  • Provides procedures for plugin lifecycle events like activation, deactivation, and uninstallation.
  • Facilitates the creation of admin interfaces using the WordPress Settings API.
  • Enforces security standards including input sanitization, output escaping, and nonce verification.
  • Assists in managing persistent data storage and background cron tasks.
  • Supports release packaging and verification of plugin functionality.

When to use it

  • When starting a new WordPress plugin project from scratch.
  • When refactoring existing plugin code to follow modern WordPress standards.
  • When adding new settings pages or admin configuration interfaces.
  • When implementing background tasks or custom database storage.
  • When auditing a plugin for security vulnerabilities or fixing activation issues.

Advantages

  • Ensures adherence to official WordPress architectural patterns.
  • Reduces common bugs related to plugin lifecycle and hook registration.
  • Promotes a security-first approach to plugin development.
  • Standardizes the implementation of settings and data storage.
  • Provides clear debugging paths for common plugin development failures.

Usage examples

“Help me set up the activation and deactivation hooks for my new plugin.”
The agent will guide you to register these hooks in the main plugin file and provide a template for safe activation/deactivation logic.
“How do I securely add a settings page to my plugin?”
The agent will walk you through using the Settings API, including registering settings, adding fields, and implementing necessary nonce and capability checks.

Install

  1. Download the skill as a ZIP:

    https://autogineer.com/agent-skills/wordpress/wp-plugin-development/download
  2. Unzip it into the cross-client skills folder of your project:

    mkdir -p .agents/skills && unzip wp-plugin-development.zip -d .agents/skills

Documentation by WordPress

WP Plugin Development

When to use

Use this skill for plugin work such as:

  • creating or refactoring plugin structure (bootstrap, includes, namespaces/classes)

  • adding hooks/actions/filters

  • activation/deactivation/uninstall behavior and migrations

  • adding settings pages / options / admin UI (Settings API)

  • security fixes (nonces, capabilities, sanitization/escaping, SQL safety)

  • packaging a release (build artifacts, readme, assets)

Inputs required

  • Repo root + target plugin(s) (path to plugin main file if known).

  • Where this plugin runs: single site vs multisite; WP.com conventions if applicable.

  • Target WordPress + PHP versions (affects available APIs and placeholder support in $wpdb->prepare()).

Procedure

0) Triage and locate plugin entrypoints
  1. Run triage:

    • node skills/wp-project-triage/scripts/detect_wp_project.mjs

  2. Detect plugin headers (deterministic scan):

    • node skills/wp-plugin-development/scripts/detect_plugins.mjs

If this is a full site repo, pick the specific plugin under wp-content/plugins/ or mu-plugins/ before changing code.

1) Follow a predictable architecture

Guidelines:

  • Keep a single bootstrap (main plugin file with header).

  • Avoid heavy side effects at file load time; load on hooks.

  • Prefer a dedicated loader/class to register hooks.

  • Keep admin-only code behind is_admin() (or admin hooks) to reduce frontend overhead.

See:

  • references/structure.md

2) Hooks and lifecycle (activation/deactivation/uninstall)

Activation hooks are fragile; follow guardrails:

  • register activation/deactivation hooks at top-level, not inside other hooks

  • flush rewrite rules only when needed and only after registering CPTs/rules

  • uninstall should be explicit and safe (uninstall.php or register_uninstall_hook)

See:

  • references/lifecycle.md

3) Settings and admin UI (Settings API)

Prefer Settings API for options:

  • register_setting(), add_settings_section(), add_settings_field()

  • sanitize via sanitize_callback

See:

  • references/settings-api.md

4) Security baseline (always)

Before shipping:

  • Validate/sanitize input early; escape output late.

  • Use nonces to prevent CSRF and capability checks for authorization.

  • Avoid directly trusting $_POST / $_GET; use wp_unslash() and specific keys.

  • Use $wpdb->prepare() for SQL; avoid building SQL with string concatenation.

See:

  • references/security.md

5) Data storage, cron, migrations (if needed)
  • Prefer options for small config; custom tables only if necessary.

  • For cron tasks, ensure idempotency and provide manual run paths (WP-CLI or admin).

  • For schema changes, write upgrade routines and store schema version.

See:

  • references/data-and-cron.md

Verification

  • Plugin activates with no fatals/notices.

  • Settings save and read correctly (capability + nonce enforced).

  • Uninstall removes intended data (and nothing else).

  • Run repo lint/tests (PHPUnit/PHPCS if present) and any JS build steps if the plugin ships assets.

Failure modes / debugging

  • Activation hook not firing:

    • hook registered incorrectly (not in main file scope), wrong main file path, or plugin is network-activated

  • Settings not saving:

    • settings not registered, wrong option group, missing capability, nonce failure

  • Security regressions:

    • nonce present but missing capability checks; or sanitized input not escaped on output

See:

  • references/debugging.md

Escalation

For canonical detail, consult the Plugin Handbook and security guidelines before inventing patterns.

Files

ATTRIBUTION.md

Attribution

This folder is an unmodified copy of the Agent Skill "wp-plugin-development", distributed by AutoGineer (https://autogineer.com/agent-skills).

The skill's own files are unmodified copies. AutoGineer is not affiliated with or endorsed by the author or the publisher.

Files added by AutoGineer

  • ATTRIBUTION.md: this file, written by AutoGineer

  • LICENSE: copied from LICENSE

Requirements and compatibility

Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta

“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.

Needs: Needs Node.js

The author says: Targets WordPress 7.0+ (PHP 7.4.0+). Filesystem-based agent with bash + node. Some workflows require WP-CLI.

Security

What our scanner noticed· Low risk

  • Scripts that your agent may run

This skill includes scripts that your agent may run. Read them before you use it.

A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.

Attribution and licence

Published by
WordPress
Publisher
WordPress (Official)
Source
WordPress/agent-skills · skills/wp-plugin-development · commit 7374e6f
Licence
GNU General Public License v2.0 or later (redistribution allowed)
  • LICENSE (added by AutoGineer from LICENSE)
  • ATTRIBUTION.md (written by AutoGineer)
Synced

AutoGineer is not affiliated with or endorsed by WordPress or WordPress.

Download ZIP

The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download wp-plugin-development.zip