Platform and diagnostics
These abilities ship in WPPilot Free and register on every install where the plugin is enabled.
At a glance
Platform and diagnostics registers 21 abilities: 8 that only read, 8 that write, and 5 marked destructive. That split is the practical answer to how much of this module can run unattended. Reads cost nothing and are safe to repeat, so discovery is the part to be generous with; the writes are where review belongs, and the destructive calls stop for an explicit confirmation every single time regardless of which profile is active.
Availability on your site
The Platform and diagnostics module ships in WPPilot Free, so it registers on every install where the plugin is active. No licence check and no dependency detection stand between the agent and these 21 abilities. What the connected agent can actually call is then narrowed twice more: by the safety profile active on the site, and by the WordPress capabilities of the user behind the credential. A read that succeeds for an administrator can be absent entirely for an editor.
Every write these abilities perform is recorded in the change ledger, and destructive calls can be routed through the approval queue so a person signs off before anything is applied. A successful tool result means the operation returned, not that the front end, the cache, and every dependent template are correct: that still needs a look.
Reads
Available in every safety profile, including Read Only. Inspection costs nothing and is not rate limited.
| Ability | What it does |
|---|---|
wppilot/agent-contextAgent Context | Return transport-neutral WPPilot site guidance, environment, and skill summaries. |
wppilot/get-changeGet WPPilot Change | Returns one redacted WPPilot change record with rollback eligibility and verification details. |
wppilot/get-wp-cli-jobGet WP-CLI Job Status | Checks the status of an asynchronous background WP-CLI job. |
wppilot/list-changesList WPPilot Changes | Lists the verified WPPilot change ledger newest first, including ability, actor, risk, timing, rollback availability, and rollback state. Secrets are redacted at write time. |
wppilot/list-directoryList Directory | Lists files and directories at a given path. Supports glob pattern filtering, recursive listing with configurable depth, and hidden file inclusion. Results are sorted with directories first, then alphabetically. Output is capped at a configurable limit to prevent oversized responses. |
wppilot/preview-abilityPreview Ability | Computes what another ability would change, without changing anything. Returns a structured diff plus a URL a person can open in wp-admin to review it and apply or discard it. Nothing is written by this call. |
wppilot/read-fileRead File | Reads the contents of a file from the server filesystem. Supports text and binary files. Binary files and files with invalid UTF-8 are returned as base64-encoded. Supports partial reads via offset and limit parameters. |
wppilot/security-auditSecurity Configuration Audit | Inspect bounded WordPress hardening signals and outstanding updates; this is not a malware scan. |
Writes
Gated by the active profile and your WordPress capabilities. Rate limited to 120 per minute per credential.
| Ability | What it does |
|---|---|
wppilot/create-admin-access-linkCreate Admin Access Link | Creates a temporary, one-time WordPress admin access exchange for browser automation tools. Use this when an agent needs to inspect or operate wp-admin through a browser MCP without asking the user for a password. POST the returned token and nonce in headers to receive a short-lived one-time login URL. |
wppilot/create-upload-linkCreate Upload Link | Creates a temporary upload endpoint and header-only bearer token that external tools can use to upload one file into the WordPress filesystem. Use this instead of wppilot/write-file for ZIPs, plugins, themes, media, binary files, base64-encoded payloads, or any large upload. The endpoint accepts raw PUT/POST bodies and multipart/form-data with a field named "file". |
wppilot/disable-fileDisable File | Disables a file in the sandbox (wp-content/wppilot-sandbox/) by appending ".disabled" to its filename. The file is preserved on disk but no longer loaded by the sandbox loader. Use the same path with ".disabled" removed to re-enable. Only operates on files inside the sandbox directory. Idempotent: disabling an already-disabled file succeeds with disabled=false. |
wppilot/edit-fileEdit File | Edits an existing file by replacing an exact string match with new content. Works like the edit tool in AI code agents: specify the old text to find and the new text to replace it with. The old string must be unique in the file unless replace_all is set. |
wppilot/enable-fileEnable File | Re-enables a previously disabled sandbox file by removing the ".disabled" suffix from its filename. Only operates on files inside the sandbox directory (wp-content/wppilot-sandbox/). Idempotent: enabling a file that is not disabled succeeds with enabled=false. |
wppilot/performance-auditPerformance Audit | Run bounded server-side performance checks without synthetic speed claims. |
wppilot/system-statusSystem Status | Return a concise WordPress, PHP, database, cron, cache, and WPPilot runtime status report. |
wppilot/write-fileWrite File | Writes small UTF-8 text content to a file on the server filesystem. PHP files (*.php) and PHP execution control files can ONLY be written to the sandbox directory (wp-content/wppilot-sandbox/). Other non-PHP files can intentionally go anywhere under ABSPATH. The sandbox is for loading and crash recovery of generated PHP, not security isolation for all filesystem writes. Does not accept base64 or binary uploads; use wppilot/create-upload-link for ZIPs, plugins, themes, media, binary files, or other large uploads. Automatically creates parent directories when needed. |
Destructive
Marked destructive in the source, so each call needs an explicit confirmation flag, every time.
| Ability | What it does |
|---|---|
wppilot/apply-previewApply Preview | Applies a diff previously produced by wppilot/preview-ability, after checking the target has not changed since. Refuses if it has, so what was approved is what runs. |
wppilot/delete-fileDelete File | Deletes a file or directory from the server filesystem. Non-empty directories require the recursive flag. Critical WordPress directories (ABSPATH root, wp-admin, wp-includes) are protected from deletion. Idempotent: deleting a non-existent path succeeds with deleted=false. |
wppilot/execute-phpExecute PHP Code | Executes PHP code on the WordPress server. The full WordPress environment is available including $wpdb, all WordPress functions, and loaded plugins. Returns the return value, any echoed output, and captured warnings/notices. |
wppilot/rollback-changeRollback WPPilot Change | Rolls back a reversible change and verifies the observed state against the stored before-image fingerprint. It never marks success when writes fail or verification differs. Requires explicit confirmation. |
wppilot/run-wp-cliRun WP-CLI Command | Runs a WP-CLI command on the server. Can be run synchronously (default) or asynchronously in the background. |