bug-fix

bug-fix is a skill for Claude Code from pronskiy/php-src-developer. It costs 113 tokens per session (3,473 once invoked), scanned A, original, MIT.

A workflow step for finding the cause of a PHP bug and implementing a fix in php-src, the source repository for the PHP language. It uses the recorded reproduction and updates the bug's SPEC.md plan and status.

In plain words
What is it for?
Use it after a bug has been reproduced to analyze the root cause, plan file-level changes, edit PHP's C source, rebuild PHP, and make the new .phpt regression test pass.
Why use it?
It connects the failing test to a specific C function and file, then records the intended and completed changes. This reduces the risk of patching symptoms without confirming the cause.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin.

Part of the php-core-developer plugin — 9 skills, 1 agent shipped together

Good fit Use it after a bug has been reproduced to analyze the root cause, plan file-level changes, edit PHP's C source, rebuild PHP, and make the new .phpt regression test pass.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/pronskiy/php-src-developer/bug-fix
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add pronskiy/php-src-developer --skill bug-fix
Clone the repo
git clone --depth 1 https://github.com/pronskiy/php-src-developer

Made for: Claude Code.

Or install php-core-developer, the plugin that ships this one along with the rest of its 9 skills, 1 agent.

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 bug-fix

README.md
[![agentmods](https://agentmods.dev/badge/skills/pronskiy/php-src-developer/bug-fix/github.svg)](https://agentmods.dev/skills/pronskiy/php-src-developer/bug-fix)
Your own site
<a href="https://agentmods.dev/skills/pronskiy/php-src-developer/bug-fix"><img src="https://agentmods.dev/badge/skills/pronskiy/php-src-developer/bug-fix/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 bug-fix

Your own site · 80×15
<a href="https://agentmods.dev/skills/pronskiy/php-src-developer/bug-fix"><img src="https://agentmods.dev/badge/skills/pronskiy/php-src-developer/bug-fix.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 113 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,473 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
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.00113 $0.03473
Opus 5.5 $0.00045 $0.01389
Sonnet 5.5 $0.00023 $0.00695
Haiku 4.5 $0.00011 $0.00347

Measured 1mo ago against content hash c8ad33d01529, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

bug-fix scanned grade A with 0 findings 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 1mo 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.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

plugins/php-core-developer/skills/bug-fix/SKILL.md · 268 lines

How it starts

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

bug-fix

Third step of the bug-fix flow. Owns two phases: Analysis & Plan and Implementation.

Inputs

  1. SPEC.md in the task directory resolved per _shared/task-dir.md (env var → .current → cwd), type: bug, Reproduction phase done.
  2. $PHP_SRC_DIR with built sapi/cli/php.
  3. The failing .phpt recorded under the Reproduction phase steps.

What it produces

  • C-code changes under $PHP_SRC_DIR/{Zend,main,ext,sapi,...} as required.
  • Updated SPEC.md: Analysis & Plan and Implementation phases populated and done.
  • A rebuilt sapi/cli/php and a passing new .phpt.

Phases owned

Analysis & Plan

Steps:

  • root-cause — pin the offending function / file / line, write a paragraph explaining the mechanism. Cite specific paths.
  • plan-1, plan-2, … — one step per intended file-level change. Each names a concrete file + the change in 1–2 sentences.

Post-guardrail: every plan step references a concrete file path.

Implementation

Steps:

  • impl-1, impl-2, … — one per plan-N. Records what was actually changed (path:line, brief diff summary).

Post-guardrails:

  • make -j$(nproc) exits 0
  • sapi/cli/php run-tests.php <new-test> PASSES

Workflow

1. Pre-guardrails

  • SPEC.md type: bug, Reproduction phase done, new .phpt recorded.
  • Refuse if any of the above is missing; point the user at /bug-reproduce-test.
  • Research phase soft-check: if Research phase exists with status todo, print one warning line and proceed:
    ⚠ Research phase still todo. Run /research first for prior-art (or mark it `skipped` in SPEC.md).
    
    done, skipped, or blocked → no warning.

2. Locate the root cause

Consult the Research phase first if it is done. Often it has already pinned the regression commit (git-log step) or surfaced a maintainers' discussion that names the offending function. Cite the relevant Research finding in the root-cause step body — Per Research's git-log step, commit a1b2c3d is the regression source: it added the BOTH branch but missed the USE_KEY branch.

Read the full file on GitHub · 268 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. 1mo ago First seen · 268 lines · 113 tokens per session scan A c8ad33d01529

Subscribe to this mod's changes

bug-fix is a skill published in the GitHub repository pronskiy/php-src-developer (8 stars, last pushed 4mo ago), licensed MIT. It adds 113 tokens to every session and 3,473 once invoked, about $0.0005 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

sentry-php-sdk

Full Sentry SDK setup for PHP. Use when asked to "add Sentry to PHP", "install sentry/sentry", "setup Sentry in PHP", or configure error monitoring, tracing, profiling, logging, metrics, crons, or AI monitoring for PHP applications. Supports plain PHP, Laravel, and Symfony.

getsentry/sentry-for-ai · 71 tokens

php-quality-tooling

Use when setting up PHPStan, Rector, or PHP-CS-Fixer on a non-Laravel PHP project, incl. CI wiring. Do NOT use for Laravel (Pint/Larastan), tests, or syntax.

fusengine/agents · 51 tokens

bug-root-cause-finder

Root cause analysis methods for PHP bugs. Provides 5 Whys technique, fault tree analysis, git bisect guidance, and stack trace parsing.

dykyi-roman/awesome-claude-code · 36 tokens

wp-phpstan

Use when configuring, running, or fixing PHPStan static analysis in WordPress projects (plugins/themes/sites): phpstan.neon setup, baselines, WordPress-specific typing, and handling third-party plugin classes.

WordPress/agent-skills · 47 tokens

wp-phpstan-static-analysis

Run PHPStan static analysis on a WordPress plugin or theme using szepeviktor/phpstan-wordpress. Covers the composer dev-dependencies and what is pulled transitively (phpstan/phpstan ^2.0, php-stubs/wordpress-stubs), the optional phpstan/extension-installer that auto-registers the extension, the phpstan.neon.dist…

Lonsdale201/wp-agent-skills · 227 tokens

check-cascading-failures

Detects cascading failure risks in PHP systems. Identifies shared resources, unbounded queues, missing backpressure, thread pool exhaustion, and failure propagation paths.

dykyi-roman/awesome-claude-code · 39 tokens