wp-skills 1.0.3 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/README.md +31 -10
  2. package/docs/ai-authorship.md +0 -3
  3. package/docs/skill-set-v1.md +6 -3
  4. package/docs/upstream-sync.md +1 -2
  5. package/package.json +1 -1
  6. package/shared/scripts/skillpack-cli.mjs +15 -0
  7. package/skills/block-theme-dev/README.md +4 -4
  8. package/skills/block-theme-dev/SKILL.md +5 -0
  9. package/skills/classic-theme-dev/README.md +4 -4
  10. package/skills/classic-theme-dev/SKILL.md +5 -0
  11. package/skills/frontend-wp/README.md +4 -4
  12. package/skills/frontend-wp/SKILL.md +5 -0
  13. package/skills/wordpress-router/README.md +5 -5
  14. package/skills/wordpress-router/SKILL.md +19 -8
  15. package/skills/wordpress-router/references/decision-tree.md +10 -10
  16. package/skills/wp-block-development/README.md +4 -4
  17. package/skills/wp-block-development/SKILL.md +5 -0
  18. package/skills/wp-block-development/scripts/list_blocks.mjs +2 -1
  19. package/skills/wp-block-themes/README.md +4 -4
  20. package/skills/wp-block-themes/SKILL.md +5 -0
  21. package/skills/wp-dev-workflow/README.md +4 -4
  22. package/skills/wp-dev-workflow/SKILL.md +5 -0
  23. package/skills/wp-interactivity-api/README.md +4 -4
  24. package/skills/wp-interactivity-api/SKILL.md +5 -0
  25. package/skills/wp-performance/README.md +4 -4
  26. package/skills/wp-performance/SKILL.md +5 -0
  27. package/skills/wp-performance/scripts/perf_inspect.mjs +3 -3
  28. package/skills/wp-phpstan/README.md +4 -4
  29. package/skills/wp-phpstan/SKILL.md +5 -0
  30. package/skills/wp-playground/README.md +4 -4
  31. package/skills/wp-playground/SKILL.md +5 -0
  32. package/skills/wp-project-triage/README.md +5 -5
  33. package/skills/wp-project-triage/SKILL.md +11 -2
  34. package/skills/wp-project-triage/references/triage.schema.json +0 -3
  35. package/skills/wp-project-triage/scripts/detect_wp_project.mjs +25 -41
  36. package/skills/wp-wpcli-and-ops/README.md +5 -5
  37. package/skills/wp-wpcli-and-ops/SKILL.md +10 -5
  38. package/skills/wpds/README.md +4 -4
  39. package/skills/wpds/SKILL.md +5 -0
  40. package/skills/wp-abilities-api/README.md +0 -46
  41. package/skills/wp-abilities-api/SKILL.md +0 -95
  42. package/skills/wp-abilities-api/references/php-registration.md +0 -67
  43. package/skills/wp-abilities-api/references/rest-api.md +0 -13
  44. package/skills/wp-plugin-development/README.md +0 -46
  45. package/skills/wp-plugin-development/SKILL.md +0 -112
  46. package/skills/wp-plugin-development/references/data-and-cron.md +0 -19
  47. package/skills/wp-plugin-development/references/debugging.md +0 -19
  48. package/skills/wp-plugin-development/references/lifecycle.md +0 -33
  49. package/skills/wp-plugin-development/references/security.md +0 -29
  50. package/skills/wp-plugin-development/references/settings-api.md +0 -22
  51. package/skills/wp-plugin-development/references/structure.md +0 -16
  52. package/skills/wp-plugin-development/scripts/detect_plugins.mjs +0 -122
  53. package/skills/wp-rest-api/README.md +0 -46
  54. package/skills/wp-rest-api/SKILL.md +0 -114
  55. package/skills/wp-rest-api/references/authentication.md +0 -18
  56. package/skills/wp-rest-api/references/custom-content-types.md +0 -20
  57. package/skills/wp-rest-api/references/discovery-and-params.md +0 -20
  58. package/skills/wp-rest-api/references/responses-and-fields.md +0 -30
  59. package/skills/wp-rest-api/references/routes-and-endpoints.md +0 -36
  60. package/skills/wp-rest-api/references/schema.md +0 -22
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
- # WordPress Team Skills
1
+ # WordPress Theme Team Skills
2
2
 
3
- This skill pack helps WordPress teams (classic themes, block themes, and plugins): clear architecture, explicit guardrails, and verification-first workflows.
3
+ This skill pack is optimized for WordPress theme teams (classic and block themes): clear architecture, explicit guardrails, and verification-first workflows.
4
4
 
5
5
  ## Quick Install
6
6
 
@@ -33,7 +33,7 @@ Installed locations:
33
33
  ## Team Usage Flow
34
34
 
35
35
  1. Start with `wordpress-router` or `wp-project-triage` to classify repository context.
36
- 2. Select the domain skill (theme, frontend, plugin/API, ops, review/migration).
36
+ 2. Select the domain skill (theme, frontend, ops, review/migration).
37
37
  3. Provide explicit inputs: URL/page type, file scope, and compatibility constraints.
