Skip to content
Back to skills

Phpunit Test Reconciling

ASecurity

Internal sub-skill. Do not auto-activate. Use only when explicitly invoked by name by another skill or agent.

  • 43 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 4, 2026
ai-agentsgophp

Works with

  • mcp

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned September 21, 2026

npx -y skills add shopwareLabs/ai-coding-tools --skill phpunit-test-reconciling --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Phpunit Test Reconciling?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Phpunit Test Reconciling
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/shopwarelabs-phpunit-test-reconciling/badge)](https://www.skillsdirectory.com/skills/shopwarelabs-phpunit-test-reconciling)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: phpunit-test-reconciling
version: 5.2.1
description: Internal sub-skill. Do not auto-activate. Use only when explicitly invoked by name by another skill or agent.
user-invocable: false
allowed-tools: Read, Glob, Grep, mcp__plugin_test-writing_test-rules__get_rules
---

# PHPUnit Test Review Reconciling

Re-evaluate review findings against incoming critique and emit a binding revised stance, for any test type (unit, integration, or migration). Run in one of two modes: `peer` (reconcile against co-reviewers' findings) or `adversary` (reconcile against adversary challenges). Evidence — the rule's detection algorithm applied to the code — decides every disposition.

```dot
digraph reconcile {
  "Reconcile request" [shape=doublecircle];
  "mode?" [shape=diamond];
  "peer: load own + peer findings on shared files" [shape=box];
  "adversary: load own stance + adversary challenges" [shape=box];
  "Per contested finding: load detection algorithm (inline RULES block by ID if rules set, else get_rules), apply to code" [shape=box];
  "Evidence decides disposition — never social pressure" [shape=box];
  "Emit binding revised stance" [shape=doublecircle];

  "Reconcile request" -> "mode?";
  "mode?" -> "peer: load own + peer findings on shared files" [label="peer"];
  "mode?" -> "adversary: load own stance + adversary challenges" [label="adversary"];
  "peer: load own + peer findings on shared files" -> "Per contested finding: load detection algorithm (inline RULES block by ID if rules set, else get_rules), apply to code";
  "adversary: load own stance + adversary challenges" -> "Per contested finding: load detection algorithm (inline RULES block by ID if rules set, else get_rules), apply to code";
  "Per contested finding: load detection algorithm (inline RULES block by ID if rules set, else get_rules), apply to code" -> "Evidence decides disposition — never social pressure";
  "Evidence decides disposition — never social pressure" -> "Emit binding revised stance";
}
```

## Input

The spawn prompt provides:

- `mode` — `peer` or `adversary`
- `scope` per file — list of method names, or `full class`. Reconcile only findings within the scoped methods; discard incoming items targeting out-of-scope code.
- `{rules}` (optional) — the pre-rendered rule catalog as text, provided in your prompt. When set, find contested rules by ID in that text; it holds every rule, so **NEVER** read, open, search, or locate a rule file by any means — no `Read`/`Grep`/`Glob`, no `get_rules` — not even to resolve a missing ID. Reading the cited code is unaffected. When omitted, rules load via `get_rules`.

Mode `peer` additionally provides:

- `own_findings` — your findings from the prior wave, per file
- `peer_findings` — co-reviewers' findings on the same files, per file

Mode `adversary` additionally provides:

- `own_stance` — your current binding stance, per file
- `adversary_challenges` — challenges to consensus, resurrections, adversary-introduced findings, and endorsements, per file

## Core Procedure

Load references/reconciliation-rules.md. Apply it to every disposition in both modes.

For each finding under contention:

1. Load the detection algorithm: when `{rules}` is set, find the rule by ID in that inline text; otherwise call `mcp__plugin_test-writing_test-rules__get_rules(ids={rule_id})`.
2. Apply the detection algorithm against the actual code at the cited location
3. Decide the disposition on evidence alone (see mode sections below)

## Mode: peer

Compare own findings against peer findings per file:

- **Shared** (you and a peer both reported) — endorse.
- **Peer-only** (peer reported, you did not) — challenge with a detection-algorithm citation, or concede. Do not add it to your own findings (no new findings in peer mode).
- **Own-only** (you reported, peer did not) — maintain with code evidence, or withdraw if a peer's challenge holds.

Output binding stance per file: `findings` you stand by, and `withdrawn` with reasons. See references/output-format.md.

## Mode: adversary

Evaluate every adversary item per file:

- **Challenge to consensus** — defend with counter-evidence, or withdraw if the adversary's evidence holds.
- **Resurrection** of a finding withdrawn earlier — re-adopt if the adversary's evidence beats your original concession reason; otherwise maintain withdrawal with a strengthened reason.
- **Adversary-introduced finding** — challenge or concede by the same standard as a peer finding. Adopting it is allowed in adversary mode.
- **Endorsement** — no action.

Output binding stance per file with an `adversary_impact` tag on every entry: `findings` (defended | unchanged), `re_adopted` (resurrected), `withdrawn` (overturned), `adopted_new` (introduced). See references/output-format.md.

## Troubleshooting

### MCP Tool Unavailability

If `mcp__plugin_test-writing_test-rules__get_rules` is unavailable, detection algorithms cannot be verified.

- Mode `peer`: concede peer findings you cannot verify; note the limitation in the stance.
- Mode `adversary`: maintain your current positions; note the limitation in the stance.

Files in this skill

  • SKILL.md5 KB
  • references/output-format.md5.2 KB
  • references/reconciliation-rules.md2.4 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.