Pedro Müller's personal Claude Code skills library, distributed as a plugin marketplace. Inspired by obra/superpowers and mattpocock/skills.
The same skills/ library is exposed to three agents via per-agent manifests.
Claude Code (native marketplace):
/plugin marketplace add pmagnomuller/skills
/plugin install skills@pmueller-skills
Codex — reads .codex-plugin/plugin.json.
Cursor — reads .cursor-plugin/plugin.json.
Both Codex and Cursor manifests point skills at the same ./skills/ dir, so a
skill is written once and works everywhere. How each agent picks the plugin up
depends on its own plugin installer/version — check the tool's current docs.
This is a plugin, not dotfiles — you install it, you don't symlink it. Personal shell/editor config lives in a separate dotfiles repo.
This is a personal skills library, not a supported product. Skills may assume tools you don't use (Linear, Home Assistant, specific CLIs) — treat them as templates and adapt as needed.
Credentials stay local. Skills that call APIs read secrets from environment
variables or ~/.config/<skill>/config.json. Never commit .env files; only
.env.example placeholders are in git.
Some energy skills also exist as standalone repos (e.g. ostrom-energy,
omie-energy) and on ClawHub. This catalog
is the multi-agent plugin bundle; standalone repos are for direct install.
.claude-plugin/
marketplace.json # Claude Code catalog — lists the plugin(s), source "./"
plugin.json # Claude Code plugin manifest
.codex-plugin/
plugin.json # Codex manifest (skills -> ./skills/)
.cursor-plugin/
plugin.json # Cursor manifest (skills -> ./skills/)
skills/
<category>/
<skill-name>/
SKILL.md # one skill = one folder with a SKILL.md (shared by all agents)
Skills are discovered recursively and grouped into categories
(energy/, engineering/, productivity/).
| Skill | What it does |
|---|---|
spot-price-optimizer |
Provider-agnostic engine — cheapest window, on/off schedule, battery arbitrage from any price series (or zero-auth aWATTar). |
tibber-energy |
Tibber spot prices, cheapest run-time, consumption anomalies, price-threshold triggers. |
ostrom-energy |
Ostrom day-ahead spot prices, cheapest windows, threshold triggers. |
omie-energy |
Iberian OMIE day-ahead prices for Portugal/Spain (no auth), cheapest windows, PT vs ES compare, threshold triggers. |
rabot-energy |
Rabot Charge dynamic-tariff prices → canonical series + cheapest/schedule. |
grid-carbon-scheduler |
Run loads when the grid is greenest (UK Carbon Intensity, no auth; Electricity Maps multi-region). |
battery-arbitrage |
Optimal home-battery charge/discharge plan + estimated savings from a price series. |
heatpump-load-shift |
Shift heat-pump heating / hot-water reheat into the cheapest hours. |
smart-meter-readings |
Summarize consumption + flag anomalies (CSV/JSON, or Inexogy/Discovergy API). |
| Skill | What it does |
|---|---|
conventional-commit |
Conventional Commits message from the staged diff. |
resolve-review-comments |
Address & resolve every PR review thread, then verify none remain. |
cr-review |
Iterative CodeRabbit CLI review loop on the current diff. |
thorough-code-review |
Full-repo audit — detect stack, baseline linters, fan out parallel agents per module, grouped reports. |
fix-ci |
Autonomously fix a failed GitHub Actions run from a URL/ID. |
sync-docs |
Keep managed markdown docs in sync after code changes. |
drawio |
Generate draw.io diagrams; optional PNG/SVG/PDF export. |
otel-trace-propagation |
Propagate W3C trace context across HTTP + async/CloudEvents with OpenTelemetry. |
bruno-run |
Run a Bruno .bru request and validate the response against its JSON Schema. |
worktree-fanout |
One isolated git worktree per work item for parallel, conflict-free changes. |
benthos-pipeline |
Author, lint, and test a Benthos / Redpanda Connect stream config. |
clickhouse-query |
Guided ClickHouse schema inspection + efficient queries. |
| Skill | What it does |
|---|---|
daily-triage |
Pull assigned Linear issues + your open PRs and propose a ranked daily plan. |
- Copy
skills/example-skill/toskills/<your-skill-name>/. - Edit the frontmatter —
namemust match the folder; writedescriptionas a trigger (Use when ...). - Write the instructions in the body.
- Test in a fresh session, then commit.
Bump version in all four manifests (they must stay in sync):
.claude-plugin/marketplace.json (plugin entry), .claude-plugin/plugin.json,
.codex-plugin/plugin.json, .cursor-plugin/plugin.json, then push. Consumers
run /plugin update.
MIT — see LICENSE.