How this skill is triggered — by the user, by Claude, or both
Slash command
/maestro:complianceThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Ensure compatibility with:
Ensure compatibility with:
Read .claude/maestro.json to load project-specific values:
TEXT_DOMAIN = .ai.text_domain (e.g. rocket, backwpup, imagify)CAPABILITIES = .ai.capabilities (project-registered custom capabilities array)HTML text: esc_html()
HTML attribute: esc_attr()
URL: esc_url()
Allowed HTML: wp_kses_post()
Use {TEXT_DOMAIN} from config for all translation calls:
esc_html__( 'Clear Cache', '{TEXT_DOMAIN}' )
esc_attr__( 'Plugin Settings', '{TEXT_DOMAIN}' )
If .ai.capabilities in .claude/maestro.json is non-empty, always use those capabilities
(not manage_options) for capability checks. The PHPCS config should allow them
without warnings.
Example — read the list from config and use accordingly:
// Correct — use the project-registered capability, not manage_options directly
current_user_can( 'plugin_manage_options' )
Using manage_options directly for plugin-specific actions is incorrect and will flag
in code review unless the project's PHPCS config explicitly allows it.
document.querySelector, addEventListener, fetch, etc.).When relevant, consult repository specs under .claude/specs/, especially:
.claude/specs/phpcs/nonce-verification-recommended.md.claude/specs/phpcs/validated-sanitized-input.md.claude/specs/phpcs/escaped-output.mdFollow the policy defined in AGENTS.md §5.1. Outside the issue workflow, do not run git commit or git push.
npx claudepluginhub wp-media/maestroCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.