Marketplace wp-test-analyzer

Analyze WordPress theme PHP files to extract testable elements for E2E test generation.

install
source · Clone the upstream repo
git clone https://github.com/aiskillstore/marketplace
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/aiskillstore/marketplace "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/crazyswami/wp-test-analyzer" ~/.claude/skills/aiskillstore-marketplace-wp-test-analyzer && rm -rf "$T"
manifest: skills/crazyswami/wp-test-analyzer/SKILL.md
source content

WordPress Test Analyzer Skill

Analyze WordPress theme PHP files to extract testable elements for E2E test generation.

Usage

Invoke this skill when you need to analyze a WordPress theme for E2E testing:

  • "Analyze the theme at /path/to/theme for testable elements"
  • "Generate test cases for this WordPress theme"
  • "What should I test in this WordPress site?"

Arguments

  • theme_path
    (required): Path to the WordPress theme directory

Workflow

  1. Run the analyzer script on the theme directory
  2. Review the JSON output of testable elements
  3. Use the output to generate Playwright test files

Testable Elements Extracted

Forms

  • Form action URLs and methods
  • Input fields (name, type, required)
  • Submit buttons
  • Nonce fields (WordPress security)
  • Success/error message patterns

Navigation

  • Menu structures
  • Internal links
  • External links
  • Anchor links

Dynamic Content

  • WP_Query loops
  • Conditional displays (if/else)
  • Post meta fields
  • Custom post types

JavaScript Interactions

  • onclick handlers
  • Class toggles
  • Data attributes
  • Event listeners mentioned in PHP

WordPress-Specific

  • Custom post types
  • Meta boxes
  • Theme options
  • AJAX hooks

Example Output

{
  "forms": [
    {
      "file": "page-contact.php",
      "action": "POST to self",
      "fields": [
        {"name": "first_name", "type": "text", "required": true},
        {"name": "email", "type": "email", "required": true},
        {"name": "message", "type": "textarea", "required": true}
      ],
      "nonce": "csr_contact_nonce",
      "success_param": "?contact=success",
      "error_param": "?contact=error"
    }
  ],
  "pages": [
    {
      "file": "index.php",
      "template": "Home",
      "sections": ["hero", "philosophy", "featured_works"],
      "animations": ["initHomePage"]
    }
  ],
  "custom_post_types": ["property"],
  "navigation": {
    "primary": ["Home", "About", "Portfolio", "Contact"],
    "footer": ["Privacy Policy", "Terms of Service"]
  }
}

Running the Analyzer

python3 /root/.claude/skills/wp-test-analyzer/analyze.py /path/to/theme