Oerschema Integration Finder
haxtheweb/haxcms-php
READ-ONLY diagnostic: scan HAX webcomponents, themes, CMS backends (PHP/NodeJS HAXcms), the VitePress plugin, and the Google Apps Script add-on for code surfaces that render or consume pedagogical…
Verify Instructor behavior through the repository's ./examples/ suite in pass, live record, or hermetic replay mode.
$ npx skills add cognesy/instructor-php --skill examples-qa -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install cognesy/instructor-php examples-qa --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/cognesy/instructor-php.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/qa/examples-qa .claude/skills/examples-qa && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "examples-qa" agent skill from https://github.com/cognesy/instructor-php/tree/main/skills/qa/examples-qa into .claude/skills/examples-qa/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "examples-qa", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/cognesy/instructor-php/tree/main/skills/qa/examples-qaType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add cognesy/instructor-php --skill examples-qa -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install cognesy/instructor-php examples-qa --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/cognesy/instructor-php.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/qa/examples-qa .agents/skills/examples-qa && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "examples-qa" agent skill from https://github.com/cognesy/instructor-php/tree/main/skills/qa/examples-qa into .agents/skills/examples-qa/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "examples-qa", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add cognesy/instructor-php --skill examples-qa -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install cognesy/instructor-php examples-qa --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/cognesy/instructor-php.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/qa/examples-qa .cursor/skills/examples-qa && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "examples-qa" agent skill from https://github.com/cognesy/instructor-php/tree/main/skills/qa/examples-qa into .cursor/skills/examples-qa/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "examples-qa", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/cognesy/instructor-php.git --path skills/qa/examples-qa--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add cognesy/instructor-php --skill examples-qa -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install cognesy/instructor-php examples-qa --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/cognesy/instructor-php.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/qa/examples-qa .gemini/skills/examples-qa && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "examples-qa" agent skill from https://github.com/cognesy/instructor-php/tree/main/skills/qa/examples-qa into .gemini/skills/examples-qa/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "examples-qa", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install cognesy/instructor-php examples-qaInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add cognesy/instructor-php --skill examples-qa -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/cognesy/instructor-php.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/qa/examples-qa .github/skills/examples-qa && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "examples-qa" agent skill from https://github.com/cognesy/instructor-php/tree/main/skills/qa/examples-qa into .github/skills/examples-qa/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "examples-qa", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add cognesy/instructor-php --skill examples-qa -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install cognesy/instructor-php examples-qa --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/cognesy/instructor-php.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/qa/examples-qa .opencode/skills/examples-qa && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "examples-qa" agent skill from https://github.com/cognesy/instructor-php/tree/main/skills/qa/examples-qa into .opencode/skills/examples-qa/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "examples-qa", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
examples-qaVerify Instructor behavior through the repository's ./examples/ suite in pass, live record, or hermetic replay mode.
Examples QA is an agent skill from cognesy/instructor-php. Verify Instructor behavior through the repository's ./examples/ suite in pass, live record, or hermetic replay mode. Use when running selected examples or the corpus, capturing and reusing recorded LLM HTTP responses, diagnosing hub results, or distinguishing real errors, assertion failures, skipped examples, and live-only flaky outcomes.
Its SKILL.md is about 3.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `agents/openai.yaml`).
It works with PHP. The repository describes itself as: Unified LLM API, structured data outputs with LLMs, and agent SDK - in PHP. The licence is MIT.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 4a5a54d. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
phpjustFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Examples QA loads about 3.2k tokens when it runs. Until then it costs about 88 tokens; SKILL.md has 1,489 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from cognesy/instructor-php at commit 4a5a54d, republished under its MIT licence (© cognesy). 1,489 words, ~3,179 tokens.
.claude/skills/examples-qa/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Use the examples suite as an end-to-end check of Instructor behavior, but keep the execution mode explicit. A live run tests provider and transport integration; a record run creates reusable HTTP fixtures; a replay run tests the current code against fixed provider responses without spending tokens or contacting a network.
Run commands from the repository root. Discover the target and its canonical selector first:
php bin/instructor-hub list
php bin/instructor-hub show getters_and_settersThe hub accepts a front-matter docname, numeric index, short ID such as xe4bb,
or example path. Read the target's run.php before diagnosing it. Check its tags
and whether it builds an HTTP client implicitly or supplies a custom client/mock.
Treat these sources as authoritative when the prose documentation differs:
just/examples.just — preferred record/replay command wrappersexamples/boot.php and examples/_support/HttpRecordingBoot.php — mode and
recording-directory behaviorpackages/hub/src/Commands/EnhancedRunAllExamples.php — corpus filtering and
OK/ASSERT/ERROR/FLAKY classificationpackages/hub/src/Services/ExampleRepository.php — selector resolutionQUALITY.md — repository QA policy and operational caveatsUse the smallest mode that answers the question:
| Mode | Command shape | What it proves |
|---|---|---|
| pass | INSTRUCTOR_EXAMPLES_HTTP=pass ... or no mode | Normal behavior; no record/replay middleware is attached. LLM examples use the live provider. |
| record | just examples-record <selector> | Live provider call succeeds and the response can be persisted as a sanitized cassette. |
| replay | just examples-replay <selector> | Current code consumes the fixed response correctly, with no network or provider credentials required. |
Use pass mode for a normal baseline or a live provider smoke check:
INSTRUCTOR_EXAMPLES_HTTP=pass \
php bin/instructor-hub run getters_and_settersOmitting INSTRUCTOR_EXAMPLES_HTTP has the same effect because pass is the
default. Pass mode attaches no ambient middleware. LLM examples therefore need
their normal provider keys and network access; mock-only examples remain local.
For a code change, prefer this sequence:
Do not treat a replay pass as proof that provider authentication, DNS, TLS, rate limits, or current provider behavior work. Do not treat a live LLM failure as a product regression until it has been reproduced with replay or an appropriate unit/integration test.
The preferred scratch-fixture workflow is:
just examples-record getters_and_settersThe wrapper sets:
INSTRUCTOR_EXAMPLES_HTTP=record
INSTRUCTOR_EXAMPLES_RECORDINGS_DIR=examples-recordingsThe live response is stored under a namespaced directory such as:
examples-recordings/A01_Basics/BasicGetSet/
├── cassette.json
└── interactions/000001/
├── interaction.json
└── response.body # or response.chunks.ndjsonRecord the whole corpus only deliberately; it requires keys for every provider used and can be expensive:
just examples-record-all --limit=20
just examples-record-all --filter=errorsTo create fixtures in each example's co-located recordings/ directory, omit the
recordings-directory override:
INSTRUCTOR_EXAMPLES_HTTP=record \
php bin/instructor-hub run getters_and_settersThe direct hub sugar is equivalent and is useful when keeping the mode visible at the invocation site:
php bin/instructor-hub run getters_and_setters --record
php bin/instructor-hub all --record --limit=20The bin/instructor-hub launcher consumes --record, --replay, and
--recordings-dir=<dir> before dispatching the hub command. If using a custom
directory, use the same directory for record and replay:
php bin/instructor-hub run getters_and_setters \
--record --recordings-dir=examples-recordingsRecording is live. Confirm the relevant provider key exists, expect token/network cost, and do not record broad personal or production data. Common credentials are sanitized before persistence, but prompts, model outputs, PII, and provider-specific secrets still require review.
Streaming recordings are published only after the stream completes naturally. An interrupted or failed stream must not be treated as a valid fixture.
Replay from the same root used for recording:
just examples-replay getters_and_settersOr use the direct form:
php bin/instructor-hub run getters_and_setters --replay \
--recordings-dir=examples-recordingsFor keyless replay through a raw example path:
INSTRUCTOR_EXAMPLES_HTTP=replay \
INSTRUCTOR_EXAMPLES_RECORDINGS_DIR=examples-recordings \
php examples/A01_Basics/BasicGetSet/run.phpReplay is hermetic by default for requests that enter the configured ambient
middleware. It is not a blanket network sandbox: examples that construct their
own client can bypass the hook and need the no-replay treatment or separate
inspection. For intercepted requests, the examples boot hook provisions dummy
provider keys only so configuration resolution succeeds; the recorded response
should be served before any provider driver can authenticate or open a network
connection. A missing recording, request mismatch, exhausted ordered session,
corrupt payload, or unsupported cassette version is a diagnostic failure, not a
reason to fall back to the live provider.
Replay the corpus with optional controls:
just examples-replay-all --limit=20
just examples-replay-all --filter=errors
php bin/instructor-hub all --replay --dry-run
php bin/instructor-hub all --replay --filter=errors--dry-run verifies the selected set without executing it. Use --filter=errors
after a tracked run to focus on previously failing examples; use --force when the
hub's status cache would otherwise omit an example.
The ambient hook in examples/boot.php attaches middleware through
HttpClientDefaults only when the example's runtime resolves an implicit HTTP
client. Examples that construct their own client, use a mock driver, or are marked
no-replay may not exercise the cassette path. Inspect the example before calling
an unchanged result evidence for record/replay.
Corpus filtering is intentional:
skip: true examples are never selected.broken tag skips known-broken examples in both modes.no-replay tag skips examples that cannot be recorded/replayed when replay
mode is active; the hub logs the skipped set.flaky tag describes live LLM nondeterminism. It does not make a replay
failure acceptable.No individual example needs to be edited to enable the shared mode switch. Avoid bulk-editing the example corpus just to add record/replay setup.
For php bin/instructor-hub run, the hub executes one example and reports OK or
ERROR; the detailed cause comes from the example subprocess and its
ExecutionResult. For hub all, EnhancedRunAllExamples prints one row per
example and a summary. Its result categories mean:
| Output | Meaning | Gate effect |
|---|---|---|
OK | The example process completed successfully, including its assertions. | Pass. |
ASSERT | The example's assertion/expected-behavior check failed. | Real failure; inspect the assertion and current response. |
ERROR | The process failed for a non-assertion reason: exception, missing cassette, provider/transport failure, syntax/runtime error, or infrastructure problem. | Real failure. |
FLAKY | A live-mode example tagged flaky failed and the hub tolerated it. | Does not fail the live corpus gate, but is not proof of correctness. |
| skipped | The example was filtered by skip, broken, or replay-only no-replay. | Not evidence of a pass. |
The flaky exception applies only to live mode. In replay mode the response is
fixed, so a failure from a flaky-tagged example is counted as an error. This is
the mechanism that turns a recorded flaky scenario into a deterministic regression
check.
The all-examples exit code fails when real errors remain; tolerated live FLAKY
rows do not fail it. The final summary and the per-example diagnostic line are more
authoritative than a process that merely printed some expected-looking output.
Classify the failure before changing code:
RecordingNotFoundException: the selected example has no fixture under the
supplied root, or the request changed enough not to match. Confirm the exact
root, namespace, selector, and whether the recording was made in stream mode.CassetteMismatchException: the next ordered interaction does not match the
current method, URL semantics, body, stream mode, or response-shaping headers.
Re-record only after deciding that the request change is intentional.CassetteExhaustedException: the example made more calls than the recorded
session. Investigate changed retry/loop behavior; do not enable live fallback.CassetteCorruptException or unsupported-version errors: the fixture is damaged
or incompatible. Restore/re-record/migrate it; do not reinterpret the bytes or
silently call the network.examples/boot.php or the invocation did not propagate replay mode. Verify the
entrypoint and environment before changing provider configuration.An ASSERT result means the example ran far enough to make its own correctness
check and that check failed. Compare the current implementation with the fixed
replayed response, then inspect the example's assertion and the relevant package
tests. An ERROR with a stack trace or subprocess error is a runtime/infrastructure
problem first, not automatically an Instructor semantic regression.
Use the hub's tracked status after an all run:
php bin/instructor-hub status
php bin/instructor-hub status --detailed
php bin/instructor-hub status --errors-only
php bin/instructor-hub errors --list
php bin/instructor-hub show getters_and_settersUse errors --run to re-run tracked failures only after choosing the intended
mode, and errors --clear only when intentionally resetting the diagnostic history.
The hub stores execution summaries and recent errors; those records explain what
the hub observed, while the cassette files and example subprocess output explain
whether the cause was request matching, provider transport, or Instructor logic.
For a suspected library regression, reduce the diagnosis to the narrowest evidence:
Do not convert an ERROR to a tolerated tag merely to make the gate green. Add or
remove flaky, broken, and no-replay only when the example's documented behavior
actually meets the tag's meaning and the change is reviewed.
© cognesy, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in skills/qa/examples-qa of cognesy/instructor-php.
Open the folder on GitHubat commit 4a5a54d
Examples QA next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Examples QA this skillcognesy/instructor-php | 328 | — | ~3.2k | Automated safety check: Pass | MIT | |
| Oerschema Integration Finderhaxtheweb/haxcms-php | 130 | — | ~4.1k | Automated safety check: Pass | MIT | |
| Psr Autoloading Knowledgedykyi-roman/awesome-claude-code | 103 | — | ~2.1k | Automated safety check: Pass | MIT | |
| Psr Overview Knowledgedykyi-roman/awesome-claude-code | 103 | — | ~2.7k | Automated safety check: Pass | MIT | |
| Outbox Pattern Knowledgedykyi-roman/awesome-claude-code | 103 | — | ~2.9k | Automated safety check: Pass | MIT | |
| Stability Patterns Knowledgedykyi-roman/awesome-claude-code | 103 | — | ~4.3k | Automated safety check: Pass | MIT |
haxtheweb/haxcms-php
READ-ONLY diagnostic: scan HAX webcomponents, themes, CMS backends (PHP/NodeJS HAXcms), the VitePress plugin, and the Google Apps Script add-on for code surfaces that render or consume pedagogical…
dykyi-roman/awesome-claude-code
PSR-4 autoloading standard knowledge base for PHP 8.4 projects.
dykyi-roman/awesome-claude-code
PHP Standards Recommendations (PSR) overview knowledge base.
dykyi-roman/awesome-claude-code
Outbox Pattern knowledge base. An agent skill from dykyi-roman/awesome-claude-code.
dykyi-roman/awesome-claude-code
Stability Patterns knowledge base. An agent skill from dykyi-roman/awesome-claude-code.
coollabsio/coolify
A skill your agent uses whenever the user mentions Horizon by name in a Laravel context.
cognesy/instructor-php
Prepare and execute a new InstructorPHP version release. An agent skill from cognesy/instructor-php.
cognesy/instructor-php
Run multi-dimensional quality assurance for InstructorPHP. An agent skill from cognesy/instructor-php.
Works with
Verify Instructor behavior through the repository's ./examples/ suite in pass, live record, or hermetic replay mode. Examples QA is an agent skill from cognesy/instructor-php./examples/ suite in pass, live record, or hermetic replay mode.
Examples QA fits situations like: running selected examples; capturing and reusing recorded LLM HTTP responses; diagnosing hub results; distinguishing real errors.
Run `npx skills add cognesy/instructor-php --skill examples-qa -a claude-code`. Or copy the skill folder (skills/qa/examples-qa in cognesy/instructor-php) into .claude/skills/examples-qa in your project. Claude Code loads it when a task matches its description.
Run `npx skills add cognesy/instructor-php --skill examples-qa -a codex`. Or copy the skill folder (skills/qa/examples-qa in cognesy/instructor-php) into .agents/skills/examples-qa in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add cognesy/instructor-php --skill examples-qa -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/examples-qa, .gemini/skills/examples-qa, .github/skills/examples-qa and .opencode/skills/examples-qa in your project.
Going by SKILL.md and its folder, Examples QA needs the command-line tools its instructions call (php and just).
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Examples QA is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.2k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Examples QA: Oerschema Integration Finder (haxtheweb/haxcms-php, 130 stars), Psr Autoloading Knowledge (dykyi-roman/awesome-claude-code, 103 stars), Psr Overview Knowledge (dykyi-roman/awesome-claude-code, 103 stars) and Outbox Pattern Knowledge (dykyi-roman/awesome-claude-code, 103 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
cognesy (a GitHub organization) maintains it in cognesy/instructor-php, which has 328 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on October 6, 2026.
Source: cognesy/instructor-php on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.