Communitygithub.com

umairmsm/wp-site

Start here for any WordPress website built with wp-site-kit, from an empty folder to a live site. Use when someone says "build a WordPress site", "new website for a client", "where are we on the site", "what is next before launch", or asks to continue a site project. Finds the current stage from SITE_STATUS.md, applies the hard rules, and hands over to the right stage skill.

What is wp-site?

wp-site is a Claude Code agent skill that start here for any WordPress website built with wp-site-kit, from an empty folder to a live site. Use when someone says "build a WordPress site", "new website for a client", "where are we on the site", "what is next before launch", or asks to continue a site project. Finds the current stage from SITE_STATUS.md, applies the hard rules, and hands over to the right stage skill.

Works with✓Claude Code✓Codex CLI~Cursor✓Antigravity
npx skills add https://github.com/umairmsm/wp-site-kit/tree/HEAD/skills/wp-site

Ask in your favorite AI

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

Documentation

WordPress site: from empty folder to production

This kit is a method plus a starter project. It was learned on a live multilingual booking site that real customers pay through. Follow the stages in order. Each stage ends with a gate: leave a stage only when its gate is true and the evidence is written down.

1. Find where the project is

  1. Look for SITE_STATUS.md in the project root.
    • Missing: the project has not started. Use wp-kickoff.
    • Present: read it. The current stage is the first stage with an unticked gate.
  2. Read AGENTS.md (the project's rules), then the newest lines of SESSION_LOG.md and DECISIONS.md.
  3. Tell the owner in two lines: the current stage, and the next concrete step.

2. The stages

#StageSkillGate to leave it (evidence goes in SITE_STATUS.md)
1Kickoffwp-kickoffBrief approved by the owner; locked decisions written; private repo; credentials listed by name
2Designwp-designStatic prototype signed off (screenshots + date); tokens set; fonts self-hosted
3Buildwp-buildLocal site runs; core plugin + child theme active; real items render through core functions; enquiries save before they forward; structure tests green
4Contentwp-contentEvery public page has owner-approved copy and real photos; legal pages exist; no unapproved AI text
5SEO & languageswp-seoTitle, description, canonical, schema and hreflang tests green; old-URL redirect map; each extra language passed its pilot
6Qualitywp-qualityFull suite green; 0 accessibility violations; performance budgets met on staging
7Shipwp-shipStaging mirrors live; hardening applied; launch-auditor PASS; cutover done; 7 days watched
8Operatewp-operateAutomatic backups with an off-machine copy; one restore drill done; update and alert routines written
  • Handing a stage's work to a builder agent (Antigravity, Codex, another Claude): wp-task-file.
  • Review before a merge: agent wp-rules-reviewer. Before go-live: agent launch-auditor.

3. Hard rules (every stage, every agent)

  1. Plugin-first. Logic, data, policy text, forms, schema and SEO live in the core must-use plugin. The theme is layout. The skin is the look. A redesign must not lose a feature.
  2. No hard-coded cards, prices or slugs in templates. Query the content type and render through the core's render function, so a CMS edit shows everywhere.
  3. Leads are saved first. Forms post to admin-post.php with a nonce. The site stores the lead in its own database, then forwards it. No API keys or third-party endpoints in the page.
  4. No fake proof. Never show ratings, review counts or testimonials nobody can prove. Imported or "legacy" review numbers count as fake until proven.
  5. Real photos for any named place, room, product or person. AI images only as general scenery, named ai-*, logged, and never presented as "this is your room".
  6. Facts come from the owner. Prices, policies, inclusions and safety facts are never invented. AI copy is a draft until the owner approves it. Unknown = PENDING-<who>.
  7. No AI-written PHP to production without branch, local test, diff and a human merge. WordPress Coding Standards. Prefix everything.
  8. No page builders. No Google Fonts calls. Self-host fonts: a German court ordered damages because loading them from Google leaked visitors' IP addresses.
  9. Staging and local are never indexed and never email real customers.
  10. Tests are never weakened to get green: no deleting, skipping or re-snapshotting. Renaming a test needs the owner's OK.
  11. Deploys belong to the owner. From a commit, through scripts/deploy-safe.sh: dry run first, backup first, the word live typed by a human.
  12. The database is content. Change it only through a reviewable change file and a guarded script with a dry run. Back up before every DB change.
  13. Secrets never enter git, logs, prompts or the page. CREDENTIALS_INVENTORY.md lists names and where each secret lives, never values.
  14. One schema owner (usually the SEO plugin). Never output an Offer without a price.

4. Ask the owner first

  • Installing plugins, themes, tools or paid services (page builders: never).
  • Any change to a price, currency, policy, brand name or logo. Publishing a new language.
  • Anything that touches DNS, Cloudflare, hosting, staging or live. Destructive DB or file commands.
  • Sending code or customer content to a third-party AI API.

5. How to work

  • One stage at a time, one small step at a time. Commit after each meaningful step (Conventional Commits).
  • Branch, local test, diff, then the owner merges. Agents never push, merge, deploy or ssh to a server unless the owner asks for that exact action.
  • Every decision goes in DECISIONS.md (date, who, why). End each session with a SESSION_LOG.md line.
  • "Done" means checked: open the page, run the test, read the server's answer. Never repeat another agent's "resolved" without checking it yourself.

6. Helpful skills from other kits (if installed)

  • agent-skills-kit: wordpress-modern, wp-plugin-development, wp-wpcli-and-ops, wp-performance for WordPress API detail.
  • agent-loop-kit: supervised-build, agent-supervisor for unattended builder loops with a gate and a reviewer.

Individual skills in this repo

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

umairmsm/wp-build

Stage 3 of a wp-site-kit WordPress build - local DDEV site, the core must-use plugin (modules), the presentation-only child theme with skins, the content model (custom post types, meta, WP_Query, render functions), and the enquiry pipeline that saves leads before forwarding. Use when building or changing features, templates, content types, forms or plugin modules on a wp-site-kit site.

umairmsm/wp-content

Stage 4 of a wp-site-kit WordPress build - real copy and photos. Content truth (facts only from the owner), AI drafts and owner approval, claims audits, banned words and fake proof, legal pages, the photo pipeline (dedupe, real-only, EXIF strip, WebP sizes, alt text, AI image register), and recorded content changes. Use for "write the copy", "add photos", "the owner sent new photos", "check for duplicates", "update prices or text on the live site", "legal pages".

umairmsm/wp-design

Stage 2 of a wp-site-kit WordPress build - design direction, a static HTML/CSS prototype with design tokens, owner sign-off with screenshots, self-hosted fonts, and porting the approved look into a swappable WordPress skin. Use for "design the site", "new look", "redesign", "change colours or fonts", "make a new skin", "port the prototype to WordPress".

umairmsm/wp-kickoff

Stage 1 of a wp-site-kit WordPress build. Use when starting a new WordPress website or taking over or rebuilding an existing one - discovery brief, stack decision, creating the project with bin/wp-site-new, locked decisions, private repo and credentials inventory. Triggers - "new WordPress site", "start a client website", "rebuild this site", "take over this WordPress site".

umairmsm/wp-operate

Stage 8 of a wp-site-kit WordPress build and everything after launch - backups with an off-machine copy, restore drills, the disaster-recovery runbook, credentials inventory, update policy, alerts, and working from more than one machine (bridge file, workstation doctor, encrypted state bundle, rescuing unpushed work). Use for "backup", "restore", "move to a new machine/server", "update plugins", "what if the server dies", "work from the cloud box", "set up a second machine".

umairmsm/wp-seo

Stage 5 of a wp-site-kit WordPress build - titles and descriptions, canonical URLs, one schema owner and JSON-LD, sitemaps, robots.txt and llms.txt, AI crawler access, redirects (301 vs 302), legacy URL maps, Search Console, and adding languages one pilot at a time with Polylang (hreflang, .po/.mo strings, native review). Use for "SEO", "schema", "redirect", "old URLs", "translate the site", "add French/Spanish", "hreflang", "canonical".

umairmsm/wp-ship

Stage 7 of a wp-site-kit WordPress build - staging behind Cloudflare Access, server hardening, safe deploys from a commit (scripts/deploy-safe.sh), database content changes, the launch audit, DNS cutover without breaking a running business, and the first week after launch. Use for "deploy", "set up staging", "go live", "launch", "cutover", "move DNS", "harden the server".

Related Skills