-
Notifications
You must be signed in to change notification settings - Fork 3.7k
[NoQA] Add agent-device glue-code skill for mobile testing #87662
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
6f273b5
4bfce77
c0d5618
a63542b
7af0dc5
e756806
9b21ec1
18a1a81
3537d95
d4abc1b
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,43 @@ | ||
| --- | ||
| name: agent-device | ||
| description: 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. | ||
| --- | ||
|
|
||
| # agent-device | ||
|
|
||
| ## Pre-flight Check | ||
|
|
||
| Verify the `agent-device` CLI is installed and its skills are accessible: | ||
|
|
||
| ```bash | ||
| agent-device --version | ||
| ``` | ||
|
|
||
| If missing, **STOP** and instruct the user to install it: | ||
|
|
||
| ```bash | ||
| npm install -g agent-device | ||
| ``` | ||
|
|
||
| The `agent-device` CLI ships with built-in skills under `skills/` in the installed package. These contain the canonical reference for device automation - bootstrap, exploration, verification, debugging, and more. Use `agent-device --help` to discover available commands and skill names. Read the skill files directly from the installed package path when you need detailed guidance: | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Is this not too vague? It's not specifically told to do this at launch so I'm not sure how well it will descide to go and ready them for guidance. |
||
|
|
||
| ```bash | ||
| # Find the package location | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I wish we could run commands automatically instead of asking the agent to do something... Locally this fails with permission though, so not sure how we could do it. Can we update the settings and allow this commands and inject the context without a tool call? |
||
| npm root -g | ||
| # Then read: <global_root>/agent-device/skills/agent-device/SKILL.md | ||
| ``` | ||
|
|
||
| > **Do not proceed without `agent-device` installed.** All device interaction depends on it. | ||
|
|
||
| ## How This Skill Works | ||
|
|
||
| This skill enhances the local development and testing workflow. The developer may provide a full test plan upfront, give step-by-step instructions interactively, or just point at a screen and ask questions. Follow their lead. | ||
|
Comment on lines
+32
to
+34
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Seems redundant? |
||
|
|
||
| ### Principles | ||
|
|
||
| - **Fail fast.** If something deviates from expectations - wrong screen, unexpected error, missing element - stop, explain what happened and suggest how to get past it. Do not silently work around problems. | ||
| - **Deviations are signal.** If the app behaves differently than expected, report the delta clearly so the developer can decide what needs fixing. | ||
|
|
||
| ## Footnote | ||
|
|
||
| > **Early development.** This integration between agent-device and the Expensify App is still in early stages. If you run into issues, please reach out via Expensify Slack or file an issue at https://github.com/callstackincubator/agent-device/issues. | ||
|
Comment on lines
+41
to
+43
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Is this more for engineers than it is to the agent?
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The idea was to start with engineers being able to kick off testing via their local agent
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Oh I mean, the footnote doesn't seem to help the agent |
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd like to remove
testing, debugging, performance profilingfor now. I worry Melvin will start triggering this on workflows before we have good instructions for it to follow.