skills/wordpress-add-links/SKILL.md
# WordPress Add Links Find and add internal and external links to a blog post draft, naturally woven into existing sentences. ## Trigger - "find links for this post" - "find internal links" - "add links to this post" - "link this draft" ## Environment Variables - `WORDPRESS_URL` — Blog base URL (e.g. `https://yourblog.com`) - `WORDPRESS_USERNAME` — WordPress account username - `WORDPRESS_APP_PASSWORD` — Application password (not your regular password) ## Process ### Phase 1: Load the Post
npx skillsauth add richtabor/agent-skills skills/wordpress-add-linksInstall 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.
Find and add internal and external links to a blog post draft, naturally woven into existing sentences.
WORDPRESS_URL — Blog base URL (e.g. https://yourblog.com)WORDPRESS_USERNAME — WordPress account usernameWORDPRESS_APP_PASSWORD — Application password (not your regular password)Determine input type from what the user provides:
Local file — Read the markdown file. Parse any frontmatter for title, tags, or topic context.
WordPress URL — Extract the slug from the URL, then fetch via REST API:
curl -s "$WORDPRESS_URL/wp-json/wp/v2/posts?slug={slug}&_fields=id,title,content,tags,categories"
Store the post ID for later update if working from WordPress.
Fetch published posts from the same WordPress site:
curl -s -u "$WORDPRESS_USERNAME:$WORDPRESS_APP_PASSWORD" \
"$WORDPRESS_URL/wp-json/wp/v2/posts?per_page=100&_fields=id,title,link,excerpt,tags,categories"
From the results:
Use web search to find authoritative external references for key topics in the post (tools, libraries, concepts, standards).
Prefer in this order:
Avoid linking to other blog posts or news articles unless no better source exists.
Insert links into the existing text. Rules:
Do not explain what you found, list existing links, or narrate your process. Just present the table and ask for approval.
Present proposed links as a table using AskUserQuestion. Each link is a selectable option so the user can pick which ones to apply:
| # | Text | URL | Type | Reason | |---|------|-----|------|--------| | 1 | "block patterns" | /block-patterns | Internal | Related tutorial | | 2 | "WCAG" | w3.org/WAI/WCAG21 | External | Official spec |
Use AskUserQuestion with multiSelect: true so the user can check the links they want applied. List each link as an option (e.g. label: "block patterns" → /block-patterns, description: the reason).
Do not proceed to Phase 6 until the user selects links.
After approval:
Local file — Overwrite the draft with the linked version.
WordPress post — Update via REST API:
curl -s -X POST \
-u "$WORDPRESS_USERNAME:$WORDPRESS_APP_PASSWORD" \
"$WORDPRESS_URL/wp-json/wp/v2/posts/{post_id}" \
-H "Content-Type: application/json" \
-d '{"content": "...updated HTML..."}'
Report final counts:
testing
Transforms notes into X (Twitter) posts. Triggers when user asks to create social content, draft tweets, or turn notes/ideas into posts.
development
Writes technical blog posts about features being built. Triggers when user asks to write about development progress, implementations, or project updates.
testing
Reviews and validates agent skills against best practices. Triggers on "review this skill", "check my skill", "validate skill", "is this skill well-written", or when creating/editing skills.
development
Reviews PR comments from GitHub (Copilot, reviewers), evaluates against actual code, replies with reasoning, and resolves threads. Triggers on "review pr comments", "address pr feedback", "fix pr comments", or "review copilot suggestions".