Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

New ability: plugin-update — update plugins by name or update all

Open
#106 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
52/100
Issue type
Feature
Clarity
Clearly specified
Activity status
Stale
Tech stack
javascript, php, wordpress
Domain
api, backend, frontend

Research direction

Start with includes/abilities/plugin-update.php and src/extensions/abilities/plugin-update.js, then compare the existing update-check ability and the fuzzy-matching approach from #105. Add coverage for the three example queries and verify confirmation, disambiguation, per-plugin results, and permission or update failures. Done means named, all, and pending plugin updates work without confusing update-check.

Written by the indexing model from the issue text.

Description

enhancement
Problem

When a user says "update the plugins that need to be updated", the LLM now correctly routes to update-check (fixed in PR #102), but that ability only lists available updates — it cannot perform them. There is no plugin-update ability.

Reported by @wpbullet in #66.

Proposed Solution

Create a new wp-agentic-admin/plugin-update ability that can:

  1. Update a specific plugin — "update WooCommerce", "update akismet"
  2. Update all plugins — "update all plugins", "update everything"
  3. Update plugins that need it — "update the plugins that need to be updated"
PHP backend (includes/abilities/plugin-update.php)
  • Use the WordPress Plugin Upgrader API (Plugin_Upgrader class)
  • Accept plugin param (slug or "all")
  • When plugin is a name, use fuzzy matching (same approach as #105)
  • When plugin is "all" or empty, update all plugins with available updates
  • Return per-plugin results: { success, updated: [{ name, old_version, new_version }], failed: [{ name, error }] }
  • Handle common errors: expired license, download failures, permission issues
  • permission_callback: current_user_can( 'update_plugins' )
JS frontend (src/extensions/abilities/plugin-update.js)
  • Keywords: update, upgrade, patch, update plugin, update all plugins
  • requiresConfirmation: true — updates can break sites
  • Summarize should list what was updated and what failed
  • Differentiate from update-check (check = read-only, update = action)
Disambiguation with update-check
  • update-check: "are there updates?", "check for outdated plugins" → read-only
  • plugin-update: "update WooCommerce", "update all plugins" → performs the update

The update-check description should note: "To actually perform updates, use plugin-update."
The plugin-update description should note: "To check what updates are available without updating, use update-check."

Example user queries
  • "update WooCommerce"
  • "update all plugins"
  • "update the plugins that need to be updated"
  • "upgrade akismet to the latest version"
Test cases to add
{ input: 'update WooCommerce', expectTool: 'wp-agentic-admin/plugin-update' },
{ input: 'update all plugins', expectTool: 'wp-agentic-admin/plugin-update' },
{ input: 'upgrade akismet to the latest version', expectTool: 'wp-agentic-admin/plugin-update' },
Refs

Closes #66

Dominant language
JavaScript
Stars
28
Forks
6
Avg merge
9h 16m
Merged PRs (30d)
2

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from pluginslab/wp-agentic-admin

All issues in pluginslab/wp-agentic-admin

Similar issues

More JavaScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.