issue
FreeCreate a GitHub issue via interview — asks clarifying questions, inspects codebase, and files a well-structured issue
The English summary is being prepared. Showing the original description.
Generate a complete ability through an interview-driven workflow
The English summary is being prepared. Showing the original description.
Run score Not tested
See how to installReview the instructions the agent will receive before you install.
Generate a complete WP-Agentic-Admin ability (PHP backend + JS frontend + index + tests) through an interview-driven workflow. If the user provides an ability name with the command (e.g., /build-ability theme-list), use it directly.
If no ability name was provided, ask for it (kebab-case format).
Then ask these questions (batch into 1-2 messages, skip any already answered):
core/* abilities)Derive from the answers:
readonly, destructive, idempotent annotationsrequiresConfirmation is neededparseIntent is needed (if input comes from natural language)permission_callback capability (default: manage_options)Before generating code, read these files to match project conventions:
src/extensions/abilities/plugin-list.js + includes/abilities/plugin-list.phpsrc/extensions/abilities/cache-flush.js + includes/abilities/cache-flush.phpsrc/extensions/abilities/revision-cleanup.js + includes/abilities/revision-cleanup.phpsrc/extensions/abilities/revision-cleanup.jssrc/extensions/abilities/plugin-activate.js + src/extensions/abilities/shared/plugin-helpers.jssrc/extensions/abilities/index.js — to see current registration patterntests/abilities/core-abilities.test.js — to see test case formatAlso read the full patterns reference: references/ability-patterns.md
Create files in this order:
File: includes/abilities/{name}.php
Rules:
agentic_admin_register_{snake} and agentic_admin_execute_{snake}permission_callbackinput_schema with top-level default for optional/no-input abilitiesoutput_schemaannotations matching the operation typearray( 'success' => bool, 'message' => string, ... )array( 'key' => 'value' ) not array('key'=>'value')File: src/extensions/abilities/{name}.js
Rules:
register{PascalCase}label and description must be string literals (test loader uses regex)label: action-oriented, for LLM system prompt (e.g., "List installed plugins with status")description: one sentence under 30 words, explains when to use this toolkeywords: array of lowercase trigger wordssummarize(): human-readable summary, handle error case (!result.success)interpretResult(): plain-English for LLM, concise single-line format preferredexecute(): call executeAbility() with the ability ID and paramsrequiresConfirmation: true for destructive, false otherwiseregisterAbility( 'id', { ... } ) not registerAbility('id', {...})File: src/extensions/abilities/index.js
Add:
registerAllAbilities()File: tests/abilities/core-abilities.test.js
Add 2-3 test cases with different phrasings to the tests array.
If the ability belongs to a family with existing helpers, import and use them. If creating a new family, create:
includes/abilities/shared/{domain}-helpers.phpsrc/extensions/abilities/shared/{domain}-helpers.jsRun these commands:
npx wp-scripts lint-js src/extensions/abilities/{name}.js
composer lint -- includes/abilities/{name}.php
npm run build
Fix any lint errors before finishing.
Print a summary:
npm run test:abilities -- --file tests/abilities/core-abilities.test.jsNo reviews yet. Tell others what you thought.
No login needed. Share how it worked for you, ask a question, or note where it did not run.
No comments yet. Be the first to write one.
Create a GitHub issue via interview — asks clarifying questions, inspects codebase, and files a well-structured issue
The English summary is being prepared. Showing the original description.
Scaffold a new ability with PHP backend, JS chat interface, and test case
The English summary is being prepared. Showing the original description.
Spin up a WordPress Playground instance with the plugin mounted and activated
The English summary is being prepared. Showing the original description.
Create a pull request with proper branch, description, and labels
The English summary is being prepared. Showing the original description.
Version bump, commit, push, and create GitHub release with notes
The English summary is being prepared. Showing the original description.
Run all tests (unit + ability) and lint
The English summary is being prepared. Showing the original description.