Generated banner for Wp Project Triage
Generated logo for Wp Project Triage

Wp Project Triage

WordPressOfficialPublished by WordPress

  • Skill
  • Review and audit
  • Software development
  • GPL-2.0-or-later
  • Low risk
  • Has scripts

From the author

Use when you need a deterministic inspection of a WordPress repository (plugin/theme/block theme/WP core/Gutenberg/full site) including tooling/tests/version hints, and a structured JSON report to guide workflows and guardrails.
— the description by WordPress

AutoGineer summary

Written by AutoGineer from the skill’s own files, not by the author

WP Project Triage provides a systematic way to analyze WordPress repositories, including plugins, themes, block themes, and core files. By executing a detection script, the skill outputs a structured JSON report that identifies the project type, available tooling, testing configurations, and versioning hints. This data serves as a foundation for determining appropriate development workflows and establishing project guardrails.

What it does

  • Inspects WordPress repository structures to identify project types.
  • Detects installed PHP and Node.js tooling.
  • Identifies existing test suites and configurations.
  • Extracts versioning information and sources.
  • Generates a structured JSON report based on a defined schema.
  • Provides signals to guide subsequent development workflows.

When to use it

  • When you need to understand the structure of a WordPress repository before making changes.
  • When you need to identify the correct commands and conventions for a specific project.
  • When you need to verify the presence of specific tooling or test configurations.
  • When you need to establish guardrails for a WordPress development workflow.

Advantages

  • Provides deterministic insights into project composition.
  • Standardizes project analysis through a structured JSON output.
  • Helps prevent errors by clarifying project-specific requirements.
  • Facilitates informed decision-making for development workflows.

Usage examples

“Analyze this WordPress repository to determine its structure and tooling.”
The agent runs the detection script and returns a JSON report detailing the project kind, detected tools, and versioning information.
“What are the project guardrails for this theme repository?”
The agent inspects the repository and provides a report identifying the theme type and relevant build configurations to follow.

Install

  1. Download the skill as a ZIP:

    https://mp-staging.autogineer.com/agent-skills/wordpress/wp-project-triage/download
  2. Unzip it into the cross-client skills folder of your project:

    mkdir -p .agents/skills && unzip wp-project-triage.zip -d .agents/skills

Documentation by WordPress

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. Run the detector (prints JSON to stdout):

    • node skills/wp-project-triage/scripts/detect_wp_project.mjs

  2. If you need the exact output contract, read:

    • skills/wp-project-triage/references/triage.schema.json

  3. Use the report to select workflow guardrails:

    • project kind(s)

    • PHP/Node tooling present

    • tests present

    • version hints and sources

  4. If the report is missing signals you need, update the detector rather than guessing.

Verification

  • The JSON should parse and include: project.kind, signals, and tooling.

  • Re-run after changes that affect structure/tooling (adding theme.json, block.json, build config).

Failure modes / debugging

  • If it reports unknown, check whether the repo root is correct.

  • If scanning is slow, add/extend ignore directories in the script.

Files

references/triage.schema.json

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://agentskills.local/wp-project-triage/triage.schema.json",
  "title": "WP Project Triage Report",
  "type": "object",
  "required": ["tool", "project", "signals", "tooling"],
  "properties": {
    "tool": {
      "type": "object",
      "required": ["name", "version"],
      "properties": {
        "name": { "type": "string", "const": "detect_wp_project" },
        "version": { "type": "string" }
      },
      "additionalProperties": true
    },
    "project": {
      "type": "object",
      "required": ["kind"],
      "properties": {
        "kind": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "unknown",
              "wp-plugin",
              "wp-mu-plugin",
              "wp-theme",
              "wp-block-theme",
              "wp-block-plugin",
              "wp-site",
              "wp-core",
              "gutenberg"
            ]
          }
        },
        "primary": { "type": "string" },
        "notes": { "type": "array", "items": { "type": "string" } }
      },
      "additionalProperties": true
    },
    "signals": {
      "type": "object",
      "required": ["paths"],
      "properties": {
        "paths": {
          "type": "object",
          "properties": {
            "repoRoot": { "type": "string" },
            "wpContent": { "type": "string" },
            "pluginsDir": { "type": "string" },
            "themesDir": { "type": "string" }
          },
          "additionalProperties": true
        }
        ,
        "usesInteractivityApi": { "type": "boolean" },
        "usesAbilitiesApi": { "type": "boolean" },
        "usesInnerBlocks": { "type": "boolean" },
        "usesWpCli": { "type": "boolean" },
        "performanceHints": { "type": "object", "additionalProperties": true },
        "interactivityHints": { "type": "object", "additionalProperties": true },
        "abilitiesHints": { "type": "object", "additionalProperties": true },
        "innerBlocksHints": { "type": "object", "additionalProperties": true },
        "wpCliHints": { "type": "object", "additionalProperties": true }
      },
      "additionalProperties": true
    },
    "tooling": {
      "type": "object",
      "required": ["php", "node", "tests"],
      "properties": {
        "php": {
          "type": "object",
          "properties": {
            "hasComposerJson": { "type": "boolean" },
            "hasVendorDir": { "type": "boolean" },
            "phpunitXml": { "type": "array", "items": { "type": "string" } }
          },
          "additionalProperties": true
        },
        "node": {
          "type": "object",
          "properties": {
            "hasPackageJson": { "type": "boolean" },
            "packageManager": { "type": ["string", "null"], "enum": ["npm", "yarn", "pnpm", "bun", null] },
            "usesWordpressScripts": { "type": "boolean" }
          },
          "additionalProperties": true
        },
        "tests": {
          "type": "object",
          "properties": {
            "hasPhpUnit": { "type": "boolean" },
            "hasWpEnv": { "type": "boolean" },
            "hasPlaywright": { "type": "boolean" },
            "hasJest": { "type": "boolean" }
          },
          "additionalProperties": true
        }
      },
      "additionalProperties": true
    },
    "versions": {
      "type": "object",
      "properties": {
        "wordpress": {
          "type": "object",
          "properties": {
            "core": {
              "type": "object",
              "properties": {
                "value": { "type": ["string", "null"] },
                "source": { "type": ["string", "null"] }
              },
              "additionalProperties": true
            }
          },
          "additionalProperties": true
        },
        "gutenberg": {
          "type": "object",
          "properties": {
            "value": { "type": ["string", "null"] },
            "source": { "type": ["string", "null"] }
          },
          "additionalProperties": true
        }
      },
      "additionalProperties": true
    },
    "recommendations": {
      "type": "object",
      "properties": {
        "commands": { "type": "array", "items": { "type": "string" } },
        "notes": { "type": "array", "items": { "type": "string" } }
      },
      "additionalProperties": true
    }
  },
  "additionalProperties": true
}

Requirements and compatibility

Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta

“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.

Needs: Needs Node.js

The author says: Targets WordPress 7.0+ (PHP 7.4.0+). Filesystem-based agent with bash + node. Some workflows require WP-CLI.

Security

What our scanner noticed· Low risk

  • Scripts that your agent may run

This skill includes scripts that your agent may run. Read them before you use it.

A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.

Attribution and licence

Published by
WordPress
Publisher
WordPress (Official)
Source
WordPress/agent-skills · skills/wp-project-triage · commit 7374e6f
Licence
GNU General Public License v2.0 or later (redistribution allowed)
  • LICENSE (added by AutoGineer from LICENSE)
  • ATTRIBUTION.md (written by AutoGineer)
Synced

AutoGineer is not affiliated with or endorsed by WordPress.

Download ZIP

The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download wp-project-triage.zip