38
38
  4. Require explicit verification before merge or release.
39
39
 
@@ -63,12 +63,6 @@ Prompt examples:
63
63
  - [wp-interactivity-api](skills/wp-interactivity-api/README.md)
64
64
  - [wpds](skills/wpds/README.md)
65
65
 
66
- ### Plugin, API, and capabilities
67
-
68
- - [wp-plugin-development](skills/wp-plugin-development/README.md)
69
- - [wp-rest-api](skills/wp-rest-api/README.md)
70
- - [wp-abilities-api](skills/wp-abilities-api/README.md)
71
-
72
66
  ### Tooling, ops, and quality
73
67
 
74
68
  - [wp-wpcli-and-ops](skills/wp-wpcli-and-ops/README.md)
@@ -81,9 +75,36 @@ Prompt examples:
81
75
 
82
76
  - `classic-theme-dev` + `frontend-wp` + `wp-dev-workflow`
83
77
  - `block-theme-dev` + `wp-block-development` + `wp-interactivity-api`
84
- - `wp-plugin-development` + `wp-rest-api` + `wp-abilities-api`
85
78
  - `wp-wpcli-and-ops` + `wp-performance` + `wp-phpstan`
86
79
 
80
+ ## Dynamic Skill Modes
81
+
82
+ - `theme-base` (default): work in `wp-content/themes/**`, skip plugins.
83
+ - `plugin-explicit` (opt-in): include plugin scope only when explicitly requested.
84
+
85
+ Use plugin-explicit mode with triage:
86
+
87
+ ```bash
88
+ npx wp-skills mode plugin-explicit
89
+ ```
90
+
91
+ Use default theme-base mode:
92
+
93
+ ```bash
94
+ npx wp-skills mode theme-base
95
+ ```
96
+
97
+ Recommended plugin mode skills (external set):
98
+
99
+ - `fullstack.wordpress.plugin-scaffold`
100
+ - `fullstack.wordpress.security-audit`
101
+ - `fullstack.wordpress.performance-audit`
102
+ - `wp-dev-workflow` (for review and migration discipline)
103
+
104
+ Default guardrail remains:
105
+
106
+ - `wp-content/plugins/` and `wp-content/mu-plugins/` are treated as third-party and skipped unless plugin-explicit mode is requested.
107
+
87
108
  ## Maintain and Validate
88
109
 
