Getting it into your agent
This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.
/plugin marketplace add yojahny55/claude-wp-builder/plugin install claude-wp-builderWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/commands/yojahny55/claude-wp-builder/wp-footer)<a href="https://agentmods.dev/commands/yojahny55/claude-wp-builder/wp-footer"><img src="https://agentmods.dev/badge/commands/yojahny55/claude-wp-builder/wp-footer/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/commands/yojahny55/claude-wp-builder/wp-footer"><img src="https://agentmods.dev/badge/commands/yojahny55/claude-wp-builder/wp-footer.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00021 | $0.03204 |
| Opus 5 | $0.00010 | $0.01602 |
| Sonnet 5 | $0.00004 | $0.00641 |
| Haiku 4.5 | $0.00002 | $0.00320 |
Grade A, and why
wp-footer scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 271 lines — stays where its author put it; the contents beside it link to each section on GitHub.
WP Footer — WordPress Footer Builder
Generate a WordPress footer that pulls all dynamic content from the theme settings/options page via ACF fields.
Step 1: Read Project Context
Read .claude/CLAUDE.md to extract:
- Function prefix (e.g.,
kairo_) - Theme slug
- Languages (primary + secondary)
- Theme directory path
If .claude/CLAUDE.md does not exist, tell the user to run /wp-init first.
Step 2: Read Demo Footer
Read demo/index.html and extract the footer section (between <!-- ============ SECTION: Footer ============ --> delimiters, or the <footer> element).
Analyze:
- Number of columns and their content
- Logo presence and position
- Contact information (address, phone, email)
- Social media links
- Legal/policy links
- Copyright text
- Newsletter signup (if any)
- Footer navigation menu
Step 3: Screenshot Reference (Optional)
If $ARGUMENTS provides a screenshot path, read the screenshot file for additional visual reference.
Step 4: Dispatch wp-template Agent
Dispatch the wp-template agent with these instructions:
Generate
footer.phpin the theme directory.The footer MUST pull ALL dynamic content from the settings/options page using the project's i18n helper functions. NEVER hardcode content.
Required elements (include only those present in the demo):
- Footer logo:
prefix_get_field('footer_logo', 'option')with fallback toprefix_get_field('site_logo', 'option')- Footer description/tagline:
prefix_get_field('footer_description', 'option')- Contact info:
- Phone:
prefix_get_field('contact_phone', 'option')- Email:
prefix_get_field('contact_email', 'option')- Address:
prefix_get_field('contact_address', 'option')- Social links (repeater):
prefix_get_repeater('social_links', array('platform', 'url', 'icon'), 'option')- Legal links:
prefix_get_field('legal_privacy_url', 'option'),prefix_get_field('legal_terms_url', 'option')- Copyright:
prefix_get_field('footer_copyright', 'option')with fallback to© {year} {blogname}- Designer credit:
prefix_get_field('footer_credit', 'option')(optional)- Footer navigation:
wp_nav_menu()with'footer_' . prefix_current_lang()locationClose the file properly:
<?php wp_footer(); ?> </body> </html>Class naming — include the line matching the project's
Template:and drop the other.footer.phpis yours on both paths; only the class system changes.
basic→ BEM naming:.footer__logo,.footer__contact,.footer__social, etc.tailwind→ keep the Tailwind utility classes already on the demo footer you were handed, element for element. Never replace them with BEM names and never invent new class names:wp-tailwindruns after you and renames only the groups its promotion ladder promotes. See "File ownership" under "CSS agent routing" below.All output must be escaped. Match the demo layout structure.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 6d ago Changed · +13 lines a511947a94e7
- 10d ago First seen · 258 lines · 21 tokens per session scan A ab4be7e22de9
wp-footer is a command published in the GitHub repository yojahny55/claude-wp-builder (6 stars, last pushed today), licensed MIT. It adds 21 tokens to every session and 3,204 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other commands, from other repositories
accessibility-specialist
Use when a screen might fail WCAG. Unlabeled inputs, no keyboard path, contrast below AA, missing landmarks, broken heading order, screen reader gaps, or a request for an a11y review or EU Accessibility Act check.
color-specialist
Use when colour is failing. Contrast below AA, a palette with no system behind it, dark mode that is only inverted light mode, or semantic colours that carry no meaning.
conversational-ui-designer
Use when designing a chat or assistant interface. Message layout, bot personality, streaming and typing states, rich message cards, error recovery, or voice input.
form-designer
Use when a form is losing people. Too many fields, validation that interrupts typing, unclear required fields, a multi-step flow with no sense of progress, or inputs with no labels.
motion-designer
Use when animation feels wrong. Transitions too slow or too bouncy, motion with no purpose, blanket transitions on every property, no reduced-motion support, or animation that drops frames.
spacing-layout-specialist
Use when spacing looks arbitrary. Padding and margins off any scale, inconsistent gaps between the same components, no grid underneath, or a layout that needs a denser mode.