CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

phoenix-pr-screenshot

Screenshot a running Phoenix feature and attach images to a GitHub PR. Builds the frontend, starts Phoenix with env vars, captures browser screenshots, and attaches them to the PR body with `gh pr edit --attach`.

65

Quality

82%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

SKILL.md
Quality
Evals
Security

Quality

Content

85%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A well-structured, actionable end-to-end workflow with genuine Phoenix-specific gotchas and strong validation/troubleshooting loops. The main flaws are a directory inconsistency in Step 1 and a few generic browser-interaction bullets that could be trimmed.

Suggestions

Resolve the Step 1 inconsistency: the prose says build from `js/app/` but the command does `cd <repo-root>/app` — pick one correct path.

Trim the generic browser-tooling bullets in Step 3 (waiting for elements, re-inspecting after DOM changes) since they restate default Claude behavior; keep only the task-specific guidance (burst capture for transient states, GIF assembly).

Clarify how to obtain `<PID>` in Step 5 (e.g. capture it when launching the background server) so the cleanup command is directly executable.

DimensionReasoningScore

Conciseness

The body is lean and operational, with non-obvious details (PHOENIX_PORT vs --port, fresh PHOENIX_WORKING_DIR, --attach semantics) earning their tokens. The generic browser-interaction bullets in Step 3 ('Wait for the target UI elements to be visible', 'Inspect the page again after navigation') explain behavior Claude already knows, keeping it below the lean anchor.

4 / 5

Actionability

Commands are concrete and mostly copy-paste ready (pnpm build, uv run phoenix serve, curl readiness check, the full gh pr view/edit --attach sequence with a file-naming convention), but there is a concrete inconsistency: the text says 'Build it from the `js/app/` directory' while the code block uses `cd <repo-root>/app`. This minor executable gap fits anchor 4 rather than the fully-executable anchor 5.

4 / 5

Workflow Clarity

Five clearly sequenced steps with explicit validation checkpoints: the curl 200 readiness check, inspecting /tmp/phoenix-*.log on failure with causes and fixes (fresh working dir for migration errors, port conflicts), and viewing saved screenshots to verify capture. Error-recovery feedback loops are present, matching the top anchor rather than the minor-gaps anchor 4.

5 / 5

Progressive Disclosure

The skill is a single SKILL.md with no bundle files, and none are needed — all content is workflow-essential and organized into clear sections (Prerequisites, Steps 1-5, Removing screenshots) with no wall of text, no buried references, and nothing that belongs in a separate file. This matches well-organized single-file structure at the top anchor.

5 / 5

Total

18

/

20

Passed

Description

75%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong, specific, third-person description that names concrete actions and the exact command. Its one real weakness is the missing 'Use when...' trigger clause, which caps completeness and leaves activation guidance implicit.

Suggestions

Append an explicit trigger clause, e.g. 'Use when a Phoenix feature PR needs visual evidence and screenshots or a PR attachment are requested.'

Include natural synonyms such as 'pull request' spelled out and 'capture'/'visual documentation' to broaden trigger coverage.

State the scope boundary (Arize-ai/phoenix repo) in the description to further reduce conflict risk with generic screenshot skills.

DimensionReasoningScore

Specificity

The description lists four concrete actions — 'Builds the frontend, starts Phoenix with env vars, captures browser screenshots, and attaches them to the PR body with `gh pr edit --attach`' — including the exact CLI command, matching the comprehensive-coverage anchor. Score 4 would apply if there were minor coverage gaps, but none are present.

5 / 5

Completeness

The 'what' is clearly and concretely stated, but there is no 'Use when...' clause or equivalent explicit trigger guidance, which per the judging guidelines caps completeness at 3. Not 2 because the 'what' is specific and complete; not 4 because 'when' is entirely absent rather than just imprecise.

3 / 5

Trigger Term Quality

Natural terms users would say are present ('Screenshot', 'Phoenix', 'GitHub PR', 'attach', 'images'), but common synonyms and variations are missing — 'pull request' is never spelled out, and no 'capture'/'GIF'/'visual' variants. Not 3, because keyword coverage is good rather than partial; not 5, because the synonym/variation coverage is incomplete.

4 / 5

Distinctiveness Conflict Risk

'Screenshot a running Phoenix feature and attach images to a GitHub PR' with `gh pr edit --attach` defines a clear niche with distinct triggers and minimal overlap with generic screenshot or PR skills. Not 4, because the Phoenix-specific and PR-attachment scoping leaves virtually no overlap with related skills.

5 / 5

Total

17

/

20

Passed

Validation

81%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 13 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

metadata_field

'metadata' should map string keys to string values

Warning

relative_links

Relative link issues: 1 missing

Warning

Total

13

/

16

Passed

Repository

Arize-ai/phoenix

Path

.agents/skills/phoenix-pr-screenshot/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.