89
110
  ```bash
@@ -34,10 +34,7 @@ All v1 skills followed the same process described above. As skills diverge in th
34
34
  | [wp-project-triage](../skills/wp-project-triage/SKILL.md) | Yes | Yes | Yes |
35
35
  | [wp-block-development](../skills/wp-block-development/SKILL.md) | Yes | Yes | Yes |
36
36
  | [wp-block-themes](../skills/wp-block-themes/SKILL.md) | Yes | Yes | Yes |
37
- | [wp-plugin-development](../skills/wp-plugin-development/SKILL.md) | Yes | Yes | Yes |
38
- | [wp-rest-api](../skills/wp-rest-api/SKILL.md) | Yes | Yes | Yes |
39
37
  | [wp-interactivity-api](../skills/wp-interactivity-api/SKILL.md) | Yes | Yes | Yes |
40
- | [wp-abilities-api](../skills/wp-abilities-api/SKILL.md) | Yes | Yes | Yes |
41
38
  | [wp-wpcli-and-ops](../skills/wp-wpcli-and-ops/SKILL.md) | Yes | Yes | Yes |
42
39
  | [wp-performance](../skills/wp-performance/SKILL.md) | Yes | Yes | Yes |
43
40
  | [wp-phpstan](../skills/wp-phpstan/SKILL.md) | Yes | Yes | Yes |
@@ -6,10 +6,7 @@ This repo currently includes:
6
6
  - `wp-project-triage`
7
7
  - `wp-block-development`
8
8
  - `wp-block-themes`
9
- - `wp-plugin-development`
10
- - `wp-rest-api`
11
9
  - `wp-interactivity-api`
12
- - `wp-abilities-api`
13
10
  - `wp-wpcli-and-ops`
14
11
  - `wp-performance`
15
12
  - `wp-phpstan`
@@ -25,3 +22,9 @@ Planned next skills (not yet implemented):
25
22
  - `wp-build-tooling`
26
23
  - `wp-testing`
27
24
  - `wp-security`
25
+
26
+ Optional plugin-focused support can be enabled via external skills when needed:
27
+
28
+ - `fullstack.wordpress.plugin-scaffold`
29
+ - `fullstack.wordpress.security-audit`
30
+ - `fullstack.wordpress.performance-audit`
@@ -34,7 +34,7 @@ This keeps automation deterministic and reviewable before it starts rewriting sk
34
34
  - If `git diff` is non-empty, open a PR with:
35
35
  - a summary of changes
36
36
  - links to upstream release notes
37
- - a checklist for human review (“does this impact blocks/themes/plugin workflows?”)
37
+ - a checklist for human review (“does this impact blocks/themes workflows?”)
38
38
 
39
39
  ## Validation
40
40
 
@@ -49,4 +49,3 @@ The automation should prefer canonical sources and avoid scraping where possible
49
49
  - WordPress core releases and API endpoints (official WordPress APIs)
50
50
  - Gutenberg releases (GitHub releases)
51
51
  - WordPress developer docs (used for the WP↔Gutenberg mapping when no API exists)
52
-
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wp-skills",
3
- "version": "1.0.3",
3
+ "version": "1.0.4",
4
4
  "description": "WordPress Agent Skills installer and packager",
5
5
  "license": "Duke Dev",
6
6
  "type": "module",
@@ -6,6 +6,7 @@ import { spawnSync } from "node:child_process";
6
6
  const scriptDir = path.dirname(fileURLToPath(import.meta.url));
7
7
  const buildScript = path.join(scriptDir, "skillpack-build.mjs");
8
8
  const installScript = path.join(scriptDir, "skillpack-install.mjs");
9
+ const triageScript = path.join(scriptDir, "..", "..", "skills", "wp-project-triage", "scripts", "detect_wp_project.mjs");
9
10
  const packageRoot = path.resolve(scriptDir, "..", "..");
10
11
 
11
12
  function printUsage() {
@@ -18,11 +19,14 @@ function printUsage() {
18
19
  " install Install skills into a target repository (default command)",
19
20
  " list List available skills",
20
21
  " build Build dist layout for selected targets",
22
+ " mode Run triage in a specific routing mode",
21
23
  "",
22
24
  "Examples:",
23
25
  " npx wp-skills install --dest=. --targets=codex,vscode,claude,cursor,antigravity",
24
26
  " npx wp-skills list",
25
27
  " npx wp-skills build --out=dist --clean",
28
+ " npx wp-skills mode theme-base",
29
+ " npx wp-skills mode plugin-explicit",
26
30
  "",
27
31
  ].join("\n")
28
32
  );
@@ -65,6 +69,17 @@ if (command === "list") {
65
69
  runNode(installScript, ["--list", ...args]);
66
70
  }
67
71
 
72
+ if (command === "mode") {
73
+ const [modeName, ...modeArgs] = rest;
74
+ if (!modeName || (modeName !== "theme-base" && modeName !== "plugin-explicit")) {
75
+ process.stderr.write("Usage: wp-skills mode <theme-base|plugin-explicit> [triage-args]\n");
76
+ process.exit(2);
77
+ }
78
+
79
+ const triageArgs = modeName === "plugin-explicit" ? ["--include-plugins", ...modeArgs] : modeArgs;
80
+ runNode(triageScript, triageArgs);
81
+ }
82
+
68
83
  const looksLikeFlag = command.startsWith("-");
69
84
  if (looksLikeFlag) {
70
85
  // Backward-compatible shorthand: treat bare flags as install args.
@@ -21,13 +21,13 @@ node shared/scripts/skillpack-install.mjs --dest=../your-wp-project --targets=co
21
21
  ## When to use
22
22
 
23
23
  - Apply this skill when your task matches the scope in [SKILL.md](./SKILL.md).
24
- - Typical trigger prompt: `Use block-theme-dev to handle this task in my WordPress repo`.
24
+ - Typical trigger prompt: `Use block-theme-dev to handle this task in my WordPress theme repository`.
25
25
 
26
26
  ## Inputs to provide
27
27
 
28
28
  - Repository root (or target project path).
29
29
  - Exact task goal (feature, refactor, debugging, migration, or review).
30
- - Constraints: WordPress/PHP versions, plugin/theme boundaries, timeline/risk constraints.
30
+ - Constraints: WordPress/PHP versions, theme boundaries, timeline/risk constraints.
31
31
 
32
32
  ## Expected output
33
33
 
@@ -37,9 +37,9 @@ node shared/scripts/skillpack-install.mjs --dest=../your-wp-project --targets=co
37
37
 
38
38
  ## Team guardrails
39
39
 
40
- - Prefer existing repo conventions and tooling over introducing new patterns.
40
+ - Work in first-party theme scope (`wp-content/themes/\*\*`) and essential root config files.
41
+ - Skip `wp-content/plugins/\*\*` and `wp-content/mu-plugins/\*\*` by default (third-party scope).
41
42
  - Avoid destructive DB/content operations without explicit approval.
42
- - Keep backward compatibility visible for production WordPress sites.
43
43
 
44
44
  ## References
45
45
 
@@ -70,3 +70,8 @@ If migration scope is unclear, ask one question:
70
70
  - Do not remove classic templates/widgets without explicit migration approval.
71
71
  - Do not hard-code environment-specific URLs/IDs in patterns/templates.
72
72
  - Do not bypass validation for block markup changes.
73
+
74
+ ## Scope guardrail
75
+
76
+ - Default scope: first-party theme files (`wp-content/themes/**`) and essential root configuration files.
77
+ - Treat `wp-content/plugins/**` and `wp-content/mu-plugins/**` as third-party and skip by default unless the user explicitly requests plugin scope.
@@ -21,13 +21,13 @@ node shared/scripts/skillpack-install.mjs --dest=../your-wp-project --targets=co
21
21
  ## When to use
22
22
 
23
23
  - Apply this skill when your task matches the scope in [SKILL.md](./SKILL.md).
24
- - Typical trigger prompt: `Use classic-theme-dev to handle this task in my WordPress repo`.
24
+ - Typical trigger prompt: `Use classic-theme-dev to handle this task in my WordPress theme repository`.
25
25
 
26
26
  ## Inputs to provide
27
27
 
28
28
  - Repository root (or target project path).
29
29
  - Exact task goal (feature, refactor, debugging, migration, or review).
30
- - Constraints: WordPress/PHP versions, plugin/theme boundaries, timeline/risk constraints.
30
+ - Constraints: WordPress/PHP versions, theme boundaries, timeline/risk constraints.
31
31
 
32
32
  ## Expected output
33
33
 
@@ -37,9 +37,9 @@ node shared/scripts/skillpack-install.mjs --dest=../your-wp-project --targets=co
37
37
 
38
38
  ## Team guardrails
39
39
 
40
- - Prefer existing repo conventions and tooling over introducing new patterns.
40
+ - Work in first-party theme scope (`wp-content/themes/\*\*`) and essential root config files.
41
+ - Skip `wp-content/plugins/\*\*` and `wp-content/mu-plugins/\*\*` by default (third-party scope).
41
42
  - Avoid destructive DB/content operations without explicit approval.
42
- - Keep backward compatibility visible for production WordPress sites.
43
43
 
44
44
  ## References
45
45
 
@@ -71,3 +71,8 @@ Ask one clarifying question if URL/page target is ambiguous:
71
71
  - Do not modify database schema/content directly.
72
72
  - Do not edit vendor/core/plugin files unless explicitly requested.
73
73
  - Do not perform destructive mass replacements without dry-run and approval.
74
+
75
+ ## Scope guardrail
76
+
77
+ - Default scope: first-party theme files (`wp-content/themes/**`) and essential root configuration files.
78
+ - Treat `wp-content/plugins/**` and `wp-content/mu-plugins/**` as third-party and skip by default unless the user explicitly requests plugin scope.
@@ -21,13 +21,13 @@ node shared/scripts/skillpack-install.mjs --dest=../your-wp-project --targets=co
21
21
  ## When to use
22
22
 
23
23
  - Apply this skill when your task matches the scope in [SKILL.md](./SKILL.md).
24
- - Typical trigger prompt: `Use frontend-wp to handle this task in my WordPress repo`.
24
+ - Typical trigger prompt: `Use frontend-wp to handle this task in my WordPress theme repository`.
25
25
 
26
26
  ## Inputs to provide
27
27
 
28
28
  - Repository root (or target project path).
29
29
  - Exact task goal (feature, refactor, debugging, migration, or review).
30
- - Constraints: WordPress/PHP versions, plugin/theme boundaries, timeline/risk constraints.
30
+ - Constraints: WordPress/PHP versions, theme boundaries, timeline/risk constraints.
31
31
 
32
32
  ## Expected output
33
33
 
@@ -37,9 +37,9 @@ node shared/scripts/skillpack-install.mjs --dest=../your-wp-project --targets=co
37
37
 
38
38
  ## Team guardrails
39
39
 
40
- - Prefer existing repo conventions and tooling over introducing new patterns.
40
+ - Work in first-party theme scope (`wp-content/themes/\*\*`) and essential root config files.
41
+ - Skip `wp-content/plugins/\*\*` and `wp-content/mu-plugins/\*\*` by default (third-party scope).
41
42
  - Avoid destructive DB/content operations without explicit approval.
42
- - Keep backward compatibility visible for production WordPress sites.
43
43
 
44
44
  ## References
45
45
 
@@ -67,3 +67,8 @@ If style system is inconsistent, ask one question:
67
67
  - Do not add large frontend dependencies without explicit approval.
68
68
  - Do not enqueue global assets for single-page-only features unless requested.
69
69
  - Do not use brittle selectors tied to dynamic plugin-generated markup when stable hooks exist.
70
+
71
+ ## Scope guardrail
72
+
73
+ - Default scope: first-party theme files (`wp-content/themes/**`) and essential root configuration files.
74
+ - Treat `wp-content/plugins/**` and `wp-content/mu-plugins/**` as third-party and skip by default unless the user explicitly requests plugin scope.
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## Purpose
4
4
 
5
- Use when the user asks about WordPress codebases (plugins, themes, block themes, Gutenberg blocks, WP core checkouts) and you need to quickly classify the repo and route to the correct workflow/skill (classic theme dev, block theme dev, frontend, workflow/review, blocks, REST API, WP-CLI, performance, security, testing, release packaging).
5
+ Use when the user asks about WordPress theme codebases (classic themes, block themes, Gutenberg blocks, WP core checkouts) and you need to quickly classify the repo and route to the correct workflow/skill (classic theme dev, block theme dev, frontend, workflow/review, blocks, WP-CLI, performance, security, testing, release packaging).
6
6
 
7
7
  ## Install this skill only
8
8
 
@@ -21,13 +21,13 @@ node shared/scripts/skillpack-install.mjs --dest=../your-wp-project --targets=co
21
21
  ## When to use
22
22
 
23
23
  - Apply this skill when your task matches the scope in [SKILL.md](./SKILL.md).
24
- - Typical trigger prompt: `Use wordpress-router to handle this task in my WordPress repo`.
24
+ - Typical trigger prompt: `Use wordpress-router to handle this task in my WordPress theme repository`.
25
25
 
26
26
  ## Inputs to provide
27
27
 
28
28
  - Repository root (or target project path).
29
29
  - Exact task goal (feature, refactor, debugging, migration, or review).
30
- - Constraints: WordPress/PHP versions, plugin/theme boundaries, timeline/risk constraints.
30
+ - Constraints: WordPress/PHP versions, theme boundaries, timeline/risk constraints.
31
31
 
32
32
  ## Expected output
33
33
 
@@ -37,9 +37,9 @@ node shared/scripts/skillpack-install.mjs --dest=../your-wp-project --targets=co
37
37
 
38
38
  ## Team guardrails
39
39
 
40
- - Prefer existing repo conventions and tooling over introducing new patterns.
40
+ - Work in first-party theme scope (`wp-content/themes/\*\*`) and essential root config files.
41
+ - Skip `wp-content/plugins/\*\*` and `wp-content/mu-plugins/\*\*` by default (third-party scope).
41
42
  - Avoid destructive DB/content operations without explicit approval.
42
- - Keep backward compatibility visible for production WordPress sites.
43
43
 
44
44
  ## References
45
45
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: wordpress-router
3
- description: "Use when the user asks about WordPress codebases (plugins, themes, block themes, Gutenberg blocks, WP core checkouts) and you need to quickly classify the repo and route to the correct workflow/skill (classic theme dev, block theme dev, frontend, workflow/review, blocks, REST API, WP-CLI, performance, security, testing, release packaging)."
3
+ description: "Use when the user asks about WordPress theme codebases (classic themes, block themes, Gutenberg blocks, WP core checkouts) and you need to quickly classify the repo and route to the correct workflow/skill (classic theme dev, block theme dev, frontend, workflow/review, blocks, WP-CLI, performance, security, testing, release packaging)."
4
4
  compatibility: "Targets WordPress 6.9+ (PHP 7.2.24+). Filesystem-based agent with bash + node. Some workflows require WP-CLI."
5
5
  ---
6
6
 
@@ -10,7 +10,7 @@ compatibility: "Targets WordPress 6.9+ (PHP 7.2.24+). Filesystem-based agent wit
10
10
 
11
11
  Use this skill at the start of most WordPress tasks to:
12
12
 
13
- - identify what kind of WordPress codebase this is (plugin vs theme vs block theme vs WP core checkout vs full site),
13
+ - identify what kind of WordPress codebase this is (theme vs block theme vs WP core checkout vs full site),
14
14
  - pick the right workflow and guardrails,
15
15
  - delegate to the most relevant domain skill(s).
16
16
 
@@ -21,23 +21,28 @@ Use this skill at the start of most WordPress tasks to:
21
21
 
22
22
  ## Procedure
23
23
 
24
- 1. Run the project triage script:
25
- - `node skills/wp-project-triage/scripts/detect_wp_project.mjs`
26
- 2. Read the triage output and classify:
24
+ 1. Select routing mode from user intent:
25
+ - Theme/base work (default): `theme-base`
26
+ - Plugin coding (explicit request only): `plugin-explicit`
27
+ 2. Run the project triage script:
28
+ - Theme/base: `node skills/wp-project-triage/scripts/detect_wp_project.mjs`
29
+ - Plugin-explicit: `node skills/wp-project-triage/scripts/detect_wp_project.mjs --include-plugins`
30
+ 3. Read the triage output and classify:
27
31
  - primary project kind(s),
28
32
  - tooling available (PHP/Composer, Node, @wordpress/scripts),
29
33
  - tests present (PHPUnit, Playwright, wp-env),
30
34
  - any version hints.
31
- 3. Route to domain workflows based on user intent + repo kind:
35
+ 4. Route to domain workflows based on user intent + repo kind:
32
36
  - For the decision tree, read: `skills/wordpress-router/references/decision-tree.md`.
33
37
  - Prefer team-package skills when the request spans multiple concerns:
34
38
  - `classic-theme-dev`
35
39
  - `block-theme-dev`
36
40
  - `frontend-wp`
37
41
  - `wp-dev-workflow`
38
- 4. Apply guardrails before making changes:
42
+ 5. Apply guardrails before making changes:
39
43
  - Confirm any version constraints if unclear.
40
44
  - Prefer the repo’s existing tooling and conventions for builds/tests.
45
+ - Treat `wp-content/plugins/` and `wp-content/mu-plugins/` as third-party scope and skip by default.
41
46
 
42
47
  ## Verification
43
48
 
@@ -53,4 +58,10 @@ Use this skill at the start of most WordPress tasks to:
53
58
  ## Escalation
54
59
 
55
60
  - If routing is ambiguous, ask one question:
56
- - “Is this intended to be a WordPress plugin, a theme (classic/block), or a full site repo?”
61
+ - “Is this intended to be a theme (classic/block) task, or should third-party plugin code be included explicitly?”
62
+
63
+ ## Scope guardrail
64
+
65
+ - Default scope: first-party theme files (`wp-content/themes/**`) and essential root configuration files.
66
+ - Treat `wp-content/plugins/**` and `wp-content/mu-plugins/**` as third-party and skip by default unless the user explicitly requests plugin scope.
67
+ - For plugin-explicit work, route to plugin-focused skills available in the environment (for example: `fullstack.wordpress.plugin-scaffold`, `fullstack.wordpress.security-audit`, `fullstack.wordpress.performance-audit`).
@@ -2,20 +2,23 @@
2
2
 
3
3
  This is a lightweight routing guide. It assumes you can run `wp-project-triage` first.
4
4
 
5
+ ## Mode selection (before routing)
6
+
7
+ - `theme-base` (default): run `node skills/wp-project-triage/scripts/detect_wp_project.mjs`
8
+ - `plugin-explicit` (only when user explicitly asks for plugin coding): run `node skills/wp-project-triage/scripts/detect_wp_project.mjs --include-plugins`
9
+
5
10
  ## Step 1: classify repo kind (from triage)
6
11
 
7
12
  Use `triage.project.kind` and the strongest signals:
8
13
 
9
14
  - `wp-core` → treat as WordPress core checkout work (core patches, PHPUnit, build tools).
10
- - `wp-site` → treat as a full site repo (wp-content present; changes might be theme + plugins).
15
+ - `wp-site` → treat as a full site repo (wp-content present; default scope is `wp-content/themes/*`).
11
16
  - `wp-block-theme` → theme.json/templates/patterns workflows.
12
17
  - `wp-theme` → classic theme workflows (templates PHP, `functions.php`, `style.css`).
13
- - `wp-block-plugin` → Gutenberg block development in a plugin (block.json, build pipeline).
14
- - `wp-plugin` / `wp-mu-plugin` → plugin workflows (hooks, admin, settings, cron, REST, security).
15
18
  - `gutenberg` → Gutenberg monorepo workflows (packages, tooling, docs).
16
19
 
17
20
  If multiple kinds match, prefer the most specific:
18
- `gutenberg` > `wp-core` > `wp-site` > `wp-block-theme` > `wp-block-plugin` > `wp-theme` > `wp-plugin`.
21
+ `gutenberg` > `wp-core` > `wp-site` > `wp-block-theme` > `wp-theme`.
19
22
 
20
23
  ## Step 2: route by user intent (keywords)
21
24
 
@@ -23,8 +26,6 @@ Route by intent even if repo kind is broad (like `wp-site`):
23
26
 
24
27
  - **Interactivity API / data-wp-* directives / @wordpress/interactivity / viewScriptModule**
25
28
  - Route → `wp-interactivity-api`.
26
- - **Abilities API / wp_register_ability / wp-abilities/v1 / @wordpress/abilities**
27
- - Route → `wp-abilities-api`.
28
29
  - **Playground / run-blueprint / build-snapshot / @wp-playground/cli / playground.wordpress.net**
29
30
  - Route → `wp-playground`.
30
31
  - **Blocks / block.json / registerBlockType / attributes / save serialization**
@@ -39,10 +40,8 @@ Route by intent even if repo kind is broad (like `wp-site`):
39
40
  - Route → `frontend-wp`.
40
41
  - **Feature scaffolding / WordPress code review / migration + backward compatibility**
41
42
  - Route → `wp-dev-workflow`.
42
- - **Plugins / hooks / activation hook / uninstall / Settings API / admin pages**
43
- - Route → `wp-plugin-development`.
44
- - **REST endpoint / register_rest_route / permission_callback**
45
- - Route → `wp-rest-api`.
43
+ - **Plugin scaffold / plugin hardening / plugin performance (plugin-explicit mode)**
44
+ - Route → `fullstack.wordpress.plugin-scaffold`, `fullstack.wordpress.security-audit`, `fullstack.wordpress.performance-audit`.
46
45
  - **WP-CLI / wp-cli.yml / commands**
47
46
  - Route → `wp-wpcli-and-ops`.
48
47
  - **Build tooling / @wordpress/scripts / webpack / Vite / npm scripts**
@@ -61,3 +60,4 @@ Route by intent even if repo kind is broad (like `wp-site`):
61
60
  - Verify detected tooling before suggesting commands (Composer vs npm/yarn/pnpm).
62
61
  - Prefer existing lint/test scripts if present.
63
62
  - If version constraints aren’t detectable, ask for target WP core and PHP versions.
63
+ - Skip `wp-content/plugins/` and `wp-content/mu-plugins/` by default unless explicitly requested.
@@ -21,13 +21,13 @@ node shared/scripts/skillpack-install.mjs --dest=../your-wp-project --targets=co
21
21
  ## When to use
22
22
 
23
23
  - Apply this skill when your task matches the scope in [SKILL.md](./SKILL.md).
24
- - Typical trigger prompt: `Use wp-block-development to handle this task in my WordPress repo`.
24
+ - Typical trigger prompt: `Use wp-block-development to handle this task in my WordPress theme repository`.
25
25
 
26
26
  ## Inputs to provide
27
27
 
28
28
  - Repository root (or target project path).
29
29
  - Exact task goal (feature, refactor, debugging, migration, or review).
30
- - Constraints: WordPress/PHP versions, plugin/theme boundaries, timeline/risk constraints.
30
+ - Constraints: WordPress/PHP versions, theme boundaries, timeline/risk constraints.
31
31
 
32
32
  ## Expected output
33
33
 
@@ -37,9 +37,9 @@ node shared/scripts/skillpack-install.mjs --dest=../your-wp-project --targets=co
37
37
 
38
38
  ## Team guardrails
39
39
 
40
- - Prefer existing repo conventions and tooling over introducing new patterns.
40
+ - Work in first-party theme scope (`wp-content/themes/\*\*`) and essential root config files.
41
+ - Skip `wp-content/plugins/\*\*` and `wp-content/mu-plugins/\*\*` by default (third-party scope).
41
42
  - Avoid destructive DB/content operations without explicit approval.
42
- - Keep backward compatibility visible for production WordPress sites.
43
43
 
44
44
  ## References
45
45
 
@@ -172,3 +172,8 @@ If you’re uncertain about upstream behavior/version support, consult canonical
172
172
 
173
173
  - WordPress Developer Resources (Block Editor Handbook, Theme Handbook, Plugin Handbook)
174
174
  - Gutenberg repo docs for bleeding-edge behaviors
175
+
176
+ ## Scope guardrail
177
+
178
+ - Default scope: first-party theme files (`wp-content/themes/**`) and essential root configuration files.
179
+ - Treat `wp-content/plugins/**` and `wp-content/mu-plugins/**` as third-party and skip by default unless the user explicitly requests plugin scope.
@@ -5,6 +5,8 @@ const DEFAULT_IGNORES = new Set([
5
5
  ".git",
6
6
  "node_modules",
7
7
  "vendor",
8
+ "plugins",
9
+ "mu-plugins",
8
10
  "dist",
9
11
  "build",
10
12
  "coverage",
@@ -118,4 +120,3 @@ function main() {
118
120
  }
119
121
 
120
122
  main();
121
-
@@ -21,13 +21,13 @@ node shared/scripts/skillpack-install.mjs --dest=../your-wp-project --targets=co
21
21
  ## When to use
22
22
 
23
23
  - Apply this skill when your task matches the scope in [SKILL.md](./SKILL.md).
24
- - Typical trigger prompt: `Use wp-block-themes to handle this task in my WordPress repo`.
24
+ - Typical trigger prompt: `Use wp-block-themes to handle this task in my WordPress theme repository`.
25
25
 
26
26
  ## Inputs to provide
27
27
 
28
28
  - Repository root (or target project path).
29
29
  - Exact task goal (feature, refactor, debugging, migration, or review).
30
- - Constraints: WordPress/PHP versions, plugin/theme boundaries, timeline/risk constraints.
30
+ - Constraints: WordPress/PHP versions, theme boundaries, timeline/risk constraints.
31
31
 
32
32
  ## Expected output
33
33
 
@@ -37,9 +37,9 @@ node shared/scripts/skillpack-install.mjs --dest=../your-wp-project --targets=co
37
37
 
38
38
  ## Team guardrails
39
39
 
40
- - Prefer existing repo conventions and tooling over introducing new patterns.
40
+ - Work in first-party theme scope (`wp-content/themes/\*\*`) and essential root config files.
41
+ - Skip `wp-content/plugins/\*\*` and `wp-content/mu-plugins/\*\*` by default (third-party scope).
41
42
  - Avoid destructive DB/content operations without explicit approval.
42
- - Keep backward compatibility visible for production WordPress sites.
43
43
 
44
44
  ## References
45
45
 
@@ -114,3 +114,8 @@ Common issues:
114
114
  If upstream behavior is unclear, consult canonical docs:
115
115
 
116
116
  - Theme Handbook and Block Editor Handbook for `theme.json`, templates, patterns, and style variations.
117
+
118
+ ## Scope guardrail
119
+
120
+ - Default scope: first-party theme files (`wp-content/themes/**`) and essential root configuration files.
121
+ - Treat `wp-content/plugins/**` and `wp-content/mu-plugins/**` as third-party and skip by default unless the user explicitly requests plugin scope.
@@ -21,13 +21,13 @@ node shared/scripts/skillpack-install.mjs --dest=../your-wp-project --targets=co
21
21
  ## When to use
22
22
 
23
23
  - Apply this skill when your task matches the scope in [SKILL.md](./SKILL.md).
24
- - Typical trigger prompt: `Use wp-dev-workflow to handle this task in my WordPress repo`.
24
+ - Typical trigger prompt: `Use wp-dev-workflow to handle this task in my WordPress theme repository`.
25
25
 
26
26
  ## Inputs to provide
27
27
 
28
28
  - Repository root (or target project path).
29
29
  - Exact task goal (feature, refactor, debugging, migration, or review).
30
- - Constraints: WordPress/PHP versions, plugin/theme boundaries, timeline/risk constraints.
30
+ - Constraints: WordPress/PHP versions, theme boundaries, timeline/risk constraints.
31
31
 
32
32
  ## Expected output
33
33
 
@@ -37,9 +37,9 @@ node shared/scripts/skillpack-install.mjs --dest=../your-wp-project --targets=co
37
37
 
38
38
  ## Team guardrails
39
39
 
40
- - Prefer existing repo conventions and tooling over introducing new patterns.
40
+ - Work in first-party theme scope (`wp-content/themes/\*\*`) and essential root config files.
41
+ - Skip `wp-content/plugins/\*\*` and `wp-content/mu-plugins/\*\*` by default (third-party scope).
41
42
  - Avoid destructive DB/content operations without explicit approval.
42
- - Keep backward compatibility visible for production WordPress sites.
43
43
 
44
44
  ## References
45
45
 
@@ -67,3 +67,8 @@ Ask one question when scope is ambiguous:
67
67
  - Do not run destructive DB/content operations without explicit approval.
68
68
  - Do not claim migration safety without listing verified checks.
69
69
  - Do not introduce new architecture patterns that conflict with existing team standards unless requested.
70
+
71
+ ## Scope guardrail
72
+
73
+ - Default scope: first-party theme files (`wp-content/themes/**`) and essential root configuration files.
74
+ - Treat `wp-content/plugins/**` and `wp-content/mu-plugins/**` as third-party and skip by default unless the user explicitly requests plugin scope.
@@ -21,13 +21,13 @@ node shared/scripts/skillpack-install.mjs --dest=../your-wp-project --targets=co
21
21
  ## When to use
22
22
 
23
23
  - Apply this skill when your task matches the scope in [SKILL.md](./SKILL.md).
24
- - Typical trigger prompt: `Use wp-interactivity-api to handle this task in my WordPress repo`.
24
+ - Typical trigger prompt: `Use wp-interactivity-api to handle this task in my WordPress theme repository`.
25
25
 
26
26
  ## Inputs to provide
27
27
 
28
28
  - Repository root (or target project path).
29
29
  - Exact task goal (feature, refactor, debugging, migration, or review).
30
- - Constraints: WordPress/PHP versions, plugin/theme boundaries, timeline/risk constraints.
30
+ - Constraints: WordPress/PHP versions, theme boundaries, timeline/risk constraints.
31
31
 
32
32
  ## Expected output
33
33
 
@@ -37,9 +37,9 @@ node shared/scripts/skillpack-install.mjs --dest=../your-wp-project --targets=co
37
37
 
38
38
  ## Team guardrails
39
39
 
40
- - Prefer existing repo conventions and tooling over introducing new patterns.
40
+ - Work in first-party theme scope (`wp-content/themes/\*\*`) and essential root config files.
41
+ - Skip `wp-content/plugins/\*\*` and `wp-content/mu-plugins/\*\*` by default (third-party scope).
41
42
  - Avoid destructive DB/content operations without explicit approval.
42
- - Keep backward compatibility visible for production WordPress sites.
43
43
 
44
44
  ## References
45
45
 
@@ -177,3 +177,8 @@ See `references/debugging.md`.
177
177
  - `references/server-side-rendering.md`
178
178
  - `references/directives-quickref.md`
179
179
  - `references/debugging.md`
180
+
181
+ ## Scope guardrail
182
+
183
+ - Default scope: first-party theme files (`wp-content/themes/**`) and essential root configuration files.
184
+ - Treat `wp-content/plugins/**` and `wp-content/mu-plugins/**` as third-party and skip by default unless the user explicitly requests plugin scope.
@@ -21,13 +21,13 @@ node shared/scripts/skillpack-install.mjs --dest=../your-wp-project --targets=co
21
21
  ## When to use
22
22
 
23
23
  - Apply this skill when your task matches the scope in [SKILL.md](./SKILL.md).
24
- - Typical trigger prompt: `Use wp-performance to handle this task in my WordPress repo`.
24
+ - Typical trigger prompt: `Use wp-performance to handle this task in my WordPress theme repository`.
25
25
 
26
26
  ## Inputs to provide
27
27
 
28
28
  - Repository root (or target project path).
29
29
  - Exact task goal (feature, refactor, debugging, migration, or review).
30
- - Constraints: WordPress/PHP versions, plugin/theme boundaries, timeline/risk constraints.
30
+ - Constraints: WordPress/PHP versions, theme boundaries, timeline/risk constraints.
31
31
 
32
32
  ## Expected output
33
33
 
@@ -37,9 +37,9 @@ node shared/scripts/skillpack-install.mjs --dest=../your-wp-project --targets=co
37
37
 
38
38
  ## Team guardrails
39
39
 
40
- - Prefer existing repo conventions and tooling over introducing new patterns.
40
+ - Work in first-party theme scope (`wp-content/themes/\*\*`) and essential root config files.
41
+ - Skip `wp-content/plugins/\*\*` and `wp-content/mu-plugins/\*\*` by default (third-party scope).
41
42
  - Avoid destructive DB/content operations without explicit approval.
42
- - Keep backward compatibility visible for production WordPress sites.
43
43
 
44
44
  ## References
45
45