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.
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.
-
01
Build pages & blocks
Composes pages from existing blocks and 26 captured sections. Scaffolds new Gutenberg blocks via the
block-buildersubagent. Mirrors theservices-highlightshape; 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.
-
02
Operate WordPress
Activates plugins, edits
wp-config.php, runswp 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_LIMITto 512M.” → backup + diff + apply on yes. -
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.serviceslinks, the unified availability cache,api_specialty_id. Narrows before guessing. -
04
Translate (WPML)
Bilingual site, BG-base. Uses
$wpdb->updatedirectly to dodge thewp_unslash()JSON-meta corruption that bites every other agent. Links pairs inwp_icl_translationscleanly.In practice — “Translate this page to EN.” → backup + write the translation post + pair them under one TRID.
-
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_idon 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.
-
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_maildigest.
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-onlyblock-builder— theme/ writesblock-composer— post_content writesplugin-builder— plugins/ writescontent-translator— WPML pairsqa-runner— Playwright reportsbrain-sync— cross-doc edits
Skills 6 house
wp-best-practiceszdraveto-blockskitchen-sinkpage-compositionmemory-disciplinewpml-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-dbran recently. Can’t be skipped accidentally. -
Per-action yes for destructive ops.
Hard-deletes, search-replace, plugin activation,
wp-config.phpedits, 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-syncwalks the queue and proposes targeted edits to indexes and cross-references. -
Theme deploys gated.
/theme-deployrequires 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.
-
01
Plan
Hero (existing) +
services-highlightfiltered to flu services +doctors-listfiltered to GPs and pediatricians +faq-sectionreferencing a flu FAQ post (creates if missing) +pricing-listwith NZOK-vs-private prices +next-available-doctorCTA +latest-newsfiltered to vaccination tags. -
02
Confirm
Surfaces the section list in plain language. Asks for yes. No write happens before the answer.
-
03
Backup + write
/backup-dbruns first — the pre-bash hook would block the write otherwise. Theblock-composersubagent assembles the page; writes onlypost_content. Status: draft. -
04
Verify
/qa <url> sanity— loads, no console errors, no 404s, key selectors present. Mobile breakpoint scanned at~600px. -
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.mdexists;/refresh-designlands 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.”