SKILLEMALL.ai

BD wordpress-selfhosted

Manage a self-hosted WordPress site via SSH+WP-CLI (primary) and WP REST API (when direct HTTPS access is available). Use when asked to write, draft, publish, update, or delete posts/pages on a self-hosted WordPress installation — including SEO optimization, categories/tags, featured images, author assignment, and proper post formatting. Designed for WordPress running on LXC, VPS, or bare-metal (not WordPress.com hosted). Requires: ssh, scp, curl, jq, wp (WP-CLI). Optional: op (1Password CLI for credential hydration via SSH agent socket). Network: SSH to user-configured WordPress host (LAN IP or public domain). Credentials: SSH key (via ssh-agent or 1Password SSH agent on macOS), WP application password (stored in 1Password, item name configurable via WP_1P_ITEM). Required env vars (gated; set via openclaw.json skills.entries or shell environment): WP_HOST, WP_SSH_USER, WP_ROOT. Optional config (TOOLS.md or env): WP_USER, WP_1P_ITEM. File writes: /tmp/post-content.html, /tmp/*.html (temporary content files SCP'd to host, created mode 600, cleaned up after use). Uses -o StrictHostKeyChecking=accept-new for SSH by default (trust-on-first-use); see Security Notes for alternatives.

ClawHub Agent Skills author: Eddy v1.0.3 MIT-0 2 files body ≈ 2 605 tokens Open the sourceclawhub.ai analyzed 4 d ago

As a process D 43/100 · Unfinished process — weak spots: result and completion, when it triggers, inputs and preconditions

IntegrationWordPressAI and agentstype and topics are labelled automatically from the skill text
JSON
Technical rating
B
80/100
safety, quality, tests
Safety 60%
95
Quality 40%
57
Run on models
none yet
Process rating
D
43/100
Unfinished process
Result and completion w 14
0
Inputs and preconditions w 11
0
Failures and branches w 10
0
the three weakest of ten parameters · all ten

How to improve

  1. Shorten the description to 1024 characters.
For the model run — optional
  • Your own cases (evals/evals.json, 4–6 real requests with expected answers): the full check would then run those instead of a model-drafted suite.
  • A spec.yaml with trigger phrases and assertions — a behaviour contract for CI; `skilltest init` writes a template.

Guard findings · 5

✓ No critical or high findings

Medium and low: 5
  • low Exfiltration net-credential-use SKILL.md:96
    Credential used in a network call (verify the destination is the intended service) (documentation of a security skill)
    curl -s -u "$WP_USER:$WP_PASS" "$WP_BASE/users/me" | jq '{id, name}'
    security skill
  • low Exfiltration net-credential-use SKILL.md:99
    Credential used in a network call (verify the destination is the intended service) (documentation of a security skill)
    curl -s -u "$WP_USER:$WP_PASS" "$WP_BASE/posts?per_page=20&status=any" | jq '[.[] | {id, title: .title.rendered, status}]'
    security skill
  • low Exfiltration net-credential-use SKILL.md:102
    Credential used in a network call (verify the destination is the intended service) (documentation of a security skill)
    curl -s -u "$WP_USER:$WP_PASS" "$WP_BASE/posts/<ID>?context=edit" | jq -r '.content.raw'
    security skill
  • low Exfiltration net-credential-use SKILL.md:105
    Credential used in a network call (verify the destination is the intended service) (documentation of a security skill)
    curl -s -X POST -u "$WP_USER:$WP_PASS" "$WP_BASE/posts" \
    security skill
  • low Exfiltration net-credential-use SKILL.md:110
    Credential used in a network call (verify the destination is the intended service) (documentation of a security skill)
    curl -s -X POST -u "$WP_USER:$WP_PASS" "$WP_BASE/posts/<ID>" \
    security skill

Files scanned: 2. Evidence is masked. Grey chips explain why severity was lowered.

Against the Agent Skills spec

  • error description-long description is 1196 chars, limit 1024

Process rating: all ten parameters 43/100

  • 0Result and completion. Does not say what the result is
  • 0Inputs and preconditions. Does not say what the process needs to start
  • 0Failures and branches. Linear process with no failure handling
  • 0Progress reporting. Says nothing while it works
  • 20When it triggers. No condition that starts the skill
  • 30Running it twice. 7 mutating operations with no state check
  • 60Tools and files. Uses tools (bash, web) that frontmatter does not declare
  • 100Steps. 24 steps
  • 100Consistency. Name and required fields are in place
  • 100Execution cost. Instruction body is 2605 tokens
  • medium Safety rules and hard prohibitions inside a skill: they belong in the system prompt, here they protect nothing

Everything here is measured from the skill text rather than judged by a model, so the numbers are checkable. A parameter weighs more when it is a more common reason for the process to stall.

Quality signals

  • +5Description has no quoted example phrases that should trigger the skill
  • +4Description does not say when NOT to use the skill (false activations)
  • +3Description length 1196: 120–800 characters recommended
  • +3Output format is not stated: the model decides each time
  • +2Single-language instructions
  • +4Structure: 18 headings
  • +3Step-by-step instructions: 24 items
  • +4Has examples (14 code blocks)
  • +1License stated

Quality base 70; lint remarks subtract, signals add up to 100. Result: 57.

External checks

ClawHub: clean
This skill gives an agent disclosed WordPress administration access to a user-configured site, with no hidden installer or background behavior found.
LLM: benign (high) · VirusTotal: · 29 May 2026