<Devsly/>
NotebookLM Watermark Remover
Remove the NotebookLM watermark from PDF slide exports — free, unlimited, and 100% in your browser.
View
NotebookLM Video Watermark Remover
Remove the NotebookLM watermark from every frame of your MP4 and auto-trim the end card — free and unlimited.
View
Gemini Watermark Remover
Remove the Gemini (Veo) sparkle watermark from every frame of your AI-generated MP4 — free and unlimited.
View
MCP https://devsly.io/mcp MCP Tools Best Skills API Docs

Keyboard Shortcuts

Navigation

Quick Search
⌘ / Ctrl + K
Toggle Dark Mode
⌘ / Ctrl + D
Close Dialogs
Esc

Tool Actions

Execute / Process
⌘ / Ctrl + Enter
Clear Input
⌘ / Ctrl + Shift + C
Copy Output
⌘ / Ctrl + Shift + X

Editor

Select All
⌘ / Ctrl + A
Undo
⌘ / Ctrl + Z
Redo
⌘ / Ctrl + Shift + Z

Updated 2w ago

by Lonsdale201

wp-agent-skills

A community-maintained collection of agent skills for WordPress plugin and theme development.

22 GitHub stars (22)

Steady at 22 stars — no new stars in the 16 days since Sep 30.

  • 30 skills (30 skills found in its SKILL.md files)
  • 2 forks (2 forks)
  • 2w ago last update (Last updated 2w ago)

Install

Skills CLI

npx skills add Lonsdale201/wp-agent-skills

Asks which skills and agents to install. Just one: npx skills add Lonsdale201/wp-agent-skills --skill acf-custom-field-type — add -g for every project.

Claude Code

git clone https://github.com/Lonsdale201/wp-agent-skillscp -r "wp-agent-skills/acf/acf-custom-field-type" ~/.claude/skills/

Copies the acf-custom-field-type skill into ~/.claude/skills/ for every project (use .claude/skills/ for one project). Repeat for the other skills listed below.

Plugin

/plugin marketplace add Lonsdale201/wp-agent-skills

Run inside Claude Code if the repository ships a plugin marketplace, then pick plugins from /plugin.

Skills can run code on your machine — read the SKILL.md first.

What it does

