Agent Skills: WP Project Triage

Use when you need to quickly understand a WordPress repository: detect project type (plugin/theme/block theme/WP core/full site), available tooling (Composer, npm, @wordpress/scripts), test frameworks (PHPUnit, Playwright, wp-env), and version hints.

wordpressrepository-structurecomposernpmphpunit
project-setupID: vapvarun/claude-backup/wp-project-triage

Skill Files

Browse the full folder contents for wp-project-triage.

Download Skill

Loading file tree…

skills/wp-project-triage/SKILL.md

Skill Metadata

Name
wp-project-triage
Description
"Use when you need to quickly understand a WordPress repository: detect project type (plugin/theme/block theme/WP core/full site), available tooling (Composer, npm, @wordpress/scripts), test frameworks (PHPUnit, Playwright, wp-env), and version hints."

WP Project Triage

When to use

Use this skill to quickly understand what kind of WordPress repo you're in and what commands/conventions to follow before making changes.

Inputs required

  • Repo root (current working directory)

Procedure

1) Detect project kind

# Plugin detection
if grep -l "Plugin Name:" *.php 2>/dev/null; then
  echo "KIND: plugin"
fi

# Theme detection
if [ -f "style.css" ] && grep -q "Theme Name:" style.css; then
  if [ -f "theme.json" ] && [ -d "templates" ]; then
    echo "KIND: block-theme"
  else
    echo "KIND: classic-theme"
  fi
fi

# WP Core detection
if [ -d "wp-includes" ] && [ -d "wp-admin" ]; then
  echo "KIND: wp-core"
fi

# Full site detection
if [ -d "wp-content" ]; then
  echo "KIND: full-site"
fi

2) Detect tooling

# PHP/Composer
[ -f "composer.json" ] && echo "TOOLING: composer"
[ -d "vendor" ] && echo "TOOLING: composer-installed"

# Node/npm
[ -f "package.json" ] && echo "TOOLING: npm"
[ -d "node_modules" ] && echo "TOOLING: npm-installed"

# WordPress Scripts
grep -q "@wordpress/scripts" package.json 2>/dev/null && echo "TOOLING: wp-scripts"

# Build config
[ -f "webpack.config.js" ] && echo "TOOLING: webpack"
[ -f "vite.config.js" ] && echo "TOOLING: vite"

3) Detect testing

# PHPUnit
[ -f "phpunit.xml" ] || [ -f "phpunit.xml.dist" ] && echo "TESTS: phpunit"

# Playwright
grep -q "playwright" package.json 2>/dev/null && echo "TESTS: playwright"

# wp-env
[ -f ".wp-env.json" ] && echo "TESTS: wp-env"

# Jest
grep -q "jest" package.json 2>/dev/null && echo "TESTS: jest"

4) Detect version hints

# PHP version from composer.json
grep -o '"php":\s*"[^"]*"' composer.json 2>/dev/null

# WordPress version from readme.txt
grep -i "Requires at least:" readme.txt 2>/dev/null
grep -i "Tested up to:" readme.txt 2>/dev/null

# Node version
[ -f ".nvmrc" ] && cat .nvmrc
[ -f ".node-version" ] && cat .node-version

5) Build triage report

Compile findings into structured output:

PROJECT TRIAGE
==============
Kind: [plugin|classic-theme|block-theme|wp-core|full-site]

Tooling:
- PHP: [composer version or none]
- Node: [npm/yarn, version if detected]
- Build: [wp-scripts|webpack|vite|none]

Tests:
- PHP: [phpunit|pest|none]
- E2E: [playwright|cypress|none]
- Unit: [jest|none]

Versions:
- PHP Required: X.X+
- WP Required: X.X+
- WP Tested: X.X

Verification

  • JSON should parse correctly
  • Re-run after changes that affect structure (adding theme.json, block.json, build config)

Failure modes / debugging

  • If reports unknown, check whether repo root is correct
  • If scanning is slow, add ignore directories (.git, node_modules, vendor)

Use triage output to

  • Select appropriate domain skills
  • Choose build/test commands
  • Set version compatibility expectations
  • Apply correct coding standards