wp-strauss-namespace-prefixing

wp-strauss-namespace-prefixing is a skill for Claude Code, Codex from Lonsdale201/wp-agent-skills. It costs 211 tokens per session (2,920 once invoked), scanned A, original, MIT.

A guide to isolating Composer libraries bundled inside a WordPress plugin. Composer manages PHP packages, and namespace prefixing gives each plugin's bundled classes unique names.

In plain words
What is it for?
Use it when packaging runtime dependencies such as HTTP clients, SDKs, loggers, or parsers, and when configuring Strauss for the release build.
Why use it?
WordPress runs active plugins in one PHP process, so two plugins can load different versions of the same library and cause errors or unexpected behavior. This approach prevents those library versions from colliding.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Needs its repository: it runs a file that does not travel with it, so clone the repository first. The line is "sh -c 'test -f ./bin/strauss.phar || curl -o bin/strauss.phar -L -C - https://github.com/BrianHenryIE/strauss/releases/latest/download/strauss.phar'",.

Good fit Use it when packaging runtime dependencies such as HTTP clients, SDKs, loggers, or parsers, and when configuring Strauss for the release build.

Compare 6 skills from other repositories ↓
Install

Getting it into your agent

It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.

Clone the repo
git clone --depth 1 https://github.com/Lonsdale201/wp-agent-skills
agentmods
npx agentmods add skills/lonsdale201/wp-agent-skills/wp-strauss-namespace-prefixing

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for wp-strauss-namespace-prefixing

README.md
[![agentmods](https://agentmods.dev/badge/skills/lonsdale201/wp-agent-skills/wp-strauss-namespace-prefixing/github.svg)](https://agentmods.dev/skills/lonsdale201/wp-agent-skills/wp-strauss-namespace-prefixing)
Your own site
<a href="https://agentmods.dev/skills/lonsdale201/wp-agent-skills/wp-strauss-namespace-prefixing"><img src="https://agentmods.dev/badge/skills/lonsdale201/wp-agent-skills/wp-strauss-namespace-prefixing/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for wp-strauss-namespace-prefixing

Your own site · 80×15
<a href="https://agentmods.dev/skills/lonsdale201/wp-agent-skills/wp-strauss-namespace-prefixing"><img src="https://agentmods.dev/badge/skills/lonsdale201/wp-agent-skills/wp-strauss-namespace-prefixing.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 211 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,920 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00211 $0.02920
Opus 5 $0.00105 $0.01460
Sonnet 5 $0.00042 $0.00584
Haiku 4.5 $0.00021 $0.00292

Measured 12d ago against content hash 6a3622b4dccd, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-11, from the pricing page.

Security

Grade A, and why

wp-strauss-namespace-prefixing scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

"sh -c 'test -f ./bin/strauss.phar || curl -o bin/strauss.phar -L -C - https://github.com/BrianHenryIE/strauss/releases/latest/download/strauss.phar'",
dev-tooling/wp-strauss-namespace-prefixing/SKILL.md · 180 lines

How it starts

The opening of the file, as written. The whole thing — 180 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Strauss: prefix bundled Composer dependencies

WordPress loads every active plugin into one PHP process, and for any given class name, whichever plugin's Composer autoloader registers first wins. If your plugin bundles Guzzle 7 and another plugin bundles Guzzle 6, one of you silently runs the other's version — best case a subtle bug, worst case a fatal. Strauss solves this by copying your runtime dependencies into vendor-prefixed/ and rewriting their namespaces, classnames, and constants so they are unique to your plugin (GuzzleHttp\Client becomes My_Plugin\GuzzleHttp\Client). This skill wires Strauss into the Composer lifecycle and the release build. It is about bundling isolation, not autoloading your own plugin code.

When to use this skill

  • A distributed plugin ships any Composer runtime dependency (require, not require-dev) — HTTP clients, SDKs, loggers, parsers.
  • Two plugins fatal or misbehave together with "Cannot redeclare class", wrong-version method signatures, or Uncaught Error: Call to undefined method on a vendor class.
  • composer.json contains extra.strauss or extra.mozart (reviewing or extending an existing setup).
  • Migrating off Mozart (Strauss began as a Mozart fork and reads the Mozart config for a seamless migration).
  • Setting up the release/CI build for a plugin whose vendor/ is gitignored.

The upstream-recommended install is the phar, downloaded on demand and run from composer scripts — not composer require --dev brianhenryie/strauss. The phar keeps Strauss's own dependency tree (composer/composer, symfony/console, nikic/php-parser, monolog, …) out of your dev autoloader, where it could conflict with your own dev tools.

Create bin/ (with a .gitkeep), add bin/strauss.phar to .gitignore, then:

"scripts": {
    "prefix-namespaces": [
        "sh -c 'test -f ./bin/strauss.phar || curl -o bin/strauss.phar -L -C - https://github.com/BrianHenryIE/strauss/releases/latest/download/strauss.phar'",
        "@php bin/strauss.phar",
        "@composer dump-autoload"
    ],
    "post-install-cmd": [
        "@prefix-namespaces"
    ],
    "post-update-cmd": [
        "@prefix-namespaces"
    ],
    "post-autoload-dump": [
        "@php bin/strauss.phar include-autoloader"
    ]
}

Read the full file on GitHub · 180 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 12d ago First seen · 180 lines · 211 tokens per session scan A 6a3622b4dccd

Subscribe to this mod's changes

wp-strauss-namespace-prefixing is a skill published in the GitHub repository Lonsdale201/wp-agent-skills (22 stars, last pushed yesterday), licensed MIT. It adds 211 tokens to every session and 2,920 once invoked, about $0.0011 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

mvc-expert

Expert guidelines to refactor legacy PHP codebases into clean, modern, and scalable MVC-structured projects / Pedoman ahli untuk merefaktor codebase PHP lama menjadi proyek terstruktur MVC yang bersih, modern, dan skalabel.

roedyrustam/vibes-plug · 51 tokens

php-laravel

Modern PHP 8.4 and Laravel patterns: architecture, Eloquent, migrations, queues, testing. Use when working with Laravel, Eloquent, Blade, artisan, or building/testing a framework-based PHP app. Not for php-src internals, standalone PHP libraries, or general PHP language discussion.

iliaal/ai-skills · 65 tokens

laravel-engineering

Laravel implementation discipline for tracing context, reusing present contracts, keeping code simple, preserving failures, and verifying the changed critical path. Use when implementing, refactoring, debugging or reviewing Laravel code where callers, configuration, data flow or proof of correctness may be unclear.

Foysal50x/skills · 58 tokens

webman

Expert skill for the webman framework (a long-lived, in-memory PHP framework based on workerman). Covers routing, controllers, middleware, database/Redis, custom processes, timers, coroutines (v2), plugin development, and guarding against memory leaks and cross-request state pollution under the resident process model.…

zjkal/webman-skill · 111 tokens

php-codeigniter-patterns

Guides CodeIgniter 4 application architecture — Controllers, Models (Query Builder, not an ORM), Entities, the Validation library, Filters (CI4's middleware equivalent), and Services. Use when building a CI4 controller or route, working with a CI4 Model or Entity, wiring a Filter to a route group, or adding a custom…

shennawardana23/skillme · 78 tokens

laravel-patterns

Guides Laravel application architecture — controllers, Eloquent, service/action layers, queues, and API resources. Use when building Laravel controllers or routes, working with Eloquent models and relationships, designing API resources, or adding queued jobs, events, or caching to a Laravel app.

shennawardana23/skillme · 60 tokens