Install
openclaw skills install @leostehlik/wordpress-receiptsPublish WordPress posts with API and public URL receipts.
openclaw skills install @leostehlik/wordpress-receiptsUse this skill when publishing a WordPress post from an OpenClaw task, cron job, or agent workflow where success must mean a real public artifact exists.
This is a skill, not a plugin. It uses the WordPress REST API and deterministic helper scripts, so it stays portable and auditable.
The helper scripts accept an env file passed with --env-file. The public helpers deliberately avoid ambient environment reads so static scanners do not see hidden credential access combined with network calls:
WORDPRESS_API_BASE=https://example.com/wp-json/wp/v2
WORDPRESS_USERNAME=publisher-user
WORDPRESS_APPLICATION_PASSWORD=application password may contain spaces
WORDPRESS_AUTHOR_ID=123
WORDPRESS_DEFAULT_CATEGORY_ID=1
Only the first three are required. Author and category can also be supplied by flags.
Recommended command:
node scripts/wp-publish-receipt.mjs \
--env-file .env.wordpress \
--title-file draft-title.txt \
--content-file draft.md \
--author 123 \
--category 1
For one-off verification:
node scripts/wp-verify-receipt.mjs --env-file .env.wordpress --date 2026-07-01
node scripts/wp-verify-receipt.mjs --env-file .env.wordpress --url https://example.com/post-slug/
node scripts/wp-verify-receipt.mjs --env-file .env.wordpress --id 456
For recurring publishing jobs, add a second scheduled proof check after the publishing window. The proof check should run wp-verify-receipt.mjs for the expected local date and alert on failure.
Good success signal:
{
"ok": true,
"id": 456,
"status": "publish",
"link": "https://example.com/post-slug/",
"publicStatus": 200
}
Bad success signal:
Cron run status: ok
That only proves the scheduler finished. It does not prove publication.
When reporting back to the user, include:
Keep the report short. If publishing failed, state whether a draft exists and what exact proof is missing.