From 2150a92ea817e5539498958e277ba4920ad01c54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Per=20S=C3=B8derlind?= Date: Tue, 21 Jul 2026 11:53:15 +0200 Subject: [PATCH 01/10] Simplify Copilot section: markdown skills table, drop image column --- README.md | 109 ++++++++++++++++-------------------------------------- 1 file changed, 32 insertions(+), 77 deletions(-) diff --git a/README.md b/README.md index 60a849c..06dd719 100644 --- a/README.md +++ b/README.md @@ -429,83 +429,38 @@ I made the [WordPress Development — Copilot Instructions](https://github.com/g **Spec-Driven WordPress Development**, clearly stated. Everything flows from the [**Constitution**](https://github.com/soderlind/wordpress-sdd). - - - - - - - - - - - -
+### Available Skills -

Available Skills

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SkillPurpose
wp-cli-localRun WP-CLI commands against Local by Flywheel sites on macOS.
wp-pcp-localRun the WordPress Plugin Check (PCP) against Local by Flywheel sites on macOS.
prepare-wordpressScaffold or update a WordPress project with dev tooling, coding standards, testing, and i18n support.
wp-bumpBump a WordPress plugin version and update related release metadata.
browser-nativeAudit JavaScript dependencies and identify packages replaceable by modern browser/runtime native APIs.
add-apim-apiScaffold a new API in Azure API Management with Bicep infrastructure.
-
-
-
LocalWP Assistant — VS Code Chat Participant
-
A GitHub Copilot Chat participant (@localwp) that lets you query and manage your Local by Flywheel WordPress sites directly from VS Code. -

Also available on the VS Code Marketplace

-
-
WordPress Readme
-
A Visual Studio Code extension that provides syntax highlighting, IntelliSense, live preview and validation for WordPress plugin readme.txt files with pixel-perfect WordPress.org rendering and comprehensive compliance checking. -

Also available on the VS Code Marketplace

-
-
-
-
Ralph for WordPress projects
-
A tiny runner around GitHub Copilot CLI that loops in small, clean iterations—1 feature per run + commit, progress log, and a PRD checklist.
-
Ralph WP Testing
-
Shows how to build an end-to-end WordPress plugin testing setup with complete PHPUnit coverage, built for automated runs with Ralph.
-
-
-
-
WP FotoKopilot
-
-

WP FotoKopilot is a cross-platform Electron desktop app that connects to WordPress sites via the REST API, scans the media library, and generates missing (or improved) alt text using the GitHub Copilot SDK. Optionally organizes media into Virtual Media Folders (VMF). -

-

- I did this as a PoC, testing GitHub Copilot SDK. - Developer guide is available: WP FotoKopilot Developer Documentation. -

-
-
-
+| Skill | Purpose | +| --- | --- | +| [`wp-cli-local`](https://skills.sh/soderlind/skills/wp-cli-local) | Run WP-CLI commands against Local by Flywheel sites on macOS. | +| [`wp-pcp-local`](https://skills.sh/soderlind/skills/wp-pcp-local) | Run the WordPress Plugin Check (PCP) against Local by Flywheel sites on macOS. | +| [`prepare-wordpress`](https://skills.sh/soderlind/skills/prepare-wordpress) | Scaffold or update a WordPress project with dev tooling, coding standards, testing, and i18n support. | +| [`wp-bump`](https://skills.sh/soderlind/skills/wp-bump) | Bump a WordPress plugin version and update related release metadata. | +| [`browser-native`](https://skills.sh/soderlind/skills/browser-native) | Audit JavaScript dependencies and identify packages replaceable by modern browser/runtime native APIs. | +| [`add-apim-api`](https://skills.sh/soderlind/skills/add-apim-api) | Scaffold a new API in Azure API Management with Bicep infrastructure. | + +### VS Code Extensions + +**[LocalWP Assistant — VS Code Chat Participant](https://github.com/soderlind/vs-local-wp)** +A GitHub Copilot Chat participant (@localwp) that lets you query and manage your Local by Flywheel WordPress sites directly from VS Code. Also available on the [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=persoderlind.localwp-assistant). + +**[WordPress Readme](https://github.com/soderlind/wordpress-readme-preview)** +A Visual Studio Code extension that provides syntax highlighting, IntelliSense, live preview and validation for WordPress plugin readme.txt files with pixel-perfect WordPress.org rendering and comprehensive compliance checking. Also available on the [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=persoderlind.wordpress-readme-preview). + +### Ralph + +**[Ralph for WordPress projects](https://github.com/soderlind/ralph-wp)** +A tiny runner around GitHub Copilot CLI that loops in small, clean iterations—1 feature per run + commit, progress log, and a PRD checklist. + +**[Ralph WP Testing](https://github.com/soderlind/ralph-wp-testing)** +Shows how to build an end-to-end WordPress plugin testing setup with complete PHPUnit coverage, built for automated runs with Ralph. + +### WP FotoKopilot + +**[WP FotoKopilot](https://github.com/soderlind/wp-fotokopilot)** +WP FotoKopilot is a cross-platform Electron desktop app that connects to WordPress sites via the REST API, scans the media library, and generates missing (or improved) alt text using the GitHub Copilot SDK. Optionally organizes media into [Virtual Media Folders (VMF)](https://github.com/soderlind/virtual-media-folders). + +_I did this as a PoC, testing [GitHub Copilot SDK](https://github.com/github/copilot-sdk?tab=readme-ov-file#github-copilot-cli-sdks). Developer guide is available: [WP FotoKopilot Developer Documentation](https://github.com/soderlind/wp-fotokopilot/tree/main/docs#wp-fotokopilot-developer-documentation)._
How this README is built
From ee34204d57f24ec9770731a36e855fe66f41d4d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Per=20S=C3=B8derlind?= Date: Tue, 21 Jul 2026 12:00:16 +0200 Subject: [PATCH 02/10] Add installation instructions for skills in README - Included a command to install all skills using `npx skills add soderlind/skills`. - Mentioned the option to install skills individually with `npx skills add soderlind/skills --skill `. --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 06dd719..b50c425 100644 --- a/README.md +++ b/README.md @@ -431,6 +431,8 @@ I made the [WordPress Development — Copilot Instructions](https://github.com/g ### Available Skills +`npx skills add soderlind/skills` will install all skills below. You can also install them individually with `npx skills add soderlind/skills --skill `. + | Skill | Purpose | | --- | --- | | [`wp-cli-local`](https://skills.sh/soderlind/skills/wp-cli-local) | Run WP-CLI commands against Local by Flywheel sites on macOS. | From e6e9b4d57506c4c78ad3a04625521e4f48d1569c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Per=20S=C3=B8derlind?= Date: Tue, 21 Jul 2026 12:03:17 +0200 Subject: [PATCH 03/10] Update installation instructions for skills in README to clarify usage --- README.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b50c425..5ccc8d7 100644 --- a/README.md +++ b/README.md @@ -431,7 +431,13 @@ I made the [WordPress Development — Copilot Instructions](https://github.com/g ### Available Skills -`npx skills add soderlind/skills` will install all skills below. You can also install them individually with `npx skills add soderlind/skills --skill `. +Install the skills with the following command, which lets you pick all of them or select individual ones: + +```bash +npx skills add soderlind/skills +``` + +You can also install a specific skill directly with `npx skills add soderlind/skills --skill `. | Skill | Purpose | | --- | --- | From a9109232dee215adc2cbcc18ea90dd8bc542a365 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Per=20S=C3=B8derlind?= Date: Tue, 21 Jul 2026 12:09:23 +0200 Subject: [PATCH 04/10] Add Ralph entry, rephrase skills install, remove unused JSON-LD --- README.md | 75 ++++++------------------------------------------------- 1 file changed, 7 insertions(+), 68 deletions(-) diff --git a/README.md b/README.md index 5ccc8d7..012f76f 100644 --- a/README.md +++ b/README.md @@ -1,68 +1,4 @@ -
@@ -429,7 +365,7 @@ I made the [WordPress Development — Copilot Instructions](https://github.com/g **Spec-Driven WordPress Development**, clearly stated. Everything flows from the [**Constitution**](https://github.com/soderlind/wordpress-sdd). -### Available Skills +## Skills Install the skills with the following command, which lets you pick all of them or select individual ones: @@ -448,7 +384,7 @@ You can also install a specific skill directly with `npx skills add soderlind/sk | [`browser-native`](https://skills.sh/soderlind/skills/browser-native) | Audit JavaScript dependencies and identify packages replaceable by modern browser/runtime native APIs. | | [`add-apim-api`](https://skills.sh/soderlind/skills/add-apim-api) | Scaffold a new API in Azure API Management with Bicep infrastructure. | -### VS Code Extensions +## VS Code Extensions **[LocalWP Assistant — VS Code Chat Participant](https://github.com/soderlind/vs-local-wp)** A GitHub Copilot Chat participant (@localwp) that lets you query and manage your Local by Flywheel WordPress sites directly from VS Code. Also available on the [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=persoderlind.localwp-assistant). @@ -456,7 +392,10 @@ A GitHub Copilot Chat participant (@localwp) that lets you query and manage your **[WordPress Readme](https://github.com/soderlind/wordpress-readme-preview)** A Visual Studio Code extension that provides syntax highlighting, IntelliSense, live preview and validation for WordPress plugin readme.txt files with pixel-perfect WordPress.org rendering and comprehensive compliance checking. Also available on the [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=persoderlind.wordpress-readme-preview). -### Ralph +## Ralph + +**[Ralph](https://github.com/soderlind/ralph)** +A thin runner around GitHub Copilot CLI that runs it in a loop, implementing one feature at a time until your PRD is complete—let AI ship working code while you sleep. **[Ralph for WordPress projects](https://github.com/soderlind/ralph-wp)** A tiny runner around GitHub Copilot CLI that loops in small, clean iterations—1 feature per run + commit, progress log, and a PRD checklist. @@ -464,7 +403,7 @@ A tiny runner around GitHub Copilot CLI that loops in small, clean iterations— **[Ralph WP Testing](https://github.com/soderlind/ralph-wp-testing)** Shows how to build an end-to-end WordPress plugin testing setup with complete PHPUnit coverage, built for automated runs with Ralph. -### WP FotoKopilot +## WP FotoKopilot **[WP FotoKopilot](https://github.com/soderlind/wp-fotokopilot)** WP FotoKopilot is a cross-platform Electron desktop app that connects to WordPress sites via the REST API, scans the media library, and generates missing (or improved) alt text using the GitHub Copilot SDK. Optionally organizes media into [Virtual Media Folders (VMF)](https://github.com/soderlind/virtual-media-folders). From 7cb306ad59cdf8300f87483aead92678c460dd07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Per=20S=C3=B8derlind?= Date: Tue, 21 Jul 2026 12:15:06 +0200 Subject: [PATCH 05/10] Add SEO-friendly intro and fix banner alt text --- README.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 012f76f..d1b131f 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,19 @@
-kredittkort +Per Søderlind — WordPress developer specializing in plugin development, AI integrations, and multisite solutions
+# Per Søderlind — WordPress Developer & Plugin Author + +I'm a Senior Advisor and open source **WordPress developer** from Norway, focused on **plugin development**, **AI integrations for WordPress**, **WordPress Multisite** solutions, and **developer tooling** for GitHub Copilot and VS Code. + +I build and maintain popular open source WordPress plugins including [WP Loupe](https://github.com/soderlind/wp-loupe) (fast, typo-tolerant search), [Virtual Media Folders](https://github.com/soderlind/virtual-media-folders) (media library organization), and [Super Admin All Sites Menu](https://github.com/soderlind/super-admin-all-sites-menu) (multisite management), alongside a growing collection of AI-powered plugins, VS Code extensions, and GitHub Copilot skills. + +- 🌐 Website: [soderlind.no](https://soderlind.no) +- 🧩 Plugins on [WordPress.org](https://profiles.wordpress.org/pers/) and [GitHub](https://github.com/soderlind?tab=repositories) +- 🛠️ Focus: WordPress, PHP, JavaScript, AI integration, GitHub Copilot, GitHub Actions + ## WordPress Plugins Repos below are my WordPress plugins hosted here at GitHub. Easy to install. [Plugin updates are handled automatically](https://github.com/soderlind/wordpress-plugin-github-updater?tab=readme-ov-file#wordpress-plugin-github-updater) via GitHub. No need to manually download and install updates. From 19fcef0ad6c282da880ba5c9601583a9c7a7cd5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Per=20S=C3=B8derlind?= Date: Tue, 21 Jul 2026 12:17:54 +0200 Subject: [PATCH 06/10] Add image for Virtual Media Folders plugin in README --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d1b131f..11df552 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@
-Per Søderlind — WordPress developer specializing in plugin development, AI integrations, and multisite solutions +
# Per Søderlind — WordPress Developer & Plugin Author @@ -19,7 +19,7 @@ I build and maintain popular open source WordPress plugins including [WP Loupe]( Repos below are my WordPress plugins hosted here at GitHub. Easy to install. [Plugin updates are handled automatically](https://github.com/soderlind/wordpress-plugin-github-updater?tab=readme-ov-file#wordpress-plugin-github-updater) via GitHub. No need to manually download and install updates. - +Virtual Media Folders - WordPress plugin for media library organization From 415e6e2a3d6d13a56bee857e5cf9cdfd242b2ee3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Per=20S=C3=B8derlind?= Date: Tue, 21 Jul 2026 12:20:17 +0200 Subject: [PATCH 07/10] Fix typo in README by updating "GitHub Copilot skills" to "AI skills" for consistency in plugin description --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 11df552..45dbe68 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ I'm a Senior Advisor and open source **WordPress developer** from Norway, focused on **plugin development**, **AI integrations for WordPress**, **WordPress Multisite** solutions, and **developer tooling** for GitHub Copilot and VS Code. -I build and maintain popular open source WordPress plugins including [WP Loupe](https://github.com/soderlind/wp-loupe) (fast, typo-tolerant search), [Virtual Media Folders](https://github.com/soderlind/virtual-media-folders) (media library organization), and [Super Admin All Sites Menu](https://github.com/soderlind/super-admin-all-sites-menu) (multisite management), alongside a growing collection of AI-powered plugins, VS Code extensions, and GitHub Copilot skills. +I build and maintain popular open source WordPress plugins including [WP Loupe](https://github.com/soderlind/wp-loupe) (fast, typo-tolerant search), [Virtual Media Folders](https://github.com/soderlind/virtual-media-folders) (media library organization), and [Super Admin All Sites Menu](https://github.com/soderlind/super-admin-all-sites-menu) (multisite management), alongside a growing collection of AI-powered plugins, VS Code extensions, and AI skills. - 🌐 Website: [soderlind.no](https://soderlind.no) - 🧩 Plugins on [WordPress.org](https://profiles.wordpress.org/pers/) and [GitHub](https://github.com/soderlind?tab=repositories) From ef9137838c701a65ea984f1a25e78f5d44fbc32b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Per=20S=C3=B8derlind?= Date: Tue, 21 Jul 2026 19:50:33 +0200 Subject: [PATCH 08/10] Add description for Cache Tags for Cloudflare plugin in repo.json to clarify functionality --- repo.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/repo.json b/repo.json index 5957403..95b4f4e 100644 --- a/repo.json +++ b/repo.json @@ -199,7 +199,7 @@ { "url": "https://github.com/soderlind/cache-tags-for-cloudflare", "title": "Cache Tags for Cloudflare", - "description": "" + "description": "

Precise Cloudflare cache purging for WordPress: adds Cache-Tag headers and purges only affected posts, pages, and terms.

Also available on WordPress.org.

" } ] } From 6f463a6c7cb4b1f1491f6a7614a9f7291fb686d4 Mon Sep 17 00:00:00 2001 From: github-actions Date: Tue, 21 Jul 2026 17:50:59 +0000 Subject: [PATCH 09/10] Update README plugin listing --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 45dbe68..afc7e2d 100644 --- a/README.md +++ b/README.md @@ -253,7 +253,7 @@ Use WordPress Customizer to add JavaScript **Cache Tags for Cloudflare** ⭐ 1 -Precise Cloudflare cache purging for WordPress: adds Cache-Tag headers and purges only affected posts, pages, and terms. +

Precise Cloudflare cache purging for WordPress: adds Cache-Tag headers and purges only affected posts, pages, and terms.

Also available on WordPress.org.

From 8b59c5b88647866cace5f556b5c02d91549972bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Per=20S=C3=B8derlind?= Date: Tue, 21 Jul 2026 20:19:18 +0200 Subject: [PATCH 10/10] Update focus areas in README to include IaC and DevSecOps --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index afc7e2d..f41c621 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ I build and maintain popular open source WordPress plugins including [WP Loupe]( - 🌐 Website: [soderlind.no](https://soderlind.no) - 🧩 Plugins on [WordPress.org](https://profiles.wordpress.org/pers/) and [GitHub](https://github.com/soderlind?tab=repositories) -- 🛠️ Focus: WordPress, PHP, JavaScript, AI integration, GitHub Copilot, GitHub Actions +- 🛠️ Focus: WordPress, PHP, JavaScript, AI integration, GitHub Copilot, GitHub Actions, IaC, DevSecOps ## WordPress Plugins