بنقرة واحدة
test-app
Run automated browser tests for a Nextcloud app — single agent or multi-perspective parallel testing
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Run automated browser tests for a Nextcloud app — single agent or multi-perspective parallel testing
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Reset the OpenRegister development environment (stop, remove volumes, restart, install apps)
Bootstrap journeydoc — capture-driven user documentation — into a Conduction app. Drops the 8-artifact scaffold (tutorials/, capture spec, Playwright project, Docusaurus config, domain wiring, screenshot output dir) and opens a PR. See ADR-030.
Iteratively run apply→verify in a loop until verify passes, then auto-archive — runs per-app in Docker context
Audit a legacy app for spec ↔ code coverage — produces a 6-bucket report before retrofit annotation (Experimental)
Process multiple OpenSpec changes in parallel using subagents — full lifecycle from proposal to merged PR
Reverse-engineer a spec from observed code — one Bucket 2 cluster per run, creates a ghost change with spec delta + tasks + annotations (Experimental)
| name | test-app |
| description | Run automated browser tests for a Nextcloud app — single agent or multi-perspective parallel testing |
Run automated browser tests for any of the Nextcloud apps in this workspace. Tests every page, button, and form by exploring the live application, guided by existing documentation and specs.
Experimental: This is agentic browser testing. Agents navigate the real application using Playwright MCP browsers. Results may include false positives (elements not found due to timing) or false negatives (bugs missed due to exploration order). Always verify critical findings manually.
Input: Optional argument after /test-app:
procest, pipelinq, nldesign, launchpad)If no app name was provided, ask the user using AskUserQuestion:
"Which app do you want to test?"
Store the selected app as {APP}.
Ask the user using AskUserQuestion:
"Which testing mode?"
Store the selected mode as {MODE}.
Use the local development environment by default:
{BACKEND} = http://nextcloud.local{APP_URL} = http://nextcloud.local/index.php/apps/{APP}{ADMIN_SETTINGS_URL} = http://nextcloud.local/settings/admin/{APP} (except nldesign which uses /settings/admin/theming){USER} = admin{PASS} = admin(nextcloud.local is the canonical URL set in Nextcloud's overwrite.cli.url. If your dev stack uses a different hostname, override {BACKEND} accordingly.)
Check whether the app has any saved test scenarios:
ls {APP}/test-scenarios/TS-*.md 2>/dev/null
If scenario files exist, parse their frontmatter and list them — showing only those with status: active and test-commands containing test-app:
Found {N} test scenario(s) for {APP}:
TS-001 [HIGH] functional — Create a new register
TS-003 [HIGH] security — Unauthenticated access is blocked
Ask the user using AskUserQuestion:
"Test scenarios exist for this app. Include them in this test run?"
Store the selected scenarios (if any) as {INCLUDED_SCENARIOS}. Pass their IDs and steps to the relevant sub-agents in Step 5.
If no scenarios exist: proceed silently to Step 3. Mention at the end: "No test scenarios defined yet. Create them with /test-scenario-create."
Before launching agents, read the app's documentation to build the test scope. Read these files in order:
{APP}/DEVELOPMENT.md — How to access the app{APP}/docs/features/README.md — Feature index (which feature files exist){APP}/docs/features/ — Detailed feature descriptions{APP}/openspec/ROADMAP.md (if exists) — What's NOT yet implemented (agents should skip these)This documentation tells agents what the app does, what pages exist, and what to expect. Agents should NOT test features listed as "V1 / Roadmap" — those are planned but not yet built.
mkdir -p {APP}/test-results/screenshots/test-app
Ask the user using AskUserQuestion:
"Which model should the test agents use?"
| Model | Speed | Quota | Best for |
|---|---|---|---|
| Haiku | Fastest | Low | Parallel runs — broad coverage, efficient |
| Sonnet | Balanced | Moderate | Better reasoning, more nuanced findings |
| Opus | Slowest | High | Deepest analysis — for critical or final runs |
Store as {MODEL}:
"haiku""sonnet""opus"Launch 1 Task agent with subagent_type: "general-purpose".
Browser: browser-1 (headless)
Use the prompt template below with {PERSPECTIVE} set to "comprehensive" and {PERSPECTIVE_INSTRUCTIONS} set to the Quick Mode Focus section.
Launch 6 Task agents in parallel (all in one message), each with a different perspective. All use subagent_type: "general-purpose" and model: "{MODEL}" (from Step 4.5).
| Agent | Perspective | Browser | Focus |
|---|---|---|---|
| 1 | Functional | browser-2 | Does every feature work? CRUD, navigation, forms, buttons |
| 2 | UX | browser-3 | Usability: labels, empty states, loading indicators, feedback messages |
| 3 | Performance | browser-4 | API response times, rendering speed, network requests |
| 4 | Accessibility | browser-5 | Keyboard navigation, contrast, focus indicators, screen reader hints |
| 5 | Security | browser-7 | Auth boundaries, URL manipulation, console errors, XSS vectors |
| 6 | API | browser-1 | All API endpoints via fetch(), error responses, data integrity |
Read the full prompt template at templates/agent-prompt-template.md.
Replace all {VARIABLES} in the template before sending to the sub-agent:
{APP} — app name{PERSPECTIVE} — agent's perspective (e.g., "functional", "accessibility"){APP_URL}, {ADMIN_SETTINGS_URL}, {BACKEND}, {USER}, {PASS} — environment values{N} — browser number (2-7){PERSPECTIVE_INSTRUCTIONS} — paste the matching block from templates/perspective-instructions.md{INCLUDED_SCENARIOS} — list of TS-NNN IDs and steps, or empty string{MODEL} — model name from Step 4.5Read templates/perspective-instructions.md for the full instruction block for each perspective. Copy the matching block as {PERSPECTIVE_INSTRUCTIONS} into the sub-agent prompt template.
After all agents complete, read all result files from {APP}/test-results/ and generate a summary.
Read the summary report template at templates/summary-report-template.md and write the completed summary to {APP}/test-results/README.md.
Display a concise summary:
{APP}/test-results/README.mdAfter testing completes, review what happened and append any new observations to learnings.md:
Each entry must include today's date. One insight per bullet. Skip if nothing new was learned.
After generating the report and summary, output a structured result line and return control:
APP_TEST_RESULT: PASS | FAIL CRITICAL_COUNT: <n> SUMMARY: <one-line summary>
If invoked from /opsx-apply-loop: your work is complete after outputting the result line. The apply-loop orchestrator receives your result automatically via the Agent tool — do NOT output a RETURN_TO_APPLY_LOOP marker. Do NOT start new work, do NOT suggest fixes, do NOT ask what to do next.