Skills
Public AI agent skills for WordPress development, JavaScript modernization, Azure infrastructure, architecture documentation, and pre-launch security audits.
Available Skills · Related Skills · Install · Usage · Invocation Strategy · Skill Notes
Available Skills
Section titled “Available Skills”WordPress
Section titled “WordPress”Skills for WordPress plugin and theme development.
| Skill | Purpose |
|---|---|
| prepare-wordpress | Scaffold or update a WordPress project with dev tooling, coding standards, testing, and i18n support. |
| wp-bump | Bump a WordPress plugin version and update related release metadata. |
| wp-cli-local | Run WP-CLI commands against Local by Flywheel sites on macOS. |
| wp-mutate | Run mutation testing on WordPress PHP and JavaScript to find weak tests, then triage surviving mutants. |
| wp-pcp-local | Run the WordPress Plugin Check (PCP) against Local by Flywheel sites on macOS. |
JavaScript
Section titled “JavaScript”Skills for JavaScript modernization and dependency audits.
| Skill | Purpose |
|---|---|
| browser-native | Audit JavaScript dependencies and identify packages replaceable by modern browser/runtime native APIs. |
Skills for Azure infrastructure and API Management.
| Skill | Purpose |
|---|---|
| add-apim-api | Scaffold a new API in Azure API Management with Bicep infrastructure. |
Documentation
Section titled “Documentation”Skills for documenting repository architecture.
| Skill | Purpose |
|---|---|
| document-architecture | Create, improve, or audit repository architecture and concept documentation. |
Security
Section titled “Security”Skills for pre-launch security and abuse-resistance audits.
| Skill | Purpose |
|---|---|
| pre-launch-security-audit | Run an evidence-backed security and abuse-resistance review before an application launch. |
Related Skills (other repositories)
Section titled “Related Skills (other repositories)”These live in their own repositories and install from there, not from soderlind/skills:
| Skill | Purpose |
|---|---|
| use-just-bash-for-scripts | Steer the agent to dry-run generated or untrusted shell scripts through just-bash before touching the real host. |
npx skills add soderlind/just-bash-runnerInstall
Section titled “Install”Every skill installs with the skills CLI. -g installs globally, so the skill is available in every project.
Install all skills from this repository:
npx skills add soderlind/skills -gInstall a single skill — swap in any name from Available Skills:
npx skills add soderlind/skills --skill wp-bump -gAdd --all to install into every detected agent integration without prompts:
npx skills add soderlind/skills -g --allBrowse, list, update, and remove:
npx skills add soderlind/skills --list # preview the skills in this repositorynpx skills list -g # list installed skillsnpx skills update wp-bump -g # update one skillnpx skills remove wp-bump -g # remove one skillDiscovery index
Section titled “Discovery index”These skills are published as an Agent Skills discovery index (schema v0.2.0), so agents can enumerate and fetch them without the CLI:
curl https://soderlind.no/.well-known/agent-skills/index.jsonEach entry carries a sha256: digest of its artifact — a single SKILL.md for skills with no supporting files, otherwise a .tar.gz of the skill directory. Clients must verify the digest before use and must not execute anything under scripts/ without explicit approval.
Regenerate the index and archives after changing any skill, then deploy the whole .well-known/agent-skills/ directory to the soderlind.no document root — it is self-contained, and every url in the index resolves inside it:
node scripts/build-agent-skills-index.mjs # rebuildnode scripts/build-agent-skills-index.mjs --check # fail if the committed output is stale (runs in CI)The server must send application/json for index.json, application/gzip for .tar.gz, and text/markdown or text/plain for SKILL.md.
Archives are byte-reproducible (fixed mtimes, sorted entries), so unchanged skills produce unchanged digests. Use --base-url to point the index at a different origin:
node scripts/build-agent-skills-index.mjs --base-url https://example.comAfter installation, ask your AI agent for the workflow you want. The matching skill should be selected automatically.
Example prompts:
Add a new API to Azure API Management for my backend service.Run wp-cli on my Local site and list plugins.Prepare this project for WordPress plugin development.Bump this WordPress plugin to 1.2.3.Run mutation testing on this plugin and show me which tests are weak.Scan this JavaScript project for dependencies that can be replaced by native browser APIs.Document the architecture of this repository for new contributors.Run a pre-launch security audit on this application.Invocation Strategy
Section titled “Invocation Strategy”Use model-invoked skills when autonomous triggering is important or when one skill should call another.
Use user-invoked skills when you want zero context load and explicit manual control.
When many user-invoked skills accumulate, add a lightweight router skill that maps tasks to the right skill so you do not rely on memory.
Skill Notes
Section titled “Skill Notes”add-apim-api
Section titled “add-apim-api”npx skills add soderlind/skills --skill add-apim-api -gUse this to scaffold a new API in Azure API Management with Bicep infrastructure.
Prerequisites:
- Azure CLI with Bicep extension
- Existing APIM infrastructure project
- Access to the target Azure subscription
Example prompt:
Add a speeches-api to APIM with backend at https://api.example.com/speechesThe skill guides you through gathering requirements, creating Bicep files, and wiring up the API.
wp-cli-local
Section titled “wp-cli-local”npx skills add soderlind/skills --skill wp-cli-local -gUse this when working with WordPress sites in Local by Flywheel.
Prerequisites:
- macOS
- Local by Flywheel installed
- WP-CLI installed and available in
PATH - The target Local site is running
The skill always routes WP-CLI through its bundled wrapper:
bash skills/wp-cli-local/scripts/wp --listwp-pcp-local
Section titled “wp-pcp-local”npx skills add soderlind/skills --skill wp-pcp-local -gUse this to run the WordPress Plugin Check (PCP) against a plugin on a Local by Flywheel site.
Prerequisites:
- macOS
- Local by Flywheel installed
- WP-CLI installed and available in
PATH - The Plugin Check plugin installed and activated on the target site
- The target Local site is running
The skill routes Plugin Check through its bundled wrapper, auto-detecting the site and plugin slug from the current directory:
bash skills/wp-pcp-local/scripts/pcp my-pluginprepare-wordpress
Section titled “prepare-wordpress”npx skills add soderlind/skills --skill prepare-wordpress -gUse this to set up or refresh a WordPress project with common development tooling.
Prerequisites:
- Node.js 18+
- Composer 2+
- PHP 8.3+
- git
- WP-CLI for i18n commands
Preview the setup plan before changing a project (paths below assume a clone of this repo; when installed, use the skill’s own directory):
node skills/prepare-wordpress/scripts/plan_setup.mjs --dry-runApply selected safe setup phases:
node skills/prepare-wordpress/scripts/plan_setup.mjs --apply --only=init,composer,configwp-bump
Section titled “wp-bump”npx skills add soderlind/skills --skill wp-bump -gUse this for WordPress plugin releases. It updates existing version fields, changelog entries, build outputs, and test checks according to the target project.
Example prompt:
Run wp-bump for version 1.2.3.The skill does not create commits, tags, or releases unless you explicitly ask your agent to do so.
wp-mutate
Section titled “wp-mutate”npx skills add soderlind/skills --skill wp-mutate -gUse this to measure test quality rather than test coverage. Mutation testing changes your source in small ways and re-runs the suite; a mutant that survives marks a line that runs but is never asserted.
Prerequisites:
- An existing test suite. This skill does not create one — use
prepare-wordpressfirst. - PHP: Pest 3+ (native
--mutate) or PHPUnit (Infection), plus Xdebug 3+ withxdebug.mode=coverage, or PCOV. Without a coverage driver Pest refuses to start. - JavaScript: Vitest or Jest, for StrykerJS.
Five failure modes are specific to WordPress plugins, and each one produces a clean-looking run rather than an error. The skill checks for all of them:
- PCOV auto-detects
pcov.directoryand often picks an asset folder such aslib/, so every file reports 0.0% coverage. - Pest’s
--everythingenumerates classes via PSR-4, so WordPressclass-*.phpfilenames are invisible to it. Scope with--path=instead. - Pest’s
--parallelworkers do not inherit-dini flags, and mutants that time out are scored as killed — which can turn a real 60% into a reported 100%. - Brain Monkey (via Patchwork) stops Infection’s mutants from taking effect: the run either exits 0 with no summary or reports MSI 0%. The skill blocks that combination and routes you to Pest.
- StrykerJS copies Composer’s
vendor/into its sandbox unlessignorePatternssays otherwise, then tries to parse PHP CodeSniffer’s HTML fixtures.
Because all five look like ordinary output, the skill verifies the harness before reporting any score: mutants were created, at least one was killed, and the kills are not just time-outs.
Preview what the skill would run against (path assumes a clone of this repo; when installed, use the skill’s own directory):
node skills/wp-mutate/scripts/detect_mutation_setup.mjsExample prompt:
Run mutation testing on this plugin and show me which tests are weak.The skill reports two scores (overall and covered-code only), ranks surviving mutants with untested security controls first, and proposes assertions one at a time rather than rewriting tests on its own; see references/triage-playbook.md for the mutant-to-assertion mapping and references/glossary.md for the engine vocabulary differences.
browser-native
Section titled “browser-native”npx skills add soderlind/skills --skill browser-native -gUse this to scan JavaScript/Node.js dependencies and find packages that can be replaced with built-in APIs (fetch, URL, structuredClone, crypto.randomUUID, Intl, etc.).
Run the local scanner directly (path assumes a clone of this repo; when installed, use the skill’s own directory):
node skills/browser-native/scripts/cli.js .Markdown report with before/after examples:
node skills/browser-native/scripts/cli.js . --mddocument-architecture
Section titled “document-architecture”npx skills add soderlind/skills --skill document-architecture -gUse this to create, improve, or audit repository architecture and concept documentation (architecture overviews, domain models, component boundaries, data/control flows, invariants, ADRs).
Example prompt:
Document the architecture of this repository so a new contributor can navigate it.The skill labels current vs. proposed states explicitly and verifies claims against the repository before writing docs; see references/templates.md for document templates.
pre-launch-security-audit
Section titled “pre-launch-security-audit”npx skills add soderlind/skills --skill pre-launch-security-audit -gUse this to run a stack-agnostic security and abuse-resistance review before launching an application (MVP, SaaS, AI app, public API, or mobile backend).
Example prompt:
Run a pre-launch security audit on this app before we go live.The skill inspects the repository first, tests failure cases, and ends with a launch recommendation (block, conditional, or baseline met) rather than a compliance certification; see references/checklist.md for the control set.
Repository Layout
Section titled “Repository Layout”Each skill lives in its own folder under skills/:
.well-known/ agent-skills/ # generated discovery index + skill archivesscripts/ build-agent-skills-index.mjsskills/ add-apim-api/ SKILL.md references/ browser-native/ SKILL.md references/ scripts/ prepare-wordpress/ SKILL.md references/ scripts/ wp-bump/ SKILL.md wp-cli-local/ SKILL.md scripts/ wp-mutate/ SKILL.md references/ scripts/ wp-pcp-local/ SKILL.md scripts/ document-architecture/ SKILL.md agents/ references/ pre-launch-security-audit/ SKILL.md agents/ references/Licenses
Section titled “Licenses”All skills in this repository are licensed under the MIT License.
AI Contribution Attribution
Section titled “AI Contribution Attribution”Assisted-by: GitHub Copilot:GPT-5.3-Codex
📦 Source: soderlind/skills · Edit on GitHub