plugins/wordpress-publisher/skills/wordpress-publisher/SKILL.md
Publish posts to WordPress. Use for: publish blog post, upload to WordPress, פרסם בבלוג.
npx skillsauth add aviz85/claude-skills-library wordpress-publisherInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
First time? If
setup_complete: falseabove, run./SETUP.mdfirst, then setsetup_complete: true.
Publish content to WordPress with a two-step flow: draft first, then publish after user confirmation.
IMPORTANT: Unless the user explicitly requests English or another language, create all blog posts in Hebrew with RTL formatting. Also generate images using the image-generation skill for:
Always wrap Hebrew content in:
<article dir="rtl" lang="he">
<!-- Hebrew content here -->
</article>
Create .env file in the skill directory:
# ~/.claude/skills/wordpress-publisher/.env
WP_URL=https://your-site.com
WP_USERNAME=your_username
WP_APP_PASSWORD=YourApplicationPasswordNoSpaces
Creating Application Password:
node ~/.claude/skills/wordpress-publisher/scripts/wp-publish.js create "Post Title" content.html
node ~/.claude/skills/wordpress-publisher/scripts/wp-publish.js create "Post Title" content.html --image=cover.jpg
node ~/.claude/skills/wordpress-publisher/scripts/wp-publish.js create "Post Title" content.html --publish
node ~/.claude/skills/wordpress-publisher/scripts/wp-publish.js publish POST_ID
node ~/.claude/skills/wordpress-publisher/scripts/wp-publish.js status POST_ID
echo "<h1>Hello</h1>" | node ~/.claude/skills/wordpress-publisher/scripts/wp-publish.js create "Hello" -
| Option | Description |
|--------|-------------|
| --publish | Publish immediately (default: draft) |
| --image=<path> | Featured image (uploaded to media library) |
| --excerpt=<text> | Add excerpt |
| --categories=<ids> | Category IDs (comma-separated) |
| --tags=<ids> | Tag IDs (comma-separated) |
Draft created!
**Post ID:** 123
**Edit in WordPress:** https://your-site.com/wp-admin/post.php?post=123&action=edit
**Preview:** https://your-site.com/?p=123
Publish now or review first?
Post is live!
**URL:** https://your-site.com/your-post-slug/
| Error | Cause | Solution | |-------|-------|----------| | 401 Unauthorized | Wrong credentials | Check WP_USERNAME and WP_APP_PASSWORD | | 403 Forbidden | No permissions | Ensure user has Editor/Admin role | | 404 Not Found | Wrong URL or API disabled | Check WP_URL, enable REST API |
For Hebrew content, wrap in RTL container:
<article dir="rtl" lang="he">
<!-- Hebrew content here -->
</article>
tools
Start real-time microphone transcription using ElevenLabs Scribe v2 Realtime. Use when user wants to start live transcription, dictation, or real-time speech capture. Triggers on: 'תתחיל תמלול', 'תמלל בזמן אמת', 'start transcribing', 'live transcribe', 'הקלט מה שאני אומר'. After starting, tell user they can say 'אוקי זה מספיק בוא נעצור את התמלול' to stop, or use /live-transcribe-stop.
tools
Stop a running real-time transcription. Use when user wants to stop/end live transcription. Triggers on: 'עצור תמלול', 'תעצור את התמלול', 'stop transcribing', 'end transcription', 'תפסיק להקליט'.
testing
Read the latest real-time transcription. Use when user asks to see, read, or show a transcription that was captured via live-transcribe. Triggers on: 'תקריא תמלול', 'מה תמללתי', 'התמלול האחרון', 'show transcription', 'what did I say', 'read the transcript', 'מה נכתב בתמלול', 'תראה לי את התמלול'. Also use when user references transcription content without being explicit — e.g. 'summarize what I said', 'translate the transcription'.
development
Fetch X (Twitter) bookmarks via the official X API v2. Downloads recent bookmarks with text, images, and videos into a local folder. Use whenever user asks to grab/download/export their X bookmarks, save bookmarked tweets, or pull recent saved posts from X/Twitter. Uses OAuth 2.0 user-context auth (one-time browser consent, then refresh-token forever).