CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

agent-device

Drive iOS and Android devices for the Expensify App - testing, debugging, performance profiling, bug reproduction, and feature verification. Use when the developer needs to interact with the mobile app on a device.

Quality

88%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

92%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 highly operational skill body: lean, fully executable bring-up commands with explicit validation checkpoints and error-recovery feedback loops, and clean delegation of detailed material to clearly signaled one-level-deep references. The only notable trim opportunity is the slightly repetitive Interaction-safety step.

DimensionReasoningScore

Conciseness

Efficient and operational: concrete commands, no concept-explanation padding, and assumes Claude's competence (e.g., "Pre-flight (auto)" checks are one-liners). Not 5: the "Interaction safety" step repeats the snapshot/dismiss-overlay pattern across multiple paragraphs and could be tightened; not 3: everything else is lean with each sentence adding operational value.

4 / 5

Actionability

Fully executable, copy-paste-ready commands throughout: "agent-device metro prepare --public-base-url http://localhost:8081 --port 8081 --kind react-native", a concrete bundle-ID table, "agent-device open <bundle-id> --platform <p> --device \"<name>\"", plus error-recovery guidance ("If open errors with 'app not installed', revisit step 3"). Specific commands cover the common cases.

5 / 5

Workflow Clarity

The bring-up sequence (steps 1-9) has explicit validation checkpoints and feedback loops: pre-flight FAIL gates, "If the resolved bundle ID is missing from the list, STOP", "If metro prepare fails, STOP and surface the error verbatim", a sanity "snapshot -i", session reuse/reset decision rules, and post-action verification via "wait, is, find, or a fresh snapshot". Matches the anchor-5 example pattern of validate-fix-retry.

5 / 5

Progressive Disclosure

The body is a clear overview that delegates detail to well-signaled, one-level-deep references: [flows/README.md] for the decision loop, macros, and the .ad spec; "agent-device help <topic>" for topic guides; and the sibling measure-telemetry-span skill for measurement flows with an explicit boundary ("Do not add measurement flows here"). No bundle files were provided in the review directory, so the referenced paths could not be verified on disk, but the body's structure and navigation signals fully match the anchor.

5 / 5

Total

19

/

20

Passed

Description

83%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 description: concrete action list, explicit niche, correct voice, and an explicit Use-when clause. The two mild weaknesses are missing trigger synonyms (simulator/emulator) and a when-clause that is explicit but circular rather than situation-specific.

Suggestions

Add natural trigger synonyms users would say — e.g., "simulator" and "emulator" — to the keyword set (trigger_term_quality).

Make the when-clause situation-specific instead of restating the capability, e.g., "Use when the user asks to test, reproduce a bug in, or profile the Expensify app on a simulator, emulator, or physical device" (completeness).

DimensionReasoningScore

Specificity

Lists multiple specific concrete actions — "testing, debugging, performance profiling, bug reproduction, and feature verification" — anchored to a named domain ("Drive iOS and Android devices for the Expensify App"), giving comprehensive coverage of the skill's scope. Not 4: no coverage gaps within that scope.

5 / 5

Completeness

Both parts are explicit: what ("Drive iOS and Android devices for the Expensify App - testing, debugging, performance profiling...") and when ("Use when the developer needs to interact with the mobile app on a device"). Not 5: the when-clause largely restates the what instead of adding concrete trigger situations; not 3 because the when is explicit, not merely implied.

4 / 5

Trigger Term Quality

Good natural keywords ("iOS", "Android", "testing", "debugging", "mobile app", "device") that users would actually say, but common variations like "simulator" and "emulator" are missing. Fits anchor 4 ("good keyword coverage; a few natural terms missing") rather than 5 because synonym coverage is incomplete.

4 / 5

Distinctiveness Conflict Risk

A clear niche ("iOS and Android devices for the Expensify App") with distinct triggers; virtually no overlap risk with generic device, document, or code skills. Third-person imperative voice is used correctly.

5 / 5

Total

18

/

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

allowed_tools_field

'allowed-tools' contains unusual tool name(s)

Warning

relative_links

Relative link issues: 3 missing, 1 suspicious

Warning

referenced_paths_exist

Referenced path issues: 1 missing

Warning

Total

13

/

16

Passed

Repository

Expensify/App

Path

.claude/skills/agent-device/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.