Plugin Testing
polyipseity/obsidian-terminal
Skill for testing Obsidian plugin features in this repository.
Diagnose a failing TMDb integration-test run — summarise the failure, rank the likely cause, and suggest a concrete fix
$ npx skills add adamayoung/TMDb --skill diagnose-integration-failure -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install adamayoung/TMDb diagnose-integration-failure --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/adamayoung/TMDb.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/diagnose-integration-failure .claude/skills/diagnose-integration-failure && 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 "diagnose-integration-failure" agent skill from https://github.com/adamayoung/TMDb/tree/main/.claude/skills/diagnose-integration-failure into .claude/skills/diagnose-integration-failure/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "diagnose-integration-failure", 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/adamayoung/TMDb/tree/main/.claude/skills/diagnose-integration-failureType 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 adamayoung/TMDb --skill diagnose-integration-failure -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install adamayoung/TMDb diagnose-integration-failure --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/adamayoung/TMDb.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/diagnose-integration-failure .agents/skills/diagnose-integration-failure && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "diagnose-integration-failure" agent skill from https://github.com/adamayoung/TMDb/tree/main/.claude/skills/diagnose-integration-failure into .agents/skills/diagnose-integration-failure/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "diagnose-integration-failure", 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 adamayoung/TMDb --skill diagnose-integration-failure -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install adamayoung/TMDb diagnose-integration-failure --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/adamayoung/TMDb.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/diagnose-integration-failure .cursor/skills/diagnose-integration-failure && 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 "diagnose-integration-failure" agent skill from https://github.com/adamayoung/TMDb/tree/main/.claude/skills/diagnose-integration-failure into .cursor/skills/diagnose-integration-failure/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "diagnose-integration-failure", 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/adamayoung/TMDb.git --path .claude/skills/diagnose-integration-failure--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 adamayoung/TMDb --skill diagnose-integration-failure -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install adamayoung/TMDb diagnose-integration-failure --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/adamayoung/TMDb.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/diagnose-integration-failure .gemini/skills/diagnose-integration-failure && 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 "diagnose-integration-failure" agent skill from https://github.com/adamayoung/TMDb/tree/main/.claude/skills/diagnose-integration-failure into .gemini/skills/diagnose-integration-failure/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "diagnose-integration-failure", 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 adamayoung/TMDb diagnose-integration-failureInstalls 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 adamayoung/TMDb --skill diagnose-integration-failure -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/adamayoung/TMDb.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/diagnose-integration-failure .github/skills/diagnose-integration-failure && 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 "diagnose-integration-failure" agent skill from https://github.com/adamayoung/TMDb/tree/main/.claude/skills/diagnose-integration-failure into .github/skills/diagnose-integration-failure/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "diagnose-integration-failure", 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 adamayoung/TMDb --skill diagnose-integration-failure -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install adamayoung/TMDb diagnose-integration-failure --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/adamayoung/TMDb.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/diagnose-integration-failure .opencode/skills/diagnose-integration-failure && 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 "diagnose-integration-failure" agent skill from https://github.com/adamayoung/TMDb/tree/main/.claude/skills/diagnose-integration-failure into .opencode/skills/diagnose-integration-failure/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "diagnose-integration-failure", 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.
diagnose-integration-failureDiagnose a failing TMDb integration-test run — summarise the failure, rank the likely cause, and suggest a concrete fix
Diagnose Integration Failure is an agent skill from adamayoung/TMDb. Diagnose a failing TMDb integration-test run — summarise the failure, rank the likely cause, and suggest a concrete fix
Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Testing & QA, covering Integration testing. The repository describes itself as: The Movie Database Swift Package. The licence is Apache-2.0.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit a3f1311. 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:
ghjqgitcurlFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
developer.themoviedb.orgFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
TMDB_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Diagnose Integration Failure loads about 2.1k tokens when it runs. Until then it costs about 37 tokens; SKILL.md has 1,221 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 adamayoung/TMDb at commit a3f1311, republished under its Apache-2.0 licence (© adamayoung). 1,221 words, ~2,145 tokens.
.claude/skills/diagnose-integration-failure/SKILL.md (or your agent's skills folder).The TMDb integration tests hit the live TMDb API. The suite runs on three
triggers — pull_request / push (where it gates the change) and
schedule (the weekly live-API canary). Which run failed flips the most
likely cause, so determine the trigger first (step 0):
/watch-pr or /fix-pr-checks.Wrong suite? If a CI check failed instead (lint, markdown, build, or unit tests from
ci.yml), use/diagnose-ci-failure. That one leads with the opposite assumption: a CI failure is almost always caused by the change under review.
Do these by default, without being reminded.
mcp__tmdb__* (CLAUDE.md's standing instruction).observed: line naming the tool called and
the shape that came back. A cause with no observed: line is not
reportable as ranked — demote it and mark it unverified. This is what
makes the rule checkable by the consumer instead of trusting the
diagnostician.observed: line for them; the requirement does not apply.observed: line records the tool and the
shape, never a URL, command, or header carrying TMDB_API_KEY. TMDb takes
api_key as a query item, so a pasted curl leaks it — and this analysis
is published verbatim into an issue on a public repo. Say
mcp__tmdb__movie_details(550) → runtime: Int, present, not the command.integration-failure.yml job
mounts no MCP. There, write observed: unavailable (headless) and mark the
cause unverified — do not fall back to curl, which would put the key
in the text (rule 4). Attended runs have the MCP; use it.Produce a concise markdown analysis with exactly these three sections:
Summary: one or two sentences on what failed — name the failing suite/test where visible.
Likely cause: the most probable root cause, ranked most-likely first —
ranked by the trigger (step 0). Each cause 1 or 2 carries its observed:
line, or is marked unverified:
git diff main...HEAD).
A new/renamed request path or query item, a changed model/CodingKeys, or a
decoder tweak can break a live call. This run is the gate, so the diff is a
prime suspect — but still weigh causes 1–3 below, since the live API can drift
independently of your change.Decodable. Call the endpoint via
mcp__tmdb__* and record what came back (observed:); confirm against the
OpenAPI spec (see step 3) for the documented shape.observed:) — drift is only a fact
once you have seen today's value.timeout-minutes, and a cancelled
(timed-out) run still surfaces as a workflow failure. A truncated log with
no assertion failure, or a run that ran the full 30 minutes, points here.Cite the specific HTTP status codes, error messages, or failing assertions from the log that point to your conclusion.
Suggested fix: the concrete next step — which Swift model or JSON fixture to update for an API change, which integration-test assertion to relax or refresh for drifted data, or (only for case 3) re-run the job / wait out rate limiting / investigate the slow run if it timed out.
Keep it under ~150 words.
Determine the trigger (it sets the cause ranking above). If the caller told
you (e.g. /watch-pr / /fix-pr-checks diagnose a PR run), use that.
Otherwise read it from the run with mcp__github__actions_get method
get_workflow_run (owner/repo from the origin remote, resource_id: <id>) →
event is pull_request, push, or schedule (headless / no MCP:
gh run view <id> --json event,displayTitle). If you can't tell, assume
PR/push when a local diff vs main exists, else scheduled.
Locate the failure log, in this order — use the first that exists:
failure-log.txt in the working
directory, used by the CI alert workflow)..build/last-integration-test.log — written by the /integration-test
skill. If you (or the user) haven't run the tests yet locally, run
/integration-test first, then read this log.origin): mcp__github__actions_list method list_workflow_runs
(resource_id: integration.yml, workflow_runs_filter: { status: completed },
then filter to conclusion == "failure"), and read its log with
mcp__github__get_job_logs (run_id: <id>, failed_only: true,
return_content: true). Headless / no MCP:
gh run list --workflow Integration --status failure --limit 1 then
gh run view <id> --log-failed.Read the failing portion — focus on the assertion failures and error messages, which surface near the end. Read the specific test, model, and fixture files the log points to so your suggested fix names real symbols.
Check the OpenAPI spec when the failure looks like a decode/shape error.
The live spec is the source of truth for the current response shape, but it
is ~3 MB of minified JSON on a single line — NEVER grep, cat, or
Read it whole; that dumps the entire file into context. Extract only the
one endpoint you need with jq (requires jq, which is present in CI and
installable via Homebrew locally; if jq is unavailable, skip this step and
say so):
tmdb-openapi.json in the working directory if present; otherwise
fetch it (best-effort):
curl -fsSL --max-time 30 https://developer.themoviedb.org/openapi/tmdb-api.json -o tmdb-openapi.jsoncomponents.schemas). Find the endpoint, then pull
just its 200-response schema:jq -r '.paths | keys[]' tmdb-openapi.jsonjq '.paths."/3/movie/{movie_id}".get.responses."200".content."application/json".schema' tmdb-openapi.json
(swap in the path + HTTP method for the failing request)… .schema.properties | keys[]jq is unavailable, say so and proceed
without it.Output the analysis. If the caller asked you to write it to a file (e.g.
claude-analysis.md), write the three-section markdown there and nothing
else. Otherwise present it directly in your reply.
© adamayoung, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/diagnose-integration-failure of adamayoung/TMDb.
Open the folder on GitHubat commit a3f1311
Diagnose Integration Failure 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 |
|---|---|---|---|---|---|---|
| Diagnose Integration Failure this skilladamayoung/TMDb | 178 | — | ~2.1k | Automated safety check: Pass | Apache-2.0 | |
| Plugin Testingpolyipseity/obsidian-terminal | 951 | — | ~828 | Automated safety check: Pass | AGPL-3.0 | |
| Create Modulecartography-cncf/cartography | 4.1k | — | ~2.5k | Automated safety check: Pass | Apache-2.0 | |
| Td Integration Testmarcus/td | 251 | — | ~1.2k | Automated safety check: Pass | MIT | |
| Integration E2E Testingshinpr/claude-code-workflows | 694 | — | ~3.5k | Automated safety check: Pass | MIT | |
| JS-in-HTML Testingliaohch3/claude-tap | 3.3k | — | ~924 | Automated safety check: Pass | MIT |
polyipseity/obsidian-terminal
Skill for testing Obsidian plugin features in this repository.
cartography-cncf/cartography
Author a new Cartography intel module end-to-end (entry point, sync GET/TRANSFORM/LOAD/CLEANUP, declarative data model, integration test, schema docs).
marcus/td
Write integration tests for the td-sync admin API using the TestHarness in internal/api/testharnesstest.go.
shinpr/claude-code-workflows
Integration and E2E test design principles, ROI calculation, test skeleton specification, and review criteria.
liaohch3/claude-tap
Tests JavaScript embedded in an HTML file in two layers: pytest checks of the logic ported to Python, and Playwright runs in a real browser for the DOM.
talkincode/toughradius
Write CI-executable acceptance/integration tests for protocol or end-to-end changes (TR-F022).
adamayoung/TMDb
Writes and maintains DocC /// comments for the public API of the TMDb Swift package, following the project's summary patterns and comment structure.
adamayoung/TMDb
Diagnoses a failing scheduled TMDb Integration run, re-runs transient failures, and fixes real API drift on its own branch with a PR, merging it only when told to.
adamayoung/TMDb
Drives an approved plan to completion test-first, deriving a Canon TDD test list, showing it before any code and stopping only when every item is written, passing and green.
adamayoung/TMDb
Grooms the Backlog column of a GitHub project board by re-verifying each issue against current main, closing dead ones, promoting actionable ones to Ready and naming the decision the rest need.
adamayoung/TMDb
Has your agent build features and fix bugs in Canon TDD order: write a test list, then one failing test, make it pass, refactor, and repeat until the list is empty.
adamayoung/TMDb
Records non-obvious lessons from a finished task, such as gotchas, API quirks and design decisions, into a project's knowledge folder before a pull request opens.
Categories
Diagnose a failing TMDb integration-test run — summarise the failure, rank the likely cause, and suggest a concrete fix. Diagnose Integration Failure is an agent skill from adamayoung/TMDb.
Diagnose Integration Failure fits situations like: tasks that involve Integration testing.
Run `npx skills add adamayoung/TMDb --skill diagnose-integration-failure -a claude-code`. Or copy the skill folder (.claude/skills/diagnose-integration-failure in adamayoung/TMDb) into .claude/skills/diagnose-integration-failure in your project. Claude Code loads it when a task matches its description.
Run `npx skills add adamayoung/TMDb --skill diagnose-integration-failure -a codex`. Or copy the skill folder (.claude/skills/diagnose-integration-failure in adamayoung/TMDb) into .agents/skills/diagnose-integration-failure 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 adamayoung/TMDb --skill diagnose-integration-failure -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/diagnose-integration-failure, .gemini/skills/diagnose-integration-failure, .github/skills/diagnose-integration-failure and .opencode/skills/diagnose-integration-failure in your project.
Going by SKILL.md and its folder, Diagnose Integration Failure needs the command-line tools its instructions call (gh, jq, git and curl) and credentials named TMDB_API_KEY. Our summary lists: A credential in TMDB_API_KEY.
SKILL.md names 1 domain. In commands or code: developer.themoviedb.org; the agent is likely to contact it when it follows the instructions. 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.
Diagnose Integration Failure is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.1k tokens (SKILL.md is roughly 8.6k 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 Diagnose Integration Failure: Plugin Testing (polyipseity/obsidian-terminal, 951 stars), Create Module (cartography-cncf/cartography, 4.1k stars), Td Integration Test (marcus/td, 251 stars) and Integration E2E Testing (shinpr/claude-code-workflows, 694 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
adamayoung (a GitHub user) maintains it in adamayoung/TMDb, which has 178 GitHub stars. The repository holds 18 skills in this directory. The repository was last updated on October 3, 2026.
Source: adamayoung/TMDb on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.