operate · git:20260609.02fc9eb · 2026-06-09 · sha256 b41d5002c1c4ebfc
operate git:20260609.02fc9ebA
Immutable. This exact content is served forever at /api/v1/blob/b41d5002c1c4ebfc.
--- name: operate description: Operate a client's WordPress site brand-first and governed — the core loop every marketing/website agent runs on connect. Onboard, read the brand book, then build/edit on-brand with approval-first safety. Use the moment you connect to any mumcp site to do real work. user-invocable: true --- # Operate a WordPress Site (brand-first, governed) This is the **operating loop** — the agent-half of a deployable site. Reference skills tell you *what tools exist* (`/mumcp:tools`, `/mumcp:elementor`, `/mumcp:design`). This skill tells you *how to behave* when you take over a live client site: read the brand before you touch anything, conform to it, and never mutate production without a gate. Proven on real client sites (digid.ca, crophelp.ai). > The brand book is the constraint that turns AI from a slop-generator into an on-brand operator. > Read it first, every time. Everything you produce conforms to it or it does not ship. ## The loop (run in order, every session) ### 1. Onboard — know the site before you act Call **`wp_onboard`** first, always. One call returns: site identity, content inventory, active integrations, the full tool surface by category, the embedded site context, and recommended first actions. Never start work from assumptions — start from the briefing. If anything is unclear after onboard, call `wp_site_info`, `wp_detect_plugins`, `wp_get_site_state`. ### 2. Read the brand book — the central context Call **`wp_get_site_context`**. This is the site's master style guide / system context — the **brand crystal**. It defines: brand identity (name, tagline, mission, voice), color palette (CSS vars + hex, dark/light themes), typography scale, spacing rhythm, navigation, page structure, and design rules. - **Everything you generate conforms to this.** Colors, type sizes, spacing, section patterns, voice. Off-brand output does not ship — that is the whole product. - The response includes `effective_context` and an `inheritance` block (`scope`, `archetype_class`, `style`, `matched`). When a site inherits from a base context (a snapshot/blueprint), `effective_context` is what actually applies — honor it. - **New client with no context yet?** Establish it first with **`wp_set_site_context`** (markdown: identity → palette → type → spacing → nav → page structure → design rules), get it approved by the human, *then* build. A site with no brand book is the first thing to fix, not skip. ### 3. Read state + pick the governed path - **`wp_get_site_state`** — content, graph, SEO, approvals, events, capabilities, recommended actions. - **`wp_get_agent_playbook`** (no arg) lists deterministic contracts; call with a name for the full contract (required reads, tool order, validation gates, approval gates, rollback path, stop conditions). Current playbooks: `build_gutenberg_page`, `update_gutenberg_section`, `seo_audit_triage`, `internal_link_improvement`, `rollback_change`. **Follow the matching playbook** rather than improvising. ### 4. Do the work — brand-first - Build/edit pages, posts, menus, media, SEO — each conforming to the brand book from step 2. - Elementor work: read `/mumcp:elementor` first; always `wp_get_elementor_summary` before editing; prefer surgical tools (`wp_edit_section`, `wp_edit_widget`, `wp_patch_elementor`) over full-page rewrites. - Use the brand palette/type/spacing values literally — do not invent new colors or sizes. - Generate on-brand copy in the brand voice; use `wp_keyword_research` to ground content in real search demand. ### 5. Govern every mutation - **Approval-first.** Production-facing changes go through the approval lifecycle (`wp_list_approvals` → `wp_approve_request` → `wp_apply_approval`), never a silent direct write, unless a playbook is explicitly marked read-only or the human pre-authorized the specific change. - **Validate before publish:** `wp_validate_seo_readiness`, `wp_validate_blocks` / Elementor warnings. - **Rollback on regret:** every applied change stores a rollback payload — `wp_rollback_approval`. - **Coherence check:** `wp_get_content_coherence_report` / `wp_get_signals` to confirm the brand crystal still holds after a batch of work. ## Hard rules (never) - Never push raw HTML/JS as a shortcut into Gutenberg or as page content. Use native blocks / Elementor data. - Never invent facts, citations, products, prices, or SEO claims. Ground everything in real site data. - Never introduce a color, font, or spacing value that is not in the brand book. - Never mutate production without an approval gate (unless read-only playbook or explicit human OK). - Customer-facing sends (email, social, publish-live) go through the human gate — propose, don't broadcast. ## Stop conditions Stop and ask the human when: the brand book is missing or contradicts the request; a change is destructive with no rollback; an approval is required but absent; the task needs a fact you cannot verify on the site; or a playbook's stop condition triggers. ## Why this is the snapshot's agent-half A deployable site snapshot = **this operating skill (the agent's behavior) + the site's brand book + blueprint (the WordPress structure)**. Author a client's brand book into `wp_set_site_context`, capture their structure as a blueprint, and this skill is the squad's reusable playbook for running it. One skill, every client site. That is how one proven build (digid.ca) becomes a repeatable product. ## Reference skills (load as needed) `/mumcp:tools` (discover tools) · `/mumcp:elementor` (page building) · `/mumcp:design` (design principles) · `/mumcp:status` (site/plugin health) · `/mumcp:connect` (wiring a client).