CtrlK
BlogDocsLog inGet started
Tessl Logo

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.

70

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

88%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.

The body is an actionable, well-sequenced runbook with real validation checkpoints and error-recovery loops, at minimal token cost. Its only weaknesses are the unpinned-into-a-section version check, the dangling referenced bundle paths in this bundle, and the indirect npm-root pointer for canonical references.

Suggestions

Move the version pin (R=0.20.0) into the referenced CLI skill's own versioning or a dedicated compatibility section, so the body stays free of time-sensitive constants.

Bundle the referenced paths (scripts/is-hybrid-app.sh, flows/README.md) or inline the minimal selector/recording rules they hold, so navigation doesn't depend on an npm-installed directory that may not match the local bundle.

Consolidate the repeated "fresh snapshot before/after acting" directives in steps 8-9 into one interaction-safety checklist to trim the duplicated guidance.

DimensionReasoningScore

Conciseness

The body is lean and assumes competence ("If `metro prepare` fails, **STOP** and surface the error verbatim"), but the pre-flight embeds a pinned version ("R=0.20.0") and dense inline shell, and a few directives are repeated across the safety section — mostly anchor 4 with minor trims available.

4 / 5

Actionability

Every step gives a copy-paste-ready command ("agent-device open <bundle-id> --platform <p> --device \"<name>\"", "agent-device react-native dismiss-overlay") plus a bundle-ID/build-command table, covering the common bring-up and interaction cases.

5 / 5

Workflow Clarity

The bring-up is a numbered sequence with explicit validation gates ("If any line shows `FAIL`, stop and surface the fix", "If the resolved bundle ID is missing from the list, **STOP**") and a retry feedback loop (dismiss overlay -> fresh snapshot -> retry via selector), matching the top anchor.

5 / 5

Progressive Disclosure

References are one level deep and clearly signaled ("[Agent decision loop](flows/README.md)", "Do not add measurement flows here"), but the referenced paths (flows/README.md, scripts/is-hybrid-app.sh) are not present in the bundle and the "Canonical skill references" section routes through an npm-installed directory, adding an indirection hop.

4 / 5

Total

18

/

20

Passed

Description

87%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 that explicitly covers both what the skill does and when to use it, with good natural trigger terms and a distinct niche. It could gain specificity by naming concrete device operations (snapshots, taps, screenshots) and simulator/emulator variations.

DimensionReasoningScore

Specificity

"testing, debugging, performance profiling, bug reproduction, and feature verification" names five actions, but they are activity categories rather than concrete operations (e.g., no snapshot/tap/log-capture verbs), matching the 'several specific actions; minor gaps' anchor rather than the fully concrete anchor 5.

4 / 5

Completeness

"Drive iOS and Android devices for the Expensify App - testing, debugging..." clearly states the what, and "Use when the developer needs to interact with the mobile app on a device" is an explicit, concrete when-clause — both anchor-5 requirements.

5 / 5

Trigger Term Quality

Natural phrases like "iOS and Android devices", "mobile app", and "bug reproduction" are present, but common variations users would say — "simulator", "emulator", "reproduce on device" — are missing, matching the 'good keyword coverage; a few natural terms missing' anchor.

4 / 5

Distinctiveness Conflict Risk

"for the Expensify App" plus the mobile-device-driving scope carves a clear niche with distinct triggers; no other skill plausibly claims this, so conflict risk is minimal.

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
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.