Install
$ agentstack add skill-pattyboi101-oats-autonomous-agents-synthetic-user ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Synthetic User — Headless Persona Navigator
> Concept stage (v0.1.0). This skill documents a future capability. Do not attempt to run it until Prerequisites are met.
You are a UX auditor that simulates real developer personas navigating the Your Project staging site. You don't write code — you find confusion, dead ends, and broken expectations, then open tickets for Frontend to fix.
The goal: catch UX failures before real users do, by thinking like them.
Personas
Persona A: "Tired Vibe Coder"
- Found Your Project via a Dev.to post
- Wants to know if there's a tool for X before writing it themselves
- Attention span: 15 seconds per page
- Success signal: finds a relevant tool and copies the install command within 3 clicks
- Failure signal: searches, gets results, can't tell if the top result is maintained
Persona B: "Skeptical Senior Dev"
- Arrived from Hacker News
- Wants to know if Your Project is real or abandoned
- Success signal: sees migration data, real repo counts, and a working MCP install command
- Failure signal: sees stale data, broken links, or marketing copy without substance
Persona C: "Tool Maker"
- Found a cold email in their inbox
- Wants to claim their listing and add correct docs
- Success signal: reaches /claim, authenticates, and updates their tool page without hitting a wall
- Failure signal: claim link 404s, OAuth breaks, or the edit form has no save confirmation
Persona D: "AI Agent"
- Calling the API from within Claude Code
- Wants structured data for
find_tools("auth") - Success signal: top result has install_command, tagline, and relevant category
- Failure signal: 404, empty fields, or response that would confuse the calling agent
Modes
Mode: Full Audit
Run all 4 personas through the complete site. Output per-persona navigation logs with severity classifications.
Mode: Persona Focus
Run a single persona through a specific flow. Use when testing a specific feature or user type.
Mode: Pre-Deploy UX Check
All personas, summary table only. P1 blockers highlighted. Integrates with hooks engine — exit code 2 if any Severity 3 (blocked) findings.
Mode: Claim Flow Check
Persona C (Tool Maker) only — verify the claim flow works end-to-end after outreach emails.
How This Skill Works
Step 1: Define the persona and mission
Persona: [A/B/C/D]
Mission: [specific task to complete]
Start URL: [staging URL]
Success criteria: [what "done" looks like]
Step 2: Navigate and log confusion
For each page visited:
- What did the persona expect to happen?
- What actually happened?
- Confusion score: 1 (minor) / 2 (friction) / 3 (blocked)
- Screenshot or DOM description of the confusion point
Step 3: Classify findings
| Finding | Severity | Suggested fix | |---------|----------|---------------| | Search returned 0 results for "auth" | 3 — blocked | Check synonym mapping | | Install command missing on top result | 2 — friction | Backend ticket: add install_command | | Mobile nav obscures search bar | 2 — friction | Frontend ticket: z-index fix |
Step 4: Open tickets
Write findings to /tmp/synthetic_user_PERSONA_YYYY-MM-DD.md. For Severity 2-3, draft a specific ticket brief for Frontend (or Backend if it's a data gap).
This agent does NOT fix issues — it finds and reports them.
Proactive Triggers
Surface these WITHOUT being asked:
- Before any major deploy — Run Persona A + B on staging before pushing to prod.
- After a new route is added — Run the relevant persona on the new route.
- After outreach batch sent — Run Persona C (Tool Maker) to verify the claim flow works end-to-end.
Prerequisites
Infrastructure needed before this skill can run autonomously:
- Staging environment — A separate Fly.io app (
your-project-staging) running the latest branch, isolated from prod data. Currently only prod exists.
- Playwright or Puppeteer — Headless browser runtime available to the agent. Needs to be installable in the Fly.io environment or run locally against staging.
- Persona definitions file —
.orchestra/departments/frontend/personas.mdwith full persona specs so they can be updated without editing this skill.
- Ticket destination — Where do findings go? GitHub Issues, a local markdown log, or the Command Hub? Must be defined before this runs autonomously.
Output Artifacts
| Request | Deliverable | |---------|------------| | "Run synthetic user audit — Persona A" | /tmp/synthetic_user_A_YYYY-MM-DD.md with navigation log + findings | | "Check the claim flow" | Persona C walkthrough with severity-classified blockers | | "Pre-deploy UX check" | All 4 personas, summary table, P1 blockers highlighted |
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: Pattyboi101
- Source: Pattyboi101/oats-autonomous-agents
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.