In the author's own words, from each skill's SKILL.md — showing the first 30 of 244 files.

  • acf-custom-field-type

    Builds and reviews custom Advanced Custom Fields field types on the Free acf_field extension API. Covers acf/include_field_types registration, initialize metadata, settings and input rendering, dynamic input names, validation, load/update/format transforms, field-aware HTML escaping, assets, REST visibility, and repeater-compatible JavaScript initialization. Use when a built-in ACF field cannot r…

    acf/acf-custom-field-type/SKILL.md on GitHub (opens in a new tab)
  • acf-field-group-development

    Builds and reviews Advanced Custom Fields field groups defined in PHP or Local JSON. Covers stable group and field keys, storage names, acf/init timing, location rules, REST exposure, plugin-owned JSON paths, deployment, and Free versus PRO field availability. Use when adding a new ACF-backed meta field, converting an admin-created group to code, shipping field definitions in a plugin or theme, f…

    acf/acf-field-group-development/SKILL.md on GitHub (opens in a new tab)
  • acf-pro-complex-fields

    Builds and reviews ACF PRO Repeater, Flexible Content, Gallery, and Clone fields. Covers their flattened database shapes, field-key update arrays, have_rows and get_sub_field loops, layout dispatch, safe rendering, nested cleanup, pagination limits, migration risks, and performance boundaries. Use when implementing repeated rows, modular page sections, galleries, reused field definitions, or debu…

    acf/acf-pro-complex-fields/SKILL.md on GitHub (opens in a new tab)
  • acf-pro-options-pages

    Builds and reviews ACF PRO options pages and their global value storage. Covers acf_add_options_page registration, capabilities, menu and location rules, default and custom post_id prefixes in wp_options, hidden field-key references, autoload cost, frontend reads, field-name collisions, and migrations. Use when adding site-wide settings, header/footer content, brand configuration, or debugging op…

    acf/acf-pro-options-pages/SKILL.md on GitHub (opens in a new tab)
  • acf-relational-fields

    Implements and reviews ACF Relationship, Post Object, User, and Taxonomy fields. Covers raw ID storage versus ID/object return formats, single and multiple values, native bidirectional settings, taxonomy save/load term side effects, reverse meta queries, object targeting, authorization, and bounded frontend rendering. Use when connecting posts, users, or terms with ACF, building related-content t…

    acf/acf-relational-fields/SKILL.md on GitHub (opens in a new tab)
  • acf-value-storage-frontend

    Implements and diagnoses Advanced Custom Fields value storage, programmatic writes, database inspection, and frontend rendering. Covers the value row plus hidden field-key reference, post/user/term/comment/options targets, field-key first writes, raw versus formatted get_field values, return formats, escaping, cache behavior, and meta queries. Use when adding an ACF-backed meta value, importing d…

    acf/acf-value-storage-frontend/SKILL.md on GitHub (opens in a new tab)
  • bd-attribute

    Add a new declarative attribute to the better-data library (e.g. #[ArrayOf], #[Default], domain hint). Attributes live in src/Attribute/ as final readonly classes with constructor-promoted public properties — pure data carriers, never business logic. The failure mode that catches every contributor is "partial wiring" — declaring the attribute and reading it in ONE engine (e.g. only PostSink) whil…

    better-data/bd-attribute/SKILL.md on GitHub (opens in a new tab)
  • bd-better-route-bridge

    Compose better-data DTOs with the better-route library — use BetterRouteBridge::{get, post, put, patch, delete} to register a REST route that hydrates the request into a DTO, validates, calls the handler with (DataObject, mixed $request), and presents returned DataObject values through Presenter with PresentationContext::rest(). Contract — the bridge is method-name based (duck-types Router / Rout…

    better-data/bd-better-route-bridge/SKILL.md on GitHub (opens in a new tab)
  • bd-companion-plugin

    Work on better-data-plugin-test — the companion plugin that exercises the better-data library against a live WordPress install. Plugin is intentionally NOT part of the library public API, so feel free to break its internals to demonstrate a point. Three test tiers — Smoke (regression; never tolerate FAIL), Stress (deep integration with OK/FAIL/NOTE findings — NOTE is for surfaced quirks worth doc…

    better-data/bd-companion-plugin/SKILL.md on GitHub (opens in a new tab)
  • bd-data-object

    Add or modify DataObject subclasses inside the better-data library — the immutable, attribute-decorated DTOs the whole library is built around. Every DTO is final readonly class extends DataObject with constructor-promoted typed parameters; sources hydrate via ::fromArray, sinks project via SinkProjection, the Presenter renders via HasPresenter trait. Important — every trailing constructor parame…

    better-data/bd-data-object/SKILL.md on GitHub (opens in a new tab)
  • bd-hydration-coercion

    Modify how raw values become typed property values in better-data — work in TypeCoercer (primitives + DateTime + Enum + Secret) or DataObject::coerceParameter (attribute-aware — ListOf, Encrypted, etc.). Critical layering — TypeCoercer is pure, must stay callable from a no-WordPress unit test, no side effects, no global reads, no WP function calls; attribute-driven coercion lives ABOVE TypeCoerce…

    better-data/bd-hydration-coercion/SKILL.md on GitHub (opens in a new tab)
  • bd-presenter

    Extend the better-data Presenter — add a fluent builder method (rename, mask, format, compute) or a PresentationContext flag. The Presenter is a mutable builder around a readonly DTO — each fluent method mutates internal state ($this->only, $this->hidden, $this->computed, etc.) and returns $this for chaining; the wrapped DataObject NEVER mutates. CollectionPresenter records every configurer as a…

    better-data/bd-presenter/SKILL.md on GitHub (opens in a new tab)
  • bd-security

    Apply better-data's security discipline when touching Secret, EncryptionEngine, #[Sensitive], #[Encrypted], MetaKeyRegistry::register, RequestSource guards, or user_pass handling. Loud-over-silent — missing key throws, tampered ciphertext throws, unknown strict-whitelist field throws, colliding route-owned field throws; silent degradation is the worst outcome for security. Symmetric end-to-end —…

    better-data/bd-security/SKILL.md on GitHub (opens in a new tab)
  • bd-sink

    Add a new sink to better-data — code that writes DataObjects back to a WordPress data store the library doesn't cover yet (comment meta, REST upload, custom taxonomy hierarchy). Mirror PostSink's two-mode shape — projection methods (toArgs / toMeta) return raw arrays for caller-managed writes, convenience methods (insert / update / save) commit everything internally and MUST pass values through w…

    better-data/bd-sink/SKILL.md on GitHub (opens in a new tab)
  • bd-source-adapter

    Add a new source adapter to better-data — code that reads from a WordPress data store the library doesn't cover yet (comments, attachments, transients, custom tables). Mirror the canonical shape PostSource / UserSource / TermSource use — a non-final class with static hydrate(int|object, $dtoClass) and hydrateMany(int[], $dtoClass) methods. Critical contract — the meta fetcher closure passed to th…

    better-data/bd-source-adapter/SKILL.md on GitHub (opens in a new tab)
  • bd-validation-rule

    Add a new validation rule to better-data — implement the Rule interface (NOT "RuleInterface"; the actual interface in src/Validation/Rule.php is named Rule), live in src/Validation/Rule/, and follow the canonical contract — check(mixed, string, DataObject) returns null on pass or a short error string on fail; rules other than Required treat null as skip so nullable fields don't false- positive. E…

    better-data/bd-validation-rule/SKILL.md on GitHub (opens in a new tab)
  • br-atomic-idempotency

    Configure better-route 1.1 AtomicIdempotencyMiddleware for side-effectful POST, PUT, PATCH, or DELETE routes where concurrent duplicate execution must be prevented. Use for WpdbAtomicIdempotencyStore, lease-aware reservations, reservation_token schema migration, Idempotency-Key validation, idempotency_in_progress/conflict/replay behavior, safe stored responses, releaseOnThrowable, Woo write idemp…

    better-route/br-atomic-idempotency/SKILL.md on GitHub (opens in a new tab)
  • br-audit-enrichment

    Configure Better Route 1.1 audit events and safe enrichment. Use when logging route outcomes, authenticated identity, hashed idempotency keys, trusted client IPs, domain action metadata, or ensuring telemetry failures cannot change API behavior.

    better-route/br-audit-enrichment/SKILL.md on GitHub (opens in a new tab)
  • br-auth-middleware

    Configure Better Route 1.1 authentication with JWT, custom bearer tokens, WordPress Application Passwords, or cookie nonces. Use when protecting routes, mapping verified claims to WordPress users, enforcing scopes, consuming the shared AuthContext identity, restoring native users after nested dispatch, or diagnosing response-filter/_embed auth boundaries.

    better-route/br-auth-middleware/SKILL.md on GitHub (opens in a new tab)
  • br-cors-public-client

    Configure better-route 1.1 CORS for browser, mobile, and embedded WordPress REST clients. Use for CorsPolicy, CorsMiddleware, WordPressCorsBridge, allowed origins/methods/headers, credentials, OPTIONS preflight, Authorization, X-WP-Nonce, Idempotency-Key, If-Match, If-None-Match, X-Request-ID, core WordPress CORS conflicts, or cors_origin_denied errors. In 1.1 matched routes get authoritative bri…

    better-route/br-cors-public-client/SKILL.md on GitHub (opens in a new tab)
  • br-crypto

    Use Better Route 1.1 cryptographic helpers for secure random tokens, Hex/Base64/Base64URL encoding, strict Base64URL decoding, and constant-time secret comparison. Use when implementing nonces, state, PKCE, opaque tokens, or signature comparisons.

    better-route/br-crypto/SKILL.md on GitHub (opens in a new tab)
  • br-error-contract

    Produce and consume better-route 1.1 structured errors. Use for ApiException, Response, ErrorNormalizer, ResponseNormalizer, WP_Error conversion, OAuth RFC 6749 error_format, status/code/details/headers, Retry-After, validation_failed, idempotency/rate/optimistic-lock/Woo errors, leak prevention, or invalid response/header diagnostics. In 1.1 ApiException and Response validate status and headers,…

    better-route/br-error-contract/SKILL.md on GitHub (opens in a new tab)
  • br-etag-cache

    Add better-route 1.1 ETag and If-None-Match handling to GET or HEAD routes. Use for ETagMiddleware, strong or weak validators, custom etagResolver, WP_REST_Response preservation, comma-separated validators, wildcard matching, 304 responses, Cache-Control, proxy-stripped ETag troubleshooting, reviewing conditional HTTP caching, or configuring identity/namespace/URL isolation in CachingMiddleware.…

    better-route/br-etag-cache/SKILL.md on GitHub (opens in a new tab)
  • br-hmac-signature

    Configure Better Route 1.1 HMAC authentication for webhooks and server-to-server REST requests. Use when signing request timestamps, methods, paths, raw bodies, optional query strings, rotating key IDs, or consuming the shared HMAC AuthContext identity.

    better-route/br-hmac-signature/SKILL.md on GitHub (opens in a new tab)
  • br-idempotency

    Configure better-route 1.1 replay-cache idempotency with IdempotencyMiddleware and Idempotency-Key. Use for ArrayIdempotencyStore, TransientIdempotencyStore, WpdbIdempotencyStore, installSchema, identity-aware canonical keys, body fingerprints, key conflicts, replay headers, key validation, custom methods/resolvers, or choosing between classic and atomic idempotency. Use AtomicIdempotencyMiddlewa…

    better-route/br-idempotency/SKILL.md on GitHub (opens in a new tab)
  • br-install-and-migrate

    Install better-route from Packagist or migrate a WordPress integration to better-route 1.1. Use when adding better-route/better-route, changing the Composer constraint to ^1.1, upgrading from 1.0 or pre-1.0 releases, diagnosing new 403 route responses, migrating atomic idempotency schema, or reviewing 1.1 behavior changes in routing, Resource CRUD, CORS, ETag, rate limiting, JWT/JWKS, OpenAPI, an…

    better-route/br-install-and-migrate/SKILL.md on GitHub (opens in a new tab)
  • br-jwks-jwt-auth

    Configure Better Route 1.1 RS256 or ES256 JWT verification from a local or HTTPS JWKS. Use when integrating OIDC/OAuth bearer tokens, selecting keys by kid, validating issuer/audience/lifetime, or operating JWKS caching and refresh behavior safely.

    better-route/br-jwks-jwt-auth/SKILL.md on GitHub (opens in a new tab)
  • br-network-security

    Configure Better Route 1.1 trusted-proxy client IP resolution and CIDR allowlists. Use behind Cloudflare, nginx, load balancers, or reverse proxies when authorization, rate limiting, or audit data depends on the real client IP.

    better-route/br-network-security/SKILL.md on GitHub (opens in a new tab)
  • br-openapi

    Generate or serve better-route 1.1 OpenAPI 3.1 documents from Router/Resource/Woo contracts. Use for OpenApiExporter, OpenApiRouteRegistrar, contracts, contractsFromSources, route args to parameters, explicit parameter overrides, custom responses, OPTIONS 204, strictSchemas, components, securitySchemes, globalSecurity, publicRoute security, Resource response envelopes, Woo schemas, or openapi.jso…

    better-route/br-openapi/SKILL.md on GitHub (opens in a new tab)
  • br-optimistic-locking

    Configure Better Route 1.1 optimistic locking for REST writes with If-Match or version parameters and an atomic per-resource critical section. Use when preventing stale updates, lost writes, or two cooperating Better Route requests from passing the same version check concurrently.

    better-route/br-optimistic-locking/SKILL.md on GitHub (opens in a new tab)

Review before you install

A skill is a set of instructions and scripts your agent will follow, and it can run code on your machine. Read the SKILL.md and any scripts first — this listing is not a security review.