ZDRAVETO · AGENT

An AI developer
and operator,
already inside
your stack.

This site has a resident senior engineer. Not a chatbot — a real developer with SSH, WP-CLI, your codebase, your integrations, your gotchas, and the discipline to back up, confirm, and log every write. Built for people who’d rather describe a feature than wait for a sprint.

14 CPTs 14 custom blocks 33 active plugins 5 integrations 30+ slash commands

Why it exists

The slow part of any task isn’t the code. It’s the context.

A senior dev needs a week to learn your CPTs, your sync writers, your WPML quirks, and your cache layers. This agent has them, persistently, across sessions. Asking it to “import 80 services from a CSV” or “find why pediatrics is missing four doctors” lands on a developer who already knows what superdoc_max_per_doctor does.

  • Knows the system. 14 CPTs, 14 custom Gutenberg blocks, 33 active plugins, 5 external integrations. Loaded at session start.
  • Acts on the live system. WP-CLI, direct SQL, Redis, RunCloud Hub edge cache, Playwright. Not just diff suggestions.
  • Confirms before harm. Hard-to-reverse ops require explicit yes. DB backups are hook-enforced before writes.

What it does

Six things, real ones.

Capability is the easy part of an agent — everyone has a chatbot. The hard part is acting on a live system with discipline. Each card pairs the capability with a concrete example you can run today.

  1. 01

    Build pages & blocks

    Composes pages from existing blocks and 26 captured sections. Scaffolds new Gutenberg blocks via the block-builder subagent. Mirrors the services-highlight shape; never invents new design language.

    In practice“Build a landing page for the spring flu campaign.” → six-section plan, written to staging as draft on yes.

  2. 02

    Operate WordPress

    Activates plugins, edits wp-config.php, runs wp search-replace, manages transients, inspects cron, tails logs. Write-pattern commands are gated by a pre-bash hook that requires a fresh DB backup.

    In practice“Bump WP_MEMORY_LIMIT to 512M.” → backup + diff + apply on yes.

  3. 03

    Debug & investigate

    Reproduce → narrow → hypothesize → fix → verify. Tails PHP, nginx, wp-debug, the SDK’s own log. Lighthouse + Chrome DevTools MCP for performance work. Already knows the recurring bugs.

    In practice“Pediatrics is missing four doctors.” → checks draft state, specialty.services links, the unified availability cache, api_specialty_id. Narrows before guessing.

  4. 04

    Translate (WPML)

    Bilingual site, BG-base. Uses $wpdb->update directly to dodge the wp_unslash() JSON-meta corruption that bites every other agent. Links pairs in wp_icl_translations cleanly.

    In practice“Translate this page to EN.” → backup + write the translation post + pair them under one TRID.

  5. 05

    Manage data

    14 CPTs with known sync ownership and per-CPT footguns. Bulk import with sample preview. Hard-delete with second confirmation. Refuses to set api_id on manual entries — that field belongs to sync.

    In practice“Bulk-import 80 services from this CSV.” → backup + 3-row preview + on yes batch insert + slugs + optional EN.

  6. 06

    Build plugins

    Standalone plugins under plugins/zdraveto-agent-<slug>/. Activation, deactivation, uninstall hooks. Capability and nonce checks. zdraveto_ on functions, Zdraveto_Agent_ on classes. Secure by default.

    In practice“Daily cron emailing me <3-star testimonials.” → plugin scaffold with cron schedule + handler + wp_mail digest.

How it’s built

Tier-1 doctrine. Tier-2 indexes by topic. Tier-3 reference.

Skills carry behaviour. Subagents carry isolated execution. Hooks carry the safety net. Memory carries everything that should outlive a session.

Substrate

  • SSH (RunCloud)
  • WP-CLI 2.11
  • MariaDB 10.6
  • Redis dropin
  • RunCloud Hub edge cache
  • Playwright (basic-auth aware)
  • Chrome DevTools MCP
  • Figma MCP

