using-software
Skill2 starsChanged 9 days agoMITView on GitHub
See and use software as a real user does while checking it: a browser that is already open and signed in, a browser in a universe, agent-browser, computer use, a terminal for a CLI, or a tester for a native or mobile app. Use when choosing how to drive the app and see what a user sees.
In this repository6 other files it gives its agents.
- AGENTS.mdAGENTS.md
- reality-checkSkill
- gathering-evidenceSkill
- reaching-softwareSkill
- using-browserSkill
- using-computer-useSkill
The file
We split this skill into the rules it gives an agent
8 rules. About 0 are common, 7 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈7
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 9
Do what the user would do, through what the user would see.
- Distinctive: line 22
Use it when nothing else reaches the app, and also when what does reach it would not show what a user experiences.
- Distinctive: line 37
Follow the steps in order and note each one: what you did and what the app showed.
- Distinctive: line 38
Wait for what a user waits for: the page settled, the spinner gone, the message shown.
- Distinctive: line 43
Look past the happy path: slow responses, repeated requests, layout shifts, wording and spacing that differ between pages, and what happens …
- Distinctive: line 45
Use a page the way a user explores it: scroll below the fold, watch loading and empty states, and submit a form empty or wrong before …
- Very specific: line 50
Never turn off certificate checks (curl -k, ignoring HTTPS errors).
- Distinctive: line 52
Do not change the app to make a step pass.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Do what the user would do, through what the user would see. Reading the code or calling the API directly is not using the app; do it only to explain what you saw.
Pick the view
- Web app, and a browser the caller already uses: attach to it rather than starting a new one,
so their sign-in is kept. A Chromium browser started with
--remote-debugging-port=9222is reachable over CDP (http://<host>:9222/json/version); agent-browser attaches with--cdp <url>. A browser extension or bridge the caller named is another way. - Web app, nothing open:
agent-browser, with the using-browser skill; do not install Playwright or another browser. Or a browser in a universe next to the app: a universe can run agent-browser beside the app, as Digital Twin Universe'sweb-testerexample does. - Desktop and native apps: computer use through cua-driver, with the using-computer-use skill.
Use it when nothing else reaches the app, and also when what does reach it would not show what
a user experiences. If it is not enabled, say so instead of guessing. For example:
- An Electron or other desktop app built on web content: a browser against its dev server misses the native window, menus, file dialogs, and tray.
- A UI test hook or API that sets state directly: it passes where a user's clicks would not.
- Canvas, game, or custom-drawn UIs: the DOM or tree says nothing about what is drawn.
- OS-level steps a user goes through: file pickers, permission and sign-in prompts, installers, notifications.
- CLI: run it in a terminal as the user would, with their kind of shell and working directory,
in a universe when it must not touch this machine (
digital-twin-universe exec). - Native or mobile: the platform's tester or simulator (Xcode
simctl, Androidadband an emulator, WinAppDriver), only when installed. A missing one is something that seems off.
Work like a user
- Follow the steps in order and note each one: what you did and what the app showed.
- Wait for what a user waits for: the page settled, the spinner gone, the message shown. Do not sleep blindly; wait on what you can see.
- Sign-in: enter a password or code that was made for this check yourself. A sign-in that belongs to the caller is theirs: use a browser where they are signed in, or open the sign-in page and stop to ask.
- Look past the happy path: slow responses, repeated requests, layout shifts, wording and spacing that differ between pages, and what happens with realistic data or a throttled network.
- Use a page the way a user explores it: scroll below the fold, watch loading and empty states, and submit a form empty or wrong before submitting it right.
- Claim only what you saw happen. When the app does not respond as expected after two tries, or a
page does not load after three, stop and record what you saw. Do not let
curl, the API, or a script stand in for the UI the user uses. - Never turn off certificate checks (
curl -k, ignoring HTTPS errors). A certificate the user's browser would reject is a finding. - Do not change the app to make a step pass. A failure is a finding.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

