What it does
Scans post, page, and widget content for shortcode-like bracket patterns, then cross-references each one against the list of shortcodes currently registered by active plugins and the theme. Anything left over is a shortcode that will now print as raw bracketed text on the front end instead of rendering.
Install
This skill isn't packaged in an installable registry. It's a plain SKILL.md file you can copy directly. Copy it from the SKILL.md tab and save it at the path for your assistant:
Use it in your AI assistant
Claude Code
.claude/skills/broken-shortcode-finder/ (or ~/.claude/skills/broken-shortcode-finder/ for all projects)
GitHub Copilot (VS Code)
.github/skills/broken-shortcode-finder/
OpenAI Codex
.codex/skills/broken-shortcode-finder/
Cursor
.cursor/skills/broken-shortcode-finder/ (or ~/.cursor/skills/broken-shortcode-finder/ globally)
Compatibility
Any WordPress site; needs database read access or WP-CLI to query post content and the list of registered shortcode tags.
The complete SKILL.md for this skill:
---
name: broken-shortcode-finder
description: Use when a user notices raw bracket text like [gallery id=1] showing on the front end, or wants to check for leftover shortcodes after deactivating a plugin.
---
# Broken Shortcode Finder
## When to use
Content shows raw bracketed shortcode text instead of rendered output, usually right after a plugin was deactivated, uninstalled, or replaced, and the user wants every occurrence found, not just the one they noticed.
## Procedure
1. Pull the list of shortcode tags currently registered by active plugins and the theme's functions.php.
2. Scan post_content across posts, pages, and any widget or template part content for bracketed patterns matching the shortcode syntax.
3. Match each found pattern against the registered list; anything not registered is orphaned.
4. Group orphaned shortcodes by which plugin used to provide them, if that can be inferred from the tag name or documentation.
5. For each orphaned shortcode, list the specific posts/pages it appears in so the user can decide whether to reactivate the plugin, replace the shortcode with equivalent content, or delete it.
6. Do not auto-remove or auto-replace anything; present the findings as a list for review.
## Guardrails
- Never edit post content to strip or replace shortcodes without the user reviewing the list first, some may be intentional or awaiting a plugin reinstall.
- If a shortcode tag is ambiguous (used by more than one known plugin), say so rather than guessing which plugin it belonged to.