Subagents 7

  • wp-investigator — read-only
  • block-builder — theme/ writes
  • block-composer — post_content writes
  • plugin-builder — plugins/ writes
  • content-translator — WPML pairs
  • qa-runner — Playwright reports
  • brain-sync — cross-doc edits

Skills 6 house

  • wp-best-practices
  • zdraveto-blocks
  • kitchen-sink
  • page-composition
  • memory-discipline
  • wpml-translation
  • + frontend-design, php-best-practices, debugging…

Slash commands 30+

  • /backup-db · /restore-db
  • /clear-cache · /tail-logs
  • /server-check · /db-tunnel
  • /new-page · /new-block
  • /new-plugin · /edit-block
  • /translate · /qa
  • /screenshot · /visual-diff
  • /memory-gc · /brain-sync
  • /theme-deploy · /theme-diff

The safety net

The discipline is in the harness, not in trust.

Per-action confirmation, hook-enforced backups, an append-only activity log. Five hooks wired into the harness keep this honest without relying on the agent remembering.

  • Mandatory pre-write backup. A pre-bash hook blocks write-pattern commands unless /backup-db ran recently. Can’t be skipped accidentally.
  • Per-action yes for destructive ops. Hard-deletes, search-replace, plugin activation, wp-config.php edits, theme deploys — each requires explicit confirmation in the same message.
  • Auto-appended activity log. Every write op writes one line to memory/log/YYYY-MM.md. The next session sees it.
  • Brain-sync keeps docs honest. Every brain-touching commit queues a sync entry; /brain-sync walks the queue and proposes targeted edits to indexes and cross-references.
  • Theme deploys gated. /theme-deploy requires explicit request — another developer typically owns deploys during the build phase.
  • Read-only by default. /whats-where, /explain, /server-check, /tail-logs, /qa, /visual-diff — these never write.

A single task, end-to-end

“Build a vaccination
landing page.”

Five steps. No edits to the theme. One DB backup. One yes. One log line. The page exists at the end.

  1. 01

    Plan

    Hero (existing) + services-highlight filtered to flu services + doctors-list filtered to GPs and pediatricians + faq-section referencing a flu FAQ post (creates if missing) + pricing-list with NZOK-vs-private prices + next-available-doctor CTA + latest-news filtered to vaccination tags.

  2. 02

    Confirm

    Surfaces the section list in plain language. Asks for yes. No write happens before the answer.

  3. 03

    Backup + write

    /backup-db runs first — the pre-bash hook would block the write otherwise. The block-composer subagent assembles the page; writes only post_content. Status: draft.

  4. 04

    Verify

    /qa <url> sanity — loads, no console errors, no 404s, key selectors present. Mobile breakpoint scanned at ~600px.

  5. 05

    Log

    One line auto-appended to memory/log/2026-05.md. The next session sees it. Brain-sync queues any commits that touched cross-referenced docs.

What’s deferred, honestly

Honest about what isn’t built yet.

  • Stage→prod work. /prod-promote, /plugin-deploy, the deploy-prep subagent. Replanned when prod URL and access mechanics are decided.
  • Post-prod polish. /audit-alt-text, /audit-internal-links, the visual-baseline catalogue. Run after live content stabilises.
  • Design system refresh tooling. docs/design.md exists; /refresh-design lands after a collaborative session.
  • Template extraction. Generalising this agent’s shape into a reusable template for sister sites.

Try it

The fastest way to see it
is to ask for something concrete.

Six starter prompts. None of these are scripts — type them in plain language and the agent will pick the right tool, ask for confirmation if needed, and report back.

  • “Add a doctor — Dr. Maria Petrova, dermatologist.”
  • “Why is the booking modal throwing on the pediatrics page?”
  • “Translate the homepage to EN.”
  • “Build a ‘spring flu vaccination’ landing page.”
  • “What plugins are active on stage?”
  • “Backup the DB and show me the latest 5 backups.”