wordpress skill

Operate connected WordPress sites through the NotFair MCP.

by nowork-studio·MIT license·★ 3,853 Stars on the repo·GitHub ↗

Use now

Files of wordpress

nowork-studio/main1 file shown
SKILL.md
Show the full text41 lines
wordpress-nowork-studio/SKILL.md41 lines · 3.4 KB

WordPress

Follow ../docs/mcp-connection.md. Resolve ~~wordpress to the live connection. Use its current instructions and capability descriptions to choose tools, and verify the requested site from live data. Do not infer access from Search Console, a local .env.local CMS setup, or another connected platform.

This skill is the first-party NotFair WordPress MCP operator (wordpress_ tools on the universal server). /notfair:setup-cms remains the local Application-Password / .env.local path for SEO scripts against WordPress, Strapi, Contentful, or Ghost. Do not mix those credentials with this connector.

Establish the live site

  1. Confirm connected sites with a harmless read. Select only a site the connector actually returned.
  2. Inspect current capabilities before promising a write. If the connector is missing or unauthorized, direct the user to connect WordPress in the selected NotFair workspace (/manage-ads-accounts/wordpress) and stop before claiming live access.
  3. Record the site URL, selected site id, current user/role, and whether the session can mutate content, design, settings, or admin surfaces.

Reads commonly include site listing, site details, capability discovery, query, and resource get. Prefer those live descriptions over any skill-level catalog. Prefer a direct update tool over a job for a single edit.

Read before changing

Pull only the resources needed for the question. For content edits, read the current resource and capture expectedVersion from that read. For a new standalone HTML file, the expected-version sentinel is the literal string absent.

Lead with the current state, the requested change, and whether the session's role can perform it. Admin role is required for users, settings, design, plugins, themes, core, files, extensions, and jobs. Connector self-modification through plugin management is blocked.

Execute approved changes safely

Show the exact site, resource, current value, proposed value, risk, and rollback before acting. Obtain approval, apply once, then read back.

The connector exposes content create/update/status/delete, media, terms, comments, design, settings, plugin/theme/core admin, standalone HTML publish/delete, jobs, and change restore. Discover the exact schemas; do not treat that family list as the only allowed surface.

  • Create content as draft unless publish is explicitly requested.
  • Use expectedVersion from a prior read. For new HTML files, use absent.
  • requestId must be stable when retrying the same logical action and must never be reused with changed input.
  • Scripts are rejected for standalone HTML publish. Publish HTML only at exact URLs, and only with admin access.
  • Prefer get-change plus restore-change over blind retries when the outcome is unknown.
  • Confirm success from returned evidence or a fresh read. Report partial failures plainly.

A draft, brief, or generated HTML file is ready_for_review. Call a change published only after the live connector confirms it.

1---
2name: wordpress
3description: Operate connected WordPress sites through the NotFair MCP. Use for WordPress content, posts, pages, media, comments, terms, design, settings, plugins, themes, HTML files, or approved WordPress changes on a NotFair-connected site. Not the local Application-Password CMS setup used by SEO scripts.
4argument-hint: "<site, content, plugin, or WordPress change>"
5---
6 
7# WordPress
8 
9Follow [`../docs/mcp-connection.md`](../docs/mcp-connection.md). Resolve `~~wordpress` to the live connection. Use its current instructions and capability descriptions to choose tools, and verify the requested site from live data. Do not infer access from Search Console, a local `.env.local` CMS setup, or another connected platform.
10 
11This skill is the first-party NotFair WordPress MCP operator (`wordpress_` tools on the universal server). `/notfair:setup-cms` remains the local Application-Password / `.env.local` path for SEO scripts against WordPress, Strapi, Contentful, or Ghost. Do not mix those credentials with this connector.
12 
13## Establish the live site
14 
151. Confirm connected sites with a harmless read. Select only a site the connector actually returned.
162. Inspect current capabilities before promising a write. If the connector is missing or unauthorized, direct the user to connect WordPress in the selected NotFair workspace (`/manage-ads-accounts/wordpress`) and stop before claiming live access.
173. Record the site URL, selected site id, current user/role, and whether the session can mutate content, design, settings, or admin surfaces.
18 
19Reads commonly include site listing, site details, capability discovery, query, and resource get. Prefer those live descriptions over any skill-level catalog. Prefer a direct update tool over a job for a single edit.
20 
21## Read before changing
22 
23Pull only the resources needed for the question. For content edits, read the current resource and capture `expectedVersion` from that read. For a new standalone HTML file, the expected-version sentinel is the literal string `absent`.
24 
25Lead with the current state, the requested change, and whether the session's role can perform it. Admin role is required for users, settings, design, plugins, themes, core, files, extensions, and jobs. Connector self-modification through plugin management is blocked.
26 
27## Execute approved changes safely
28 
29Show the exact site, resource, current value, proposed value, risk, and rollback before acting. Obtain approval, apply once, then read back.
30 
31The connector exposes content create/update/status/delete, media, terms, comments, design, settings, plugin/theme/core admin, standalone HTML publish/delete, jobs, and change restore. Discover the exact schemas; do not treat that family list as the only allowed surface.
32 
33- Create content as draft unless publish is explicitly requested.
34- Use `expectedVersion` from a prior read. For new HTML files, use `absent`.
35- `requestId` must be stable when retrying the same logical action and must never be reused with changed input.
36- Scripts are rejected for standalone HTML publish. Publish HTML only at exact URLs, and only with admin access.
37- Prefer get-change plus restore-change over blind retries when the outcome is unknown.
38- Confirm success from returned evidence or a fresh read. Report partial failures plainly.
39 
40A draft, brief, or generated HTML file is `ready_for_review`. Call a change `published` only after the live connector confirms it.
41 

Discussion

Alternatives

Next.js Specialized Front-End DeveloperAct as a specialized front-end developer with expertise in Next.js, focusing on building dynamic and efficient web applications.Coding · CC0-1.0Next.js App Router PatternsMaster Next.js 14+ App Router with Server Components, streaming, parallel routes, and advanced data fetching. Use when building Next.js applications, implementing SSR/SSG, or optimizing React Server Components.Coding · MITDeal deskUse when reviewing a specific inbound deal before close — when sales has asked for a discount that exceeds AE authority, when the customer has redlined the MSA, when per-deal economics (margin after discount, multi-year payment shape, indemnity exposure) need to be quantified, or when discount approval needs to be routed to a named human approver (Sales Director, VP Sales, CFO, CRO, General Counsel). Covers deal review, discount approval routing, per-deal margin scoring, deal exception handling, MSA redline triage, contract landmine detection (uncapped indemnity, MFN, perpetual license-back, missing DPA), and named-approver chain assembly. NEVER auto-approves — every output is a numeric scorecard plus a routing recommendation to a named human.Coding · MITSAAS scaffolderGenerates complete, production-ready SaaS project boilerplate including authentication, database schemas, billing integration, API routes, and a working dashboard using Next.js 14+ App Router, TypeScript, Tailwind CSS, shadcn/ui, Drizzle ORM, and Stripe. Use when the user wants to create a new SaaS app, start a subscription-based web project, scaffold a Next.js application, or mentions terms like starter template, boilerplate, new project, or wiring up auth and payments.Coding · MIT