@monoes/monomindcli 1.10.47 → 1.10.55
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/agents/optimization/benchmark-suite.md +2 -0
- package/.claude/agents/optimization/load-balancer.md +2 -0
- package/.claude/agents/optimization/performance-monitor.md +2 -0
- package/.claude/agents/optimization/resource-allocator.md +3 -1
- package/.claude/agents/optimization/topology-optimizer.md +2 -0
- package/.claude/commands/mastermind/_repeat.md +21 -0
- package/.claude/commands/mastermind/_taskfile.md +235 -0
- package/.claude/commands/mastermind/adr.md +11 -0
- package/.claude/commands/mastermind/approve.md +94 -0
- package/.claude/commands/mastermind/autodev.md +32 -0
- package/.claude/commands/mastermind/budget.md +7 -0
- package/.claude/commands/mastermind/code-review.md +317 -0
- package/.claude/commands/mastermind/createorg.md +40 -1
- package/.claude/commands/mastermind/createtask.md +383 -0
- package/.claude/commands/mastermind/debug.md +22 -0
- package/.claude/commands/mastermind/design.md +20 -0
- package/.claude/commands/mastermind/do.md +526 -0
- package/.claude/commands/mastermind/execute.md +20 -0
- package/.claude/commands/mastermind/finish.md +20 -0
- package/.claude/commands/mastermind/graph-status.md +7 -0
- package/.claude/commands/mastermind/help.md +118 -0
- package/.claude/commands/mastermind/ideate.md +261 -0
- package/.claude/commands/mastermind/improve.md +345 -0
- package/.claude/commands/mastermind/loops.md +7 -0
- package/.claude/commands/mastermind/master.md +186 -6
- package/.claude/commands/mastermind/memory.md +230 -0
- package/.claude/commands/mastermind/plan.md +26 -0
- package/.claude/commands/mastermind/receive-review.md +20 -0
- package/.claude/commands/mastermind/repeat.md +257 -0
- package/.claude/commands/mastermind/runorg.md +3 -0
- package/.claude/commands/mastermind/skill-builder.md +20 -0
- package/.claude/commands/mastermind/specialagents.md +125 -0
- package/.claude/commands/mastermind/swarm.md +161 -0
- package/.claude/commands/mastermind/taskdev.md +26 -0
- package/.claude/commands/mastermind/tdd.md +22 -0
- package/.claude/commands/mastermind/techport.md +4 -0
- package/.claude/commands/mastermind/understand.md +139 -0
- package/.claude/commands/mastermind/verify.md +22 -0
- package/.claude/commands/mastermind/worktree.md +20 -0
- package/.claude/commands/monomind/do.md +52 -0
- package/.claude/commands/monomind/improve.md +2 -0
- package/.claude/helpers/handlers/graph-status-handler.cjs +2 -1
- package/.claude/helpers/handlers/route-handler.cjs +61 -11
- package/.claude/helpers/hook-handler.cjs +19 -0
- package/.claude/helpers/skill-registry.json +122 -51
- package/.claude/helpers/statusline.cjs +1 -1
- package/.claude/skills/agent-browser-testing/SKILL.md +522 -152
- package/.claude/skills/github-issue-triage/SKILL.md +354 -0
- package/.claude/skills/github-repo-recap/SKILL.md +207 -0
- package/.claude/skills/mastermind/_delegation.md +83 -0
- package/.claude/skills/mastermind/_protocol.md +14 -0
- package/.claude/skills/mastermind/approve.md +15 -7
- package/.claude/skills/mastermind/autodev.md +534 -0
- package/.claude/skills/mastermind/createorg.md +21 -5
- package/.claude/skills/mastermind/debug.md +232 -0
- package/.claude/skills/mastermind/design.md +187 -0
- package/.claude/skills/mastermind/execute.md +104 -0
- package/.claude/skills/mastermind/finish.md +251 -0
- package/.claude/skills/mastermind/plan.md +180 -0
- package/.claude/skills/mastermind/receive-review.md +213 -0
- package/.claude/skills/mastermind/runorg.md +23 -8
- package/.claude/skills/mastermind/skill-builder.md +274 -0
- package/.claude/skills/mastermind/taskdev.md +307 -0
- package/.claude/skills/mastermind/tdd.md +394 -0
- package/.claude/skills/mastermind/verify.md +196 -0
- package/.claude/skills/mastermind/worktree.md +160 -132
- package/README.md +320 -253
- package/dist/src/commands/analyze.d.ts.map +1 -1
- package/dist/src/commands/analyze.js +9 -2
- package/dist/src/commands/analyze.js.map +1 -1
- package/dist/src/commands/benchmark.js.map +1 -1
- package/dist/src/commands/completions.js +1 -1
- package/dist/src/commands/guidance.js +7 -7
- package/dist/src/commands/hooks.d.ts.map +1 -1
- package/dist/src/commands/hooks.js +16 -3
- package/dist/src/commands/hooks.js.map +1 -1
- package/dist/src/commands/index.d.ts +3 -2
- package/dist/src/commands/index.d.ts.map +1 -1
- package/dist/src/commands/index.js +7 -0
- package/dist/src/commands/index.js.map +1 -1
- package/dist/src/commands/init.d.ts.map +1 -1
- package/dist/src/commands/init.js +47 -13
- package/dist/src/commands/init.js.map +1 -1
- package/dist/src/commands/neural.d.ts.map +1 -1
- package/dist/src/commands/neural.js +100 -14
- package/dist/src/commands/neural.js.map +1 -1
- package/dist/src/commands/platforms.d.ts +11 -0
- package/dist/src/commands/platforms.d.ts.map +1 -0
- package/dist/src/commands/platforms.js +195 -0
- package/dist/src/commands/platforms.js.map +1 -0
- package/dist/src/commands/ruvector/backup.js.map +1 -1
- package/dist/src/commands/ruvector/benchmark.js.map +1 -1
- package/dist/src/commands/ruvector/init.js.map +1 -1
- package/dist/src/commands/ruvector/migrate.js.map +1 -1
- package/dist/src/commands/ruvector/optimize.js.map +1 -1
- package/dist/src/commands/ruvector/status.js.map +1 -1
- package/dist/src/commands/update.js +6 -6
- package/dist/src/init/executor.d.ts.map +1 -1
- package/dist/src/init/executor.js +28 -0
- package/dist/src/init/executor.js.map +1 -1
- package/dist/src/init/statusline-generator.js +1 -1
- package/dist/src/init/types.d.ts +1 -0
- package/dist/src/init/types.d.ts.map +1 -1
- package/dist/src/mcp-server.d.ts.map +1 -1
- package/dist/src/mcp-server.js +92 -0
- package/dist/src/mcp-server.js.map +1 -1
- package/dist/src/mcp-tools/hive-mind-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/hive-mind-tools.js +52 -0
- package/dist/src/mcp-tools/hive-mind-tools.js.map +1 -1
- package/dist/src/mcp-tools/hooks-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/hooks-tools.js +106 -5
- package/dist/src/mcp-tools/hooks-tools.js.map +1 -1
- package/dist/src/mcp-tools/index.d.ts +0 -5
- package/dist/src/mcp-tools/index.d.ts.map +1 -1
- package/dist/src/mcp-tools/index.js +0 -5
- package/dist/src/mcp-tools/index.js.map +1 -1
- package/dist/src/mcp-tools/monograph-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/monograph-tools.js +507 -5587
- package/dist/src/mcp-tools/monograph-tools.js.map +1 -1
- package/dist/src/mcp-tools/neural-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/neural-tools.js +64 -4
- package/dist/src/mcp-tools/neural-tools.js.map +1 -1
- package/dist/src/mcp-tools/security-tools.js +4 -4
- package/dist/src/memory/intelligence.d.ts +2 -2
- package/dist/src/memory/intelligence.d.ts.map +1 -1
- package/dist/src/memory/intelligence.js +108 -3
- package/dist/src/memory/intelligence.js.map +1 -1
- package/dist/src/memory/memory-bridge.js +1 -1
- package/dist/src/memory/memory-bridge.js.map +1 -1
- package/dist/src/memory/sona-optimizer.d.ts +1 -10
- package/dist/src/memory/sona-optimizer.d.ts.map +1 -1
- package/dist/src/memory/sona-optimizer.js +0 -46
- package/dist/src/memory/sona-optimizer.js.map +1 -1
- package/dist/src/runtime/headless.js +3 -3
- package/dist/src/ruvector/diff-classifier.d.ts +0 -2
- package/dist/src/ruvector/diff-classifier.d.ts.map +1 -1
- package/dist/src/ruvector/diff-classifier.js +2 -14
- package/dist/src/ruvector/diff-classifier.js.map +1 -1
- package/dist/src/ruvector/index.d.ts +26 -9
- package/dist/src/ruvector/index.d.ts.map +1 -1
- package/dist/src/ruvector/index.js +3 -21
- package/dist/src/ruvector/index.js.map +1 -1
- package/dist/src/ruvector/ruvllm-wasm.js +2 -2
- package/dist/src/ruvector/ruvllm-wasm.js.map +1 -1
- package/dist/src/types.d.ts +0 -15
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js +0 -18
- package/dist/src/types.js.map +1 -1
- package/dist/src/ui/dashboard.html +8763 -9765
- package/dist/src/ui/data/agent-avatars.html +763 -0
- package/dist/src/ui/data/agent-avatars.json +966 -0
- package/dist/src/ui/data/avatars/account-strategist.svg +58 -0
- package/dist/src/ui/data/avatars/accounts-payable.svg +54 -0
- package/dist/src/ui/data/avatars/adaptive-coordinator.svg +55 -0
- package/dist/src/ui/data/avatars/adaptive-coordinator2.svg +54 -0
- package/dist/src/ui/data/avatars/ai-citation.svg +57 -0
- package/dist/src/ui/data/avatars/ai-engineer.svg +61 -0
- package/dist/src/ui/data/avatars/analytics-reporter.svg +53 -0
- package/dist/src/ui/data/avatars/api-tester.svg +53 -0
- package/dist/src/ui/data/avatars/architecture.svg +54 -0
- package/dist/src/ui/data/avatars/automation-governance.svg +55 -0
- package/dist/src/ui/data/avatars/backend-dev.svg +53 -0
- package/dist/src/ui/data/avatars/benchmarker.svg +54 -0
- package/dist/src/ui/data/avatars/blockchain-auditor.svg +53 -0
- package/dist/src/ui/data/avatars/byzantine-coord.svg +57 -0
- package/dist/src/ui/data/avatars/case-analyst.svg +57 -0
- package/dist/src/ui/data/avatars/cicd-engineer.svg +55 -0
- package/dist/src/ui/data/avatars/cloud-architect.svg +54 -0
- package/dist/src/ui/data/avatars/code-review-swarm.svg +57 -0
- package/dist/src/ui/data/avatars/coder-v119.svg +57 -0
- package/dist/src/ui/data/avatars/coder.svg +58 -0
- package/dist/src/ui/data/avatars/collective-coord.svg +54 -0
- package/dist/src/ui/data/avatars/compliance-auditor.svg +58 -0
- package/dist/src/ui/data/avatars/consensus-coordinator.svg +54 -0
- package/dist/src/ui/data/avatars/content-creator.svg +54 -0
- package/dist/src/ui/data/avatars/crdt-synchronizer.svg +53 -0
- package/dist/src/ui/data/avatars/cro-specialist.svg +58 -0
- package/dist/src/ui/data/avatars/data-consolidator.svg +54 -0
- package/dist/src/ui/data/avatars/data-engineer.svg +53 -0
- package/dist/src/ui/data/avatars/database-optimizer.svg +61 -0
- package/dist/src/ui/data/avatars/deal-strategist.svg +54 -0
- package/dist/src/ui/data/avatars/defender.svg +53 -0
- package/dist/src/ui/data/avatars/devops-automator.svg +56 -0
- package/dist/src/ui/data/avatars/discovery-coach.svg +54 -0
- package/dist/src/ui/data/avatars/email-marketing.svg +57 -0
- package/dist/src/ui/data/avatars/embedded-firmware.svg +61 -0
- package/dist/src/ui/data/avatars/evidence-collector.svg +57 -0
- package/dist/src/ui/data/avatars/experiment-tracker.svg +53 -0
- package/dist/src/ui/data/avatars/feedback-synthesizer.svg +54 -0
- package/dist/src/ui/data/avatars/finance-tracker.svg +54 -0
- package/dist/src/ui/data/avatars/frontend-developer.svg +54 -0
- package/dist/src/ui/data/avatars/game-audio-engineer.svg +59 -0
- package/dist/src/ui/data/avatars/game-designer.svg +54 -0
- package/dist/src/ui/data/avatars/gossip-coordinator.svg +54 -0
- package/dist/src/ui/data/avatars/hierarchical-coord.svg +54 -0
- package/dist/src/ui/data/avatars/incident-commander.svg +57 -0
- package/dist/src/ui/data/avatars/infrastructure.svg +54 -0
- package/dist/src/ui/data/avatars/input-validator.svg +53 -0
- package/dist/src/ui/data/avatars/ios-developer.svg +54 -0
- package/dist/src/ui/data/avatars/issue-tracker.svg +53 -0
- package/dist/src/ui/data/avatars/judge.svg +55 -0
- package/dist/src/ui/data/avatars/launch-strategist.svg +54 -0
- package/dist/src/ui/data/avatars/legal-compliance.svg +53 -0
- package/dist/src/ui/data/avatars/level-designer.svg +53 -0
- package/dist/src/ui/data/avatars/load-balancer.svg +57 -0
- package/dist/src/ui/data/avatars/mcp-builder.svg +53 -0
- package/dist/src/ui/data/avatars/memory-coordinator.svg +55 -0
- package/dist/src/ui/data/avatars/mesh-coordinator.svg +55 -0
- package/dist/src/ui/data/avatars/ml-developer.svg +58 -0
- package/dist/src/ui/data/avatars/mobile-app-builder.svg +53 -0
- package/dist/src/ui/data/avatars/mobile-dev.svg +54 -0
- package/dist/src/ui/data/avatars/model-qa.svg +58 -0
- package/dist/src/ui/data/avatars/narrative-designer.svg +58 -0
- package/dist/src/ui/data/avatars/outbound-strategist.svg +55 -0
- package/dist/src/ui/data/avatars/path-validator.svg +54 -0
- package/dist/src/ui/data/avatars/payment-agent.svg +53 -0
- package/dist/src/ui/data/avatars/perf-analyzer.svg +58 -0
- package/dist/src/ui/data/avatars/pipeline-analyst.svg +54 -0
- package/dist/src/ui/data/avatars/planner.svg +55 -0
- package/dist/src/ui/data/avatars/pr-manager.svg +54 -0
- package/dist/src/ui/data/avatars/pricing-strategist.svg +54 -0
- package/dist/src/ui/data/avatars/product-manager.svg +54 -0
- package/dist/src/ui/data/avatars/production-validator.svg +54 -0
- package/dist/src/ui/data/avatars/project-shepherd.svg +54 -0
- package/dist/src/ui/data/avatars/proposal-strategist.svg +54 -0
- package/dist/src/ui/data/avatars/prosecutor.svg +57 -0
- package/dist/src/ui/data/avatars/pseudocode.svg +53 -0
- package/dist/src/ui/data/avatars/queen-coordinator.svg +55 -0
- package/dist/src/ui/data/avatars/quorum-manager.svg +53 -0
- package/dist/src/ui/data/avatars/raft-manager.svg +53 -0
- package/dist/src/ui/data/avatars/reality-checker.svg +58 -0
- package/dist/src/ui/data/avatars/recruitment.svg +58 -0
- package/dist/src/ui/data/avatars/refinement.svg +53 -0
- package/dist/src/ui/data/avatars/release-manager.svg +54 -0
- package/dist/src/ui/data/avatars/repo-architect.svg +54 -0
- package/dist/src/ui/data/avatars/researcher.svg +58 -0
- package/dist/src/ui/data/avatars/resource-allocator.svg +53 -0
- package/dist/src/ui/data/avatars/reviewer.svg +53 -0
- package/dist/src/ui/data/avatars/safe-executor.svg +53 -0
- package/dist/src/ui/data/avatars/sales-coach.svg +53 -0
- package/dist/src/ui/data/avatars/sales-engineer.svg +58 -0
- package/dist/src/ui/data/avatars/scout-explorer.svg +58 -0
- package/dist/src/ui/data/avatars/security-architect.svg +54 -0
- package/dist/src/ui/data/avatars/security-auditor.svg +55 -0
- package/dist/src/ui/data/avatars/senior-developer.svg +58 -0
- package/dist/src/ui/data/avatars/senior-pm.svg +58 -0
- package/dist/src/ui/data/avatars/seo-specialist.svg +57 -0
- package/dist/src/ui/data/avatars/social-media.svg +54 -0
- package/dist/src/ui/data/avatars/solidity-engineer.svg +58 -0
- package/dist/src/ui/data/avatars/sparc-coder.svg +58 -0
- package/dist/src/ui/data/avatars/sparc-coord.svg +56 -0
- package/dist/src/ui/data/avatars/specification.svg +57 -0
- package/dist/src/ui/data/avatars/sprint-prioritizer.svg +53 -0
- package/dist/src/ui/data/avatars/sre.svg +54 -0
- package/dist/src/ui/data/avatars/studio-operations.svg +53 -0
- package/dist/src/ui/data/avatars/studio-producer.svg +55 -0
- package/dist/src/ui/data/avatars/support-responder.svg +56 -0
- package/dist/src/ui/data/avatars/system-architect.svg +54 -0
- package/dist/src/ui/data/avatars/task-orchestrator.svg +56 -0
- package/dist/src/ui/data/avatars/technical-artist.svg +53 -0
- package/dist/src/ui/data/avatars/technical-writer.svg +59 -0
- package/dist/src/ui/data/avatars/tester.svg +53 -0
- package/dist/src/ui/data/avatars/threat-detection.svg +61 -0
- package/dist/src/ui/data/avatars/trend-researcher.svg +54 -0
- package/dist/src/ui/data/avatars/trial-director.svg +55 -0
- package/dist/src/ui/data/avatars/unity-architect.svg +54 -0
- package/dist/src/ui/data/avatars/visionos-engineer.svg +57 -0
- package/dist/src/ui/data/avatars/worker-specialist.svg +55 -0
- package/dist/src/ui/data/avatars/workflow-architect.svg +57 -0
- package/dist/src/ui/data/avatars/workflow-automation.svg +54 -0
- package/dist/src/ui/data/avatars/zk-steward.svg +54 -0
- package/dist/src/ui/data/known-projects.json +1 -1
- package/dist/src/ui/data/mastermind-events.jsonl +28 -0
- package/dist/src/ui/orgs.html +1171 -0
- package/dist/src/ui/server.mjs +529 -43
- package/dist/src/update/index.js +1 -1
- package/dist/src/update/validator.js +8 -8
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/.claude/agents/academic/academic-anthropologist.md +0 -126
- package/.claude/agents/academic/academic-geographer.md +0 -128
- package/.claude/agents/academic/academic-historian.md +0 -124
- package/.claude/agents/academic/academic-narratologist.md +0 -119
- package/.claude/agents/academic/academic-psychologist.md +0 -119
- package/.claude/agents/analysis/analyze-code-quality.md +0 -58
- package/.claude/agents/analysis/code-analyzer.md +0 -189
- package/.claude/agents/analysis/code-review/analyze-code-quality.md +0 -58
- package/.claude/agents/consensus/performance-benchmarker.md +0 -831
- package/.claude/agents/data/ml/data-ml-model.md +0 -76
- package/.claude/agents/development/dev-backend-api.md +0 -178
- package/.claude/agents/devops/ci-cd/ops-cicd-github.md +0 -52
- package/.claude/agents/documentation/api-docs/docs-api-openapi.md +0 -63
- package/.claude/agents/game-development/blender/blender-addon-engineer.md +0 -235
- package/.claude/agents/game-development/game-audio-engineer.md +0 -265
- package/.claude/agents/game-development/game-designer.md +0 -168
- package/.claude/agents/game-development/godot/godot-gameplay-scripter.md +0 -335
- package/.claude/agents/game-development/godot/godot-multiplayer-engineer.md +0 -298
- package/.claude/agents/game-development/godot/godot-shader-developer.md +0 -267
- package/.claude/agents/game-development/level-designer.md +0 -209
- package/.claude/agents/game-development/narrative-designer.md +0 -244
- package/.claude/agents/game-development/roblox-studio/roblox-avatar-creator.md +0 -298
- package/.claude/agents/game-development/roblox-studio/roblox-experience-designer.md +0 -306
- package/.claude/agents/game-development/roblox-studio/roblox-systems-scripter.md +0 -326
- package/.claude/agents/game-development/technical-artist.md +0 -230
- package/.claude/agents/game-development/unity/unity-architect.md +0 -272
- package/.claude/agents/game-development/unity/unity-editor-tool-developer.md +0 -311
- package/.claude/agents/game-development/unity/unity-multiplayer-engineer.md +0 -322
- package/.claude/agents/game-development/unity/unity-shader-graph-artist.md +0 -270
- package/.claude/agents/game-development/unreal-engine/unreal-multiplayer-architect.md +0 -314
- package/.claude/agents/game-development/unreal-engine/unreal-systems-engineer.md +0 -311
- package/.claude/agents/game-development/unreal-engine/unreal-technical-artist.md +0 -257
- package/.claude/agents/game-development/unreal-engine/unreal-world-builder.md +0 -274
- package/.claude/agents/github/release-swarm.md +0 -597
- package/.claude/agents/goal/agent.md +0 -804
- package/.claude/agents/goal/code-goal-planner.md +0 -445
- package/.claude/agents/marketing/marketing-ai-citation-strategist.md +0 -171
- package/.claude/agents/marketing/marketing-app-store-optimizer.md +0 -322
- package/.claude/agents/marketing/marketing-baidu-seo-specialist.md +0 -227
- package/.claude/agents/marketing/marketing-bilibili-content-strategist.md +0 -200
- package/.claude/agents/marketing/marketing-book-co-author.md +0 -111
- package/.claude/agents/marketing/marketing-carousel-growth-engine.md +0 -200
- package/.claude/agents/marketing/marketing-china-ecommerce-operator.md +0 -284
- package/.claude/agents/marketing/marketing-content-creator.md +0 -67
- package/.claude/agents/marketing/marketing-cross-border-ecommerce.md +0 -260
- package/.claude/agents/marketing/marketing-douyin-strategist.md +0 -150
- package/.claude/agents/marketing/marketing-growth-hacker.md +0 -54
- package/.claude/agents/marketing/marketing-instagram-curator.md +0 -114
- package/.claude/agents/marketing/marketing-kuaishou-strategist.md +0 -224
- package/.claude/agents/marketing/marketing-linkedin-content-creator.md +0 -215
- package/.claude/agents/marketing/marketing-livestream-commerce-coach.md +0 -306
- package/.claude/agents/marketing/marketing-podcast-strategist.md +0 -278
- package/.claude/agents/marketing/marketing-private-domain-operator.md +0 -309
- package/.claude/agents/marketing/marketing-reddit-community-builder.md +0 -124
- package/.claude/agents/marketing/marketing-seo-specialist.md +0 -279
- package/.claude/agents/marketing/marketing-short-video-editing-coach.md +0 -413
- package/.claude/agents/marketing/marketing-social-media-strategist.md +0 -125
- package/.claude/agents/marketing/marketing-tiktok-strategist.md +0 -126
- package/.claude/agents/marketing/marketing-twitter-engager.md +0 -127
- package/.claude/agents/marketing/marketing-wechat-official-account.md +0 -146
- package/.claude/agents/marketing/marketing-weibo-strategist.md +0 -241
- package/.claude/agents/marketing/marketing-xiaohongshu-specialist.md +0 -139
- package/.claude/agents/marketing/marketing-zhihu-strategist.md +0 -163
- package/.claude/agents/neural/safla-neural.md +0 -74
- package/.claude/agents/paid-media/paid-media-auditor.md +0 -71
- package/.claude/agents/paid-media/paid-media-creative-strategist.md +0 -71
- package/.claude/agents/paid-media/paid-media-paid-social-strategist.md +0 -71
- package/.claude/agents/paid-media/paid-media-ppc-strategist.md +0 -71
- package/.claude/agents/paid-media/paid-media-programmatic-buyer.md +0 -71
- package/.claude/agents/paid-media/paid-media-search-query-analyst.md +0 -71
- package/.claude/agents/paid-media/paid-media-tracking-specialist.md +0 -71
- package/.claude/agents/payments/agentic-payments.md +0 -126
- package/.claude/agents/product/product-behavioral-nudge-engine.md +0 -81
- package/.claude/agents/product/product-feedback-synthesizer.md +0 -119
- package/.claude/agents/product/product-manager.md +0 -469
- package/.claude/agents/product/product-sprint-prioritizer.md +0 -154
- package/.claude/agents/product/product-trend-researcher.md +0 -159
- package/.claude/agents/project-management/project-management-experiment-tracker.md +0 -199
- package/.claude/agents/project-management/project-management-jira-workflow-steward.md +0 -231
- package/.claude/agents/project-management/project-management-project-shepherd.md +0 -195
- package/.claude/agents/project-management/project-management-studio-operations.md +0 -201
- package/.claude/agents/project-management/project-management-studio-producer.md +0 -204
- package/.claude/agents/project-management/project-manager-senior.md +0 -136
- package/.claude/agents/reasoning/agent.md +0 -804
- package/.claude/agents/reasoning/goal-planner.md +0 -73
- package/.claude/agents/sales/sales-account-strategist.md +0 -228
- package/.claude/agents/sales/sales-coach.md +0 -272
- package/.claude/agents/sales/sales-deal-strategist.md +0 -181
- package/.claude/agents/sales/sales-discovery-coach.md +0 -226
- package/.claude/agents/sales/sales-engineer.md +0 -183
- package/.claude/agents/sales/sales-outbound-strategist.md +0 -202
- package/.claude/agents/sales/sales-pipeline-analyst.md +0 -268
- package/.claude/agents/sales/sales-proposal-strategist.md +0 -218
- package/.claude/agents/sona/sona-learning-optimizer.md +0 -65
- package/.claude/agents/spatial-computing/macos-spatial-metal-engineer.md +0 -338
- package/.claude/agents/spatial-computing/terminal-integration-specialist.md +0 -71
- package/.claude/agents/spatial-computing/visionos-spatial-engineer.md +0 -55
- package/.claude/agents/specialists/memory-specialist.md +0 -298
- package/.claude/agents/specialists/performance-engineer.md +0 -387
- package/.claude/agents/specialists/queen-coordinator.md +0 -67
- package/.claude/agents/specialists/security-architect.md +0 -154
- package/.claude/agents/specialized/accounts-payable-agent.md +0 -186
- package/.claude/agents/specialized/corporate-training-designer.md +0 -193
- package/.claude/agents/specialized/data-consolidation-agent.md +0 -61
- package/.claude/agents/specialized/government-digital-presales-consultant.md +0 -364
- package/.claude/agents/specialized/healthcare-marketing-compliance.md +0 -396
- package/.claude/agents/specialized/recruitment-specialist.md +0 -510
- package/.claude/agents/specialized/report-distribution-agent.md +0 -66
- package/.claude/agents/specialized/sales-data-extraction-agent.md +0 -68
- package/.claude/agents/specialized/specialized-french-consulting-market.md +0 -193
- package/.claude/agents/specialized/specialized-korean-business-navigator.md +0 -217
- package/.claude/agents/specialized/specialized-salesforce-architect.md +0 -181
- package/.claude/agents/specialized/study-abroad-advisor.md +0 -283
- package/.claude/agents/specialized/supply-chain-strategist.md +0 -583
- package/.claude/agents/sublinear/consensus-coordinator.md +0 -333
- package/.claude/agents/sublinear/matrix-optimizer.md +0 -180
- package/.claude/agents/sublinear/pagerank-analyzer.md +0 -295
- package/.claude/agents/sublinear/performance-optimizer.md +0 -363
- package/.claude/agents/sublinear/trading-predictor.md +0 -242
- package/.claude/agents/support/support-analytics-reporter.md +0 -366
- package/.claude/agents/support/support-executive-summary-generator.md +0 -213
- package/.claude/agents/support/support-finance-tracker.md +0 -443
- package/.claude/agents/support/support-infrastructure-maintainer.md +0 -619
- package/.claude/agents/support/support-legal-compliance-checker.md +0 -589
- package/.claude/agents/support/support-support-responder.md +0 -586
- package/.claude/agents/swarm/adaptive-coordinator.md +0 -364
- package/.claude/agents/swarm/hierarchical-coordinator.md +0 -318
- package/.claude/agents/templates/github-pr-manager.md +0 -155
- package/.claude/agents/templates/memory-coordinator.md +0 -163
- package/.claude/agents/templates/migration-plan.md +0 -724
- package/.claude/agents/templates/orchestrator-task.md +0 -120
- package/.claude/agents/templates/performance-analyzer.md +0 -179
- package/.claude/agents/templates/sparc-coordinator.md +0 -163
- package/.claude/agents/testing/testing-reality-checker.md +0 -237
- package/.claude/commands/analysis/token-efficiency.md +0 -42
- package/.claude/commands/optimization/README.md +0 -73
- package/.claude/commands/optimization/parallel-execution.md +0 -76
- package/.claude/commands/swarm/swarm-analysis.md +0 -62
- package/.claude/commands/swarm/swarm-background.md +0 -65
- package/.claude/commands/swarm/swarm-modes.md +0 -67
- package/.claude/commands/swarm/swarm-monitor.md +0 -54
- package/.claude/commands/swarm/swarm-status.md +0 -44
- package/.claude/commands/swarm/swarm-strategies.md +0 -76
- package/.claude/commands/training/model-update.md +0 -78
- package/.claude/commands/training/pattern-learn.md +0 -69
- package/.claude/commands/training/specialization.md +0 -92
- package/.claude/commands/verify/check.md +0 -106
- package/.claude/commands/verify/start.md +0 -105
- package/.claude/helpers/README.md +0 -105
- package/.claude/helpers/context-persistence-hook.mjs +0 -1988
- package/.claude/helpers/intelligence.cjs +0 -247
- package/.claude/helpers/learning-service.mjs +0 -1302
- package/.claude/helpers/memory-palace.cjs +0 -461
- package/.claude/helpers/memory.cjs +0 -84
- package/.claude/helpers/metrics-db.mjs +0 -488
- package/.claude/helpers/router.cjs +0 -559
- package/.claude/helpers/session.cjs +0 -126
- package/.claude/helpers/swarm-hooks.sh +0 -761
- package/.claude/helpers/toggle-statusline.cjs +0 -58
- package/.claude/helpers/token-tracker.cjs +0 -934
- package/.claude/skills/agentdb-advanced/SKILL.md +0 -549
- package/.claude/skills/agentdb-learning/SKILL.md +0 -544
- package/.claude/skills/agentdb-memory-patterns/SKILL.md +0 -337
- package/.claude/skills/agentdb-optimization/SKILL.md +0 -508
- package/.claude/skills/agentdb-vector-search/SKILL.md +0 -335
- package/.claude/skills/agentic-integration/SKILL.md +0 -265
- package/.claude/skills/cli-modernization/SKILL.md +0 -950
- package/.claude/skills/core-implementation/SKILL.md +0 -892
- package/.claude/skills/ddd-architecture/SKILL.md +0 -444
- package/.claude/skills/github-code-review/SKILL.md +0 -1147
- package/.claude/skills/github-multi-repo/SKILL.md +0 -912
- package/.claude/skills/github-project-management/SKILL.md +0 -1245
- package/.claude/skills/github-release-management/SKILL.md +0 -1118
- package/.claude/skills/github-workflow-automation/SKILL.md +0 -1107
- package/.claude/skills/mcp-optimization/SKILL.md +0 -837
- package/.claude/skills/memory-unification/SKILL.md +0 -196
- package/.claude/skills/performance-optimization/SKILL.md +0 -416
- package/.claude/skills/reasoningbank-agentdb/SKILL.md +0 -444
- package/.claude/skills/reasoningbank-intelligence/SKILL.md +0 -199
- package/.claude/skills/security-hardening/SKILL.md +0 -101
- package/.claude/skills/stream-chain/SKILL.md +0 -560
- package/.claude/skills/swarm-coordination/SKILL.md +0 -451
- package/bundled-graph/dist/src/analyze.d.ts +0 -32
- package/bundled-graph/dist/src/analyze.d.ts.map +0 -1
- package/bundled-graph/dist/src/analyze.js +0 -297
- package/bundled-graph/dist/src/analyze.js.map +0 -1
- package/bundled-graph/dist/src/build.d.ts +0 -8
- package/bundled-graph/dist/src/build.d.ts.map +0 -1
- package/bundled-graph/dist/src/build.js.map +0 -1
- package/bundled-graph/dist/src/cache.d.ts +0 -12
- package/bundled-graph/dist/src/cache.d.ts.map +0 -1
- package/bundled-graph/dist/src/cache.js +0 -43
- package/bundled-graph/dist/src/cache.js.map +0 -1
- package/bundled-graph/dist/src/cluster.d.ts +0 -5
- package/bundled-graph/dist/src/cluster.d.ts.map +0 -1
- package/bundled-graph/dist/src/cluster.js.map +0 -1
- package/bundled-graph/dist/src/detect.d.ts +0 -21
- package/bundled-graph/dist/src/detect.d.ts.map +0 -1
- package/bundled-graph/dist/src/detect.js +0 -195
- package/bundled-graph/dist/src/detect.js.map +0 -1
- package/bundled-graph/dist/src/export.d.ts +0 -21
- package/bundled-graph/dist/src/export.d.ts.map +0 -1
- package/bundled-graph/dist/src/export.js +0 -68
- package/bundled-graph/dist/src/export.js.map +0 -1
- package/bundled-graph/dist/src/extract/index.d.ts +0 -20
- package/bundled-graph/dist/src/extract/index.d.ts.map +0 -1
- package/bundled-graph/dist/src/extract/index.js +0 -158
- package/bundled-graph/dist/src/extract/index.js.map +0 -1
- package/bundled-graph/dist/src/extract/languages/c.d.ts +0 -3
- package/bundled-graph/dist/src/extract/languages/c.d.ts.map +0 -1
- package/bundled-graph/dist/src/extract/languages/c.js +0 -88
- package/bundled-graph/dist/src/extract/languages/c.js.map +0 -1
- package/bundled-graph/dist/src/extract/languages/cpp.d.ts +0 -3
- package/bundled-graph/dist/src/extract/languages/cpp.d.ts.map +0 -1
- package/bundled-graph/dist/src/extract/languages/cpp.js +0 -121
- package/bundled-graph/dist/src/extract/languages/cpp.js.map +0 -1
- package/bundled-graph/dist/src/extract/languages/csharp.d.ts +0 -3
- package/bundled-graph/dist/src/extract/languages/csharp.d.ts.map +0 -1
- package/bundled-graph/dist/src/extract/languages/csharp.js +0 -121
- package/bundled-graph/dist/src/extract/languages/csharp.js.map +0 -1
- package/bundled-graph/dist/src/extract/languages/go.d.ts +0 -3
- package/bundled-graph/dist/src/extract/languages/go.d.ts.map +0 -1
- package/bundled-graph/dist/src/extract/languages/go.js +0 -181
- package/bundled-graph/dist/src/extract/languages/go.js.map +0 -1
- package/bundled-graph/dist/src/extract/languages/java.d.ts +0 -3
- package/bundled-graph/dist/src/extract/languages/java.d.ts.map +0 -1
- package/bundled-graph/dist/src/extract/languages/java.js +0 -117
- package/bundled-graph/dist/src/extract/languages/java.js.map +0 -1
- package/bundled-graph/dist/src/extract/languages/kotlin.d.ts +0 -3
- package/bundled-graph/dist/src/extract/languages/kotlin.d.ts.map +0 -1
- package/bundled-graph/dist/src/extract/languages/kotlin.js +0 -112
- package/bundled-graph/dist/src/extract/languages/kotlin.js.map +0 -1
- package/bundled-graph/dist/src/extract/languages/php.d.ts +0 -3
- package/bundled-graph/dist/src/extract/languages/php.d.ts.map +0 -1
- package/bundled-graph/dist/src/extract/languages/php.js +0 -130
- package/bundled-graph/dist/src/extract/languages/php.js.map +0 -1
- package/bundled-graph/dist/src/extract/languages/python.d.ts +0 -3
- package/bundled-graph/dist/src/extract/languages/python.d.ts.map +0 -1
- package/bundled-graph/dist/src/extract/languages/python.js +0 -230
- package/bundled-graph/dist/src/extract/languages/python.js.map +0 -1
- package/bundled-graph/dist/src/extract/languages/ruby.d.ts +0 -3
- package/bundled-graph/dist/src/extract/languages/ruby.d.ts.map +0 -1
- package/bundled-graph/dist/src/extract/languages/ruby.js +0 -120
- package/bundled-graph/dist/src/extract/languages/ruby.js.map +0 -1
- package/bundled-graph/dist/src/extract/languages/rust.d.ts +0 -3
- package/bundled-graph/dist/src/extract/languages/rust.d.ts.map +0 -1
- package/bundled-graph/dist/src/extract/languages/rust.js +0 -195
- package/bundled-graph/dist/src/extract/languages/rust.js.map +0 -1
- package/bundled-graph/dist/src/extract/languages/scala.d.ts +0 -3
- package/bundled-graph/dist/src/extract/languages/scala.d.ts.map +0 -1
- package/bundled-graph/dist/src/extract/languages/scala.js +0 -110
- package/bundled-graph/dist/src/extract/languages/scala.js.map +0 -1
- package/bundled-graph/dist/src/extract/languages/swift.d.ts +0 -3
- package/bundled-graph/dist/src/extract/languages/swift.d.ts.map +0 -1
- package/bundled-graph/dist/src/extract/languages/swift.js +0 -122
- package/bundled-graph/dist/src/extract/languages/swift.js.map +0 -1
- package/bundled-graph/dist/src/extract/languages/typescript.d.ts +0 -3
- package/bundled-graph/dist/src/extract/languages/typescript.d.ts.map +0 -1
- package/bundled-graph/dist/src/extract/languages/typescript.js +0 -295
- package/bundled-graph/dist/src/extract/languages/typescript.js.map +0 -1
- package/bundled-graph/dist/src/extract/semantic.d.ts +0 -38
- package/bundled-graph/dist/src/extract/semantic.d.ts.map +0 -1
- package/bundled-graph/dist/src/extract/semantic.js +0 -242
- package/bundled-graph/dist/src/extract/semantic.js.map +0 -1
- package/bundled-graph/dist/src/extract/tree-sitter-runner.d.ts +0 -48
- package/bundled-graph/dist/src/extract/tree-sitter-runner.d.ts.map +0 -1
- package/bundled-graph/dist/src/extract/tree-sitter-runner.js +0 -137
- package/bundled-graph/dist/src/extract/tree-sitter-runner.js.map +0 -1
- package/bundled-graph/dist/src/extract/types.d.ts +0 -7
- package/bundled-graph/dist/src/extract/types.d.ts.map +0 -1
- package/bundled-graph/dist/src/extract/types.js +0 -2
- package/bundled-graph/dist/src/extract/types.js.map +0 -1
- package/bundled-graph/dist/src/index.d.ts +0 -28
- package/bundled-graph/dist/src/index.d.ts.map +0 -1
- package/bundled-graph/dist/src/index.js +0 -26
- package/bundled-graph/dist/src/index.js.map +0 -1
- package/bundled-graph/dist/src/pipeline.d.ts +0 -27
- package/bundled-graph/dist/src/pipeline.d.ts.map +0 -1
- package/bundled-graph/dist/src/pipeline.js +0 -269
- package/bundled-graph/dist/src/pipeline.js.map +0 -1
- package/bundled-graph/dist/src/report.d.ts +0 -26
- package/bundled-graph/dist/src/report.d.ts.map +0 -1
- package/bundled-graph/dist/src/report.js +0 -214
- package/bundled-graph/dist/src/report.js.map +0 -1
- package/bundled-graph/dist/src/types.d.ts +0 -124
- package/bundled-graph/dist/src/types.d.ts.map +0 -1
- package/bundled-graph/dist/src/types.js +0 -2
- package/bundled-graph/dist/src/types.js.map +0 -1
- package/bundled-graph/dist/src/visualize.d.ts +0 -4
- package/bundled-graph/dist/src/visualize.d.ts.map +0 -1
- package/bundled-graph/dist/src/visualize.js +0 -574
- package/bundled-graph/dist/src/visualize.js.map +0 -1
- package/bundled-graph/dist/tsconfig.tsbuildinfo +0 -1
- package/dist/src/ui/dashboard-v2.html +0 -4576
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: agent-browser-testing
|
|
3
|
-
description: UI
|
|
4
|
-
version:
|
|
3
|
+
description: Comprehensive UI QA and browser automation using the native monomind browse CDP client — full test lifecycle from discovery through performance profiling, with structured pass/fail/warn reporting.
|
|
4
|
+
version: 4.0.0
|
|
5
5
|
triggers:
|
|
6
|
+
- /agent-browser-testing
|
|
6
7
|
- /ui-test
|
|
7
8
|
- /browse
|
|
9
|
+
- /qa
|
|
8
10
|
- /crawl
|
|
9
11
|
- ui test
|
|
10
12
|
- test the UI
|
|
@@ -27,285 +29,653 @@ triggers:
|
|
|
27
29
|
- fill out the form
|
|
28
30
|
- log into
|
|
29
31
|
- sign in to
|
|
30
|
-
- submit the form
|
|
31
32
|
tools:
|
|
32
33
|
- Bash
|
|
33
34
|
---
|
|
34
35
|
|
|
35
|
-
#
|
|
36
|
+
# Agent Browser Testing — Full QA Suite
|
|
36
37
|
|
|
37
|
-
|
|
38
|
+
**Engine:** `npx monomind browse` — native TypeScript CDP client. No Playwright, no Puppeteer, no external binary. Every command below goes through this single infrastructure.
|
|
38
39
|
|
|
39
|
-
|
|
40
|
+
**CRITICAL RULE:** Never use `mcp__claude-in-chrome__*`, `mcp__plugin_playwright__*`, or any other browser tool. Always use `npx monomind browse`.
|
|
40
41
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
```
|
|
44
|
-
OPEN → SNAPSHOT → ACT → SNAPSHOT → VERIFY → REPEAT
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
```bash
|
|
48
|
-
# 1. Open the target UI
|
|
49
|
-
npx monomind browse open <url>
|
|
42
|
+
---
|
|
50
43
|
|
|
51
|
-
|
|
52
|
-
npx monomind browse snapshot -i
|
|
44
|
+
## QA Execution Protocol
|
|
53
45
|
|
|
54
|
-
|
|
55
|
-
npx monomind browse click @e1 # click by ref
|
|
56
|
-
npx monomind browse fill @e2 "value" # fill input by ref
|
|
57
|
-
npx monomind browse press Enter # keyboard actions
|
|
46
|
+
When this skill is invoked, run ALL phases unless the user specifies a subset.
|
|
58
47
|
|
|
59
|
-
|
|
60
|
-
npx monomind browse snapshot -i
|
|
48
|
+
### Phase 0 — Pre-flight
|
|
61
49
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
npx monomind browse
|
|
65
|
-
npx monomind browse
|
|
66
|
-
npx monomind browse
|
|
50
|
+
```bash
|
|
51
|
+
# Verify server is reachable before starting
|
|
52
|
+
npx monomind browse open <url>
|
|
53
|
+
npx monomind browse get url # confirm we landed on the right page
|
|
54
|
+
npx monomind browse get title
|
|
55
|
+
npx monomind browse errors # baseline — clear before testing
|
|
67
56
|
```
|
|
68
57
|
|
|
69
|
-
|
|
58
|
+
### Phase 1 — Discovery & Structure Audit
|
|
70
59
|
|
|
71
|
-
### Phase 1 — Discovery
|
|
72
60
|
```bash
|
|
73
|
-
npx monomind browse
|
|
74
|
-
npx monomind browse snapshot
|
|
75
|
-
npx monomind browse
|
|
76
|
-
npx monomind browse
|
|
61
|
+
npx monomind browse snapshot # full AX tree — understand page structure
|
|
62
|
+
npx monomind browse snapshot -i # interactive-only (93% less context)
|
|
63
|
+
npx monomind browse find role link # enumerate all links
|
|
64
|
+
npx monomind browse find role button # enumerate all buttons
|
|
65
|
+
npx monomind browse find role heading # heading hierarchy
|
|
66
|
+
npx monomind browse find role form # form elements
|
|
67
|
+
npx monomind browse find role image # images (check alt text in snapshot)
|
|
77
68
|
```
|
|
78
69
|
|
|
70
|
+
**Report:** page structure, heading hierarchy, interactive element count, any obvious missing landmarks.
|
|
71
|
+
|
|
79
72
|
### Phase 2 — Golden Path Testing
|
|
73
|
+
|
|
74
|
+
Execute the primary user flow end-to-end. Pattern:
|
|
75
|
+
|
|
80
76
|
```bash
|
|
81
|
-
|
|
82
|
-
npx monomind browse open https://app.example.com/login
|
|
77
|
+
npx monomind browse open <url>
|
|
83
78
|
npx monomind browse snapshot -i
|
|
84
|
-
#
|
|
85
|
-
|
|
86
|
-
npx monomind browse fill @
|
|
87
|
-
npx monomind browse click @
|
|
88
|
-
npx monomind browse wait --
|
|
79
|
+
# identify refs → act → re-snapshot → verify
|
|
80
|
+
|
|
81
|
+
npx monomind browse fill @e1 "value"
|
|
82
|
+
npx monomind browse click @e2
|
|
83
|
+
npx monomind browse wait --text "expected result"
|
|
89
84
|
npx monomind browse snapshot -i
|
|
90
|
-
#
|
|
85
|
+
npx monomind browse errors # check after every major action
|
|
91
86
|
```
|
|
92
87
|
|
|
93
|
-
|
|
88
|
+
**Report:** each step result, any deviations from expected state.
|
|
89
|
+
|
|
90
|
+
### Phase 3 — Edge Case & Validation Testing
|
|
91
|
+
|
|
94
92
|
```bash
|
|
95
|
-
# Empty
|
|
96
|
-
npx monomind browse click @
|
|
97
|
-
npx monomind browse wait --text "required"
|
|
93
|
+
# Empty submission
|
|
94
|
+
npx monomind browse click @submit_btn
|
|
95
|
+
npx monomind browse wait --text "required" --timeout 3000
|
|
98
96
|
npx monomind browse snapshot -i
|
|
99
97
|
|
|
100
98
|
# Invalid input
|
|
101
|
-
npx monomind browse fill @
|
|
102
|
-
npx monomind browse click @
|
|
99
|
+
npx monomind browse fill @email_field "not-an-email"
|
|
100
|
+
npx monomind browse click @submit_btn
|
|
103
101
|
npx monomind browse snapshot -i
|
|
104
102
|
|
|
105
|
-
#
|
|
103
|
+
# Boundary values
|
|
104
|
+
npx monomind browse fill @text_field "" # empty
|
|
105
|
+
npx monomind browse fill @text_field "a" # min
|
|
106
|
+
npx monomind browse fill @text_field "$(python3 -c 'print("x"*1000)')" # overflow
|
|
107
|
+
|
|
108
|
+
# Element state checks
|
|
106
109
|
npx monomind browse is visible @e5
|
|
107
110
|
npx monomind browse is enabled @e3
|
|
108
111
|
npx monomind browse is checked @e7
|
|
109
112
|
```
|
|
110
113
|
|
|
111
|
-
### Phase 4 —
|
|
114
|
+
### Phase 4 — Cross-Device & Responsive
|
|
115
|
+
|
|
112
116
|
```bash
|
|
113
|
-
#
|
|
114
|
-
npx monomind browse
|
|
117
|
+
# Mobile
|
|
118
|
+
npx monomind browse set device "iPhone 14"
|
|
119
|
+
npx monomind browse screenshot mobile-portrait.png
|
|
115
120
|
npx monomind browse snapshot -i
|
|
116
121
|
|
|
117
|
-
#
|
|
118
|
-
npx monomind browse
|
|
122
|
+
# Tablet
|
|
123
|
+
npx monomind browse set device "iPad Pro"
|
|
124
|
+
npx monomind browse screenshot tablet.png
|
|
119
125
|
|
|
120
|
-
#
|
|
121
|
-
npx monomind browse
|
|
122
|
-
npx monomind browse
|
|
126
|
+
# Desktop wide
|
|
127
|
+
npx monomind browse resize 1920 1080
|
|
128
|
+
npx monomind browse screenshot desktop-wide.png
|
|
123
129
|
|
|
124
|
-
#
|
|
130
|
+
# Dark mode
|
|
125
131
|
npx monomind browse set media dark
|
|
126
132
|
npx monomind browse screenshot dark-mode.png
|
|
133
|
+
npx monomind browse set media light
|
|
134
|
+
|
|
135
|
+
# Reset
|
|
136
|
+
npx monomind browse resize 1280 800
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
### Phase 5 — Keyboard & Accessibility
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
# Tab order — tab through every focusable element
|
|
143
|
+
npx monomind browse focus @e1
|
|
144
|
+
npx monomind browse press Tab
|
|
145
|
+
npx monomind browse snapshot -i # repeat until full cycle
|
|
146
|
+
|
|
147
|
+
# ARIA roles present
|
|
148
|
+
npx monomind browse find role navigation
|
|
149
|
+
npx monomind browse find role main
|
|
150
|
+
npx monomind browse find role banner
|
|
151
|
+
|
|
152
|
+
# Keyboard activation
|
|
153
|
+
npx monomind browse press Enter # activate focused element
|
|
154
|
+
npx monomind browse press Escape # close modals/dropdowns
|
|
155
|
+
npx monomind browse press Space # toggle checkboxes
|
|
156
|
+
|
|
157
|
+
# Keyboard combos (key combos must use press, not keyboard)
|
|
158
|
+
npx monomind browse press "Control+A"
|
|
159
|
+
npx monomind browse press "Control+Z"
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### Phase 6 — Network & Error Monitoring
|
|
163
|
+
|
|
164
|
+
```bash
|
|
165
|
+
# Start network capture before the flow
|
|
166
|
+
npx monomind browse har start
|
|
167
|
+
# ... run the flow ...
|
|
168
|
+
npx monomind browse har stop --bodies --json # --bodies only valid on stop
|
|
169
|
+
|
|
170
|
+
# Check for failed requests during testing
|
|
171
|
+
npx monomind browse network requests --json
|
|
172
|
+
|
|
173
|
+
# Simulate offline
|
|
174
|
+
npx monomind browse set offline true
|
|
175
|
+
npx monomind browse snapshot -i # should show graceful offline state
|
|
176
|
+
npx monomind browse set offline false
|
|
177
|
+
|
|
178
|
+
# Final error check
|
|
179
|
+
npx monomind browse console # all console output
|
|
180
|
+
npx monomind browse errors # JS exceptions only
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
### Phase 7 — Performance Audit
|
|
184
|
+
|
|
185
|
+
```bash
|
|
186
|
+
# Core Web Vitals
|
|
187
|
+
npx monomind browse vitals --wait 3000 --json
|
|
188
|
+
|
|
189
|
+
# Full trace (open DevTools-compatible)
|
|
190
|
+
npx monomind browse trace start --screenshots
|
|
191
|
+
# ... trigger the critical user flow ...
|
|
192
|
+
npx monomind browse trace stop ./qa-trace.json
|
|
193
|
+
|
|
194
|
+
# HAR for waterfall analysis
|
|
195
|
+
npx monomind browse har start
|
|
196
|
+
npx monomind browse navigate reload
|
|
197
|
+
npx monomind browse wait --load networkidle
|
|
198
|
+
npx monomind browse har stop --bodies --json
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
**Report vitals thresholds:**
|
|
202
|
+
- LCP < 2.5s = PASS, 2.5–4s = WARN, >4s = FAIL
|
|
203
|
+
- CLS < 0.1 = PASS, 0.1–0.25 = WARN, >0.25 = FAIL
|
|
204
|
+
- FCP < 1.8s = PASS, 1.8–3s = WARN, >3s = FAIL
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
## Core Testing Loop
|
|
209
|
+
|
|
210
|
+
```
|
|
211
|
+
OPEN → SNAPSHOT → ACT → SNAPSHOT → VERIFY → REPEAT
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
```bash
|
|
215
|
+
npx monomind browse open <url>
|
|
216
|
+
npx monomind browse snapshot -i
|
|
217
|
+
npx monomind browse click @e1
|
|
218
|
+
npx monomind browse fill @e2 "value"
|
|
219
|
+
npx monomind browse press Enter
|
|
220
|
+
npx monomind browse snapshot -i
|
|
221
|
+
npx monomind browse get text @e5
|
|
222
|
+
npx monomind browse get url
|
|
223
|
+
npx monomind browse wait --text "Success"
|
|
224
|
+
npx monomind browse errors
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
---
|
|
228
|
+
|
|
229
|
+
## Full Command Reference
|
|
230
|
+
|
|
231
|
+
### Navigation & Window
|
|
232
|
+
|
|
233
|
+
```bash
|
|
234
|
+
npx monomind browse open <url> # open URL (launches Chrome if needed)
|
|
235
|
+
npx monomind browse open <url> --headless # headless mode
|
|
236
|
+
npx monomind browse open <url> --session <name> # restore saved session
|
|
237
|
+
npx monomind browse open <url> --state <file> # restore from state file
|
|
238
|
+
npx monomind browse navigate back
|
|
239
|
+
npx monomind browse navigate forward
|
|
240
|
+
npx monomind browse navigate reload
|
|
241
|
+
npx monomind browse pushstate /path # SPA client-side nav
|
|
242
|
+
npx monomind browse resize 1280 800
|
|
243
|
+
npx monomind browse connect --port 9222 # attach to running Chrome
|
|
244
|
+
npx monomind browse connect --port 9222 --target <id>
|
|
245
|
+
npx monomind browse close
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
### Snapshot & Element Discovery
|
|
249
|
+
|
|
250
|
+
```bash
|
|
251
|
+
npx monomind browse snapshot # full AX tree
|
|
252
|
+
npx monomind browse snapshot -i # interactive elements only
|
|
253
|
+
npx monomind browse snapshot --compact # compact format
|
|
254
|
+
npx monomind browse snapshot --json # machine-readable
|
|
255
|
+
npx monomind browse snapshot --depth 3 # limit tree depth
|
|
256
|
+
npx monomind browse snapshot --selector "#modal" # scope to element
|
|
257
|
+
|
|
258
|
+
npx monomind browse get url
|
|
259
|
+
npx monomind browse get title
|
|
260
|
+
npx monomind browse get text # full page text
|
|
261
|
+
npx monomind browse get text @eN # element text
|
|
262
|
+
npx monomind browse get html # full page HTML (ref arg is ignored — always returns full doc)
|
|
263
|
+
# for element HTML: npx monomind browse eval "document.querySelector('...').outerHTML"
|
|
264
|
+
npx monomind browse get value @eN
|
|
265
|
+
npx monomind browse get attr @eN href
|
|
266
|
+
npx monomind browse get count "button" # count elements matching CSS selector
|
|
267
|
+
npx monomind browse get box @eN # bounding box {x,y,width,height}
|
|
268
|
+
npx monomind browse get styles @eN # computed styles
|
|
269
|
+
npx monomind browse is checked @eN
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
### Element Finders (semantic — no CSS selectors needed)
|
|
273
|
+
|
|
274
|
+
```bash
|
|
275
|
+
npx monomind browse find role button # by ARIA role
|
|
276
|
+
npx monomind browse find role button --name "Submit"
|
|
277
|
+
npx monomind browse find text "Delete" # by visible text
|
|
278
|
+
npx monomind browse find label "Email" # by label text
|
|
279
|
+
npx monomind browse find testid "submit-btn" # by data-testid
|
|
280
|
+
npx monomind browse find role link --nth 2 # nth match
|
|
281
|
+
npx monomind browse find role image --last # last match
|
|
282
|
+
npx monomind browse find placeholder "Search..." # by placeholder text
|
|
283
|
+
npx monomind browse find selector "div.modal" # by CSS selector
|
|
284
|
+
|
|
285
|
+
# Inline action after find
|
|
286
|
+
npx monomind browse find role button --name "Submit" click
|
|
287
|
+
npx monomind browse find label "Email" fill "test@example.com"
|
|
288
|
+
npx monomind browse find text "Delete" click
|
|
289
|
+
|
|
290
|
+
# State checks
|
|
291
|
+
npx monomind browse is visible @eN
|
|
292
|
+
npx monomind browse is enabled @eN
|
|
293
|
+
npx monomind browse is checked @eN
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
### Interaction
|
|
297
|
+
|
|
298
|
+
```bash
|
|
299
|
+
npx monomind browse click @eN
|
|
300
|
+
npx monomind browse click @eN --right # right-click
|
|
301
|
+
npx monomind browse click @eN --double # double-click (or dblclick)
|
|
302
|
+
npx monomind browse dblclick @eN
|
|
303
|
+
npx monomind browse hover @eN
|
|
304
|
+
npx monomind browse focus @eN
|
|
305
|
+
npx monomind browse fill @eN "text" # clear + type (fast)
|
|
306
|
+
npx monomind browse type @eN "text" # char-by-char (triggers keypress)
|
|
307
|
+
npx monomind browse press Enter # key on focused element
|
|
308
|
+
npx monomind browse press Tab
|
|
309
|
+
npx monomind browse press Escape
|
|
310
|
+
npx monomind browse press "Control+A"
|
|
311
|
+
npx monomind browse press "Control+Shift+I" # key combos always use press
|
|
312
|
+
npx monomind browse keyboard type "Hello" # insert text without targeting an element
|
|
313
|
+
npx monomind browse keyboard inserttext "Hello" # alias for keyboard type
|
|
314
|
+
npx monomind browse keydown "Shift"
|
|
315
|
+
npx monomind browse keyup "Shift"
|
|
316
|
+
npx monomind browse select @eN "Option A" # select dropdown option
|
|
317
|
+
npx monomind browse check @eN
|
|
318
|
+
npx monomind browse uncheck @eN
|
|
319
|
+
npx monomind browse scroll down --ref eN --amount 400 # scroll within element
|
|
320
|
+
npx monomind browse scroll down --amount 600 # scroll page
|
|
321
|
+
npx monomind browse scrollintoview @eN
|
|
322
|
+
npx monomind browse drag @eN @eM # drag source to target
|
|
323
|
+
npx monomind browse upload @eN ./file.pdf # file input
|
|
324
|
+
npx monomind browse highlight @eN # visual debug highlight
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
### Low-Level Mouse
|
|
328
|
+
|
|
329
|
+
```bash
|
|
330
|
+
npx monomind browse mouse move 400 300
|
|
331
|
+
npx monomind browse mouse down --button left
|
|
332
|
+
npx monomind browse mouse down --button right
|
|
333
|
+
npx monomind browse mouse up
|
|
334
|
+
npx monomind browse mouse wheel 0 0 200 # x y deltaY [deltaX] — scroll down 200px
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
### Clipboard
|
|
338
|
+
|
|
339
|
+
```bash
|
|
340
|
+
npx monomind browse clipboard read
|
|
341
|
+
npx monomind browse clipboard write "paste me"
|
|
342
|
+
npx monomind browse clipboard copy # copy selected text
|
|
343
|
+
npx monomind browse clipboard paste # paste at focused element
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
### Wait & Assertions
|
|
347
|
+
|
|
348
|
+
```bash
|
|
349
|
+
npx monomind browse wait --text "Success"
|
|
350
|
+
npx monomind browse wait --not-text "Loading"
|
|
351
|
+
npx monomind browse wait --url "**/dashboard"
|
|
352
|
+
npx monomind browse wait --selector "#modal"
|
|
353
|
+
npx monomind browse wait --load networkidle
|
|
354
|
+
npx monomind browse wait --load load
|
|
355
|
+
npx monomind browse wait --load domcontentloaded
|
|
356
|
+
npx monomind browse wait --ms 500
|
|
357
|
+
npx monomind browse wait --fn "window.__ready === true"
|
|
358
|
+
npx monomind browse wait --text "Done" --timeout 10000
|
|
359
|
+
```
|
|
360
|
+
|
|
361
|
+
### Screenshots & Visual Evidence
|
|
362
|
+
|
|
363
|
+
```bash
|
|
364
|
+
npx monomind browse screenshot before.png
|
|
365
|
+
npx monomind browse screenshot --full page.png # full-page
|
|
366
|
+
npx monomind browse screenshot --format webp --quality 90 out.webp
|
|
367
|
+
npx monomind browse screenshot --json # returns path
|
|
368
|
+
npx monomind browse pdf ./output.pdf
|
|
369
|
+
npx monomind browse pdf --landscape ./report.pdf
|
|
370
|
+
```
|
|
371
|
+
|
|
372
|
+
### Console, Errors & JavaScript
|
|
373
|
+
|
|
374
|
+
```bash
|
|
375
|
+
npx monomind browse console # all console messages
|
|
376
|
+
npx monomind browse console --clear # clear console history
|
|
377
|
+
npx monomind browse console --errors-only # only error-level messages
|
|
378
|
+
npx monomind browse errors # JS exceptions only
|
|
379
|
+
npx monomind browse errors --clear # clear exception history
|
|
380
|
+
npx monomind browse errors --json # machine-readable output
|
|
381
|
+
npx monomind browse eval "document.title"
|
|
382
|
+
npx monomind browse eval "document.querySelectorAll('button').length"
|
|
383
|
+
npx monomind browse eval "window.__store.getState()" --json
|
|
384
|
+
npx monomind browse addinitscript "window.__TEST__ = true"
|
|
385
|
+
npx monomind browse removeinitscript <id>
|
|
386
|
+
```
|
|
387
|
+
|
|
388
|
+
### Network
|
|
389
|
+
|
|
390
|
+
```bash
|
|
391
|
+
# Route interception
|
|
392
|
+
npx monomind browse network route --pattern "https://api.*" --abort
|
|
393
|
+
npx monomind browse network route --pattern "*/graphql" --fulfill '{"data":{}}' --status 200
|
|
394
|
+
npx monomind browse network route --pattern "*.png" --abort
|
|
395
|
+
npx monomind browse network unroute # disable ALL interception (pattern arg is ignored)
|
|
396
|
+
|
|
397
|
+
# Extra headers for all requests
|
|
398
|
+
npx monomind browse network headers --headers '{"X-Test":"true"}'
|
|
399
|
+
|
|
400
|
+
# Request log
|
|
401
|
+
npx monomind browse network capture start
|
|
402
|
+
npx monomind browse network capture stop
|
|
403
|
+
npx monomind browse network capture clear
|
|
404
|
+
npx monomind browse network requests --json
|
|
405
|
+
npx monomind browse network cookies # cookies via network layer
|
|
406
|
+
```
|
|
407
|
+
|
|
408
|
+
### Tabs & Frames
|
|
409
|
+
|
|
410
|
+
```bash
|
|
411
|
+
npx monomind browse tab list
|
|
412
|
+
npx monomind browse tab new https://example.com
|
|
413
|
+
npx monomind browse tab <targetId> # switch to tab by id
|
|
414
|
+
npx monomind browse tab close <targetId>
|
|
415
|
+
npx monomind browse frame @eN # switch into iframe
|
|
416
|
+
npx monomind browse frame main # back to main frame
|
|
127
417
|
```
|
|
128
418
|
|
|
129
|
-
###
|
|
130
|
-
|
|
419
|
+
### Dialogs
|
|
420
|
+
|
|
421
|
+
```bash
|
|
422
|
+
# Auto-accepted by default. Override:
|
|
423
|
+
npx monomind browse dialog accept
|
|
424
|
+
npx monomind browse dialog accept "confirm text"
|
|
425
|
+
npx monomind browse dialog dismiss
|
|
426
|
+
npx monomind browse dialog status
|
|
427
|
+
```
|
|
428
|
+
|
|
429
|
+
### Storage & Cookies
|
|
430
|
+
|
|
431
|
+
```bash
|
|
432
|
+
npx monomind browse storage local # list all entries
|
|
433
|
+
npx monomind browse storage local <key> # get a specific key
|
|
434
|
+
npx monomind browse storage local <key> --set "value" # set a key
|
|
435
|
+
npx monomind browse storage local <key> --remove # remove a key
|
|
436
|
+
npx monomind browse storage local --clear # clear all
|
|
437
|
+
npx monomind browse storage session # list all session entries
|
|
438
|
+
npx monomind browse storage session <key> # get session key
|
|
439
|
+
npx monomind browse cookies list
|
|
440
|
+
npx monomind browse cookies set --name token --value abc123
|
|
441
|
+
npx monomind browse cookies clear
|
|
442
|
+
```
|
|
443
|
+
|
|
444
|
+
### Device & Emulation
|
|
445
|
+
|
|
446
|
+
```bash
|
|
447
|
+
npx monomind browse set device "iPhone 14"
|
|
448
|
+
npx monomind browse set device "Galaxy S21"
|
|
449
|
+
npx monomind browse set device "iPad Pro"
|
|
450
|
+
npx monomind browse set media dark
|
|
451
|
+
npx monomind browse set media light
|
|
452
|
+
npx monomind browse set geo 37.7749 -122.4194
|
|
453
|
+
npx monomind browse set offline true
|
|
454
|
+
npx monomind browse set offline false
|
|
455
|
+
npx monomind browse set useragent "Mozilla/5.0 ..."
|
|
456
|
+
npx monomind browse set viewport 1440 900 # width height [deviceScaleFactor]
|
|
457
|
+
npx monomind browse set credentials user pass
|
|
131
458
|
```
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
459
|
+
|
|
460
|
+
### Session Persistence
|
|
461
|
+
|
|
462
|
+
```bash
|
|
463
|
+
npx monomind browse state save <name>
|
|
464
|
+
npx monomind browse state load <name>
|
|
465
|
+
npx monomind browse state list
|
|
466
|
+
npx monomind browse state show # inspect current active session
|
|
467
|
+
npx monomind browse state clear # clear current active session
|
|
135
468
|
```
|
|
136
469
|
|
|
137
|
-
|
|
470
|
+
### Performance & Diagnostics
|
|
471
|
+
|
|
472
|
+
```bash
|
|
473
|
+
# Core Web Vitals
|
|
474
|
+
npx monomind browse vitals --wait 3000 --json
|
|
475
|
+
|
|
476
|
+
# CPU profiler
|
|
477
|
+
npx monomind browse profiler start --interval 1000 # interval in microseconds (1000µs = 1ms)
|
|
478
|
+
npx monomind browse profiler stop --json
|
|
479
|
+
|
|
480
|
+
# Heap snapshot
|
|
481
|
+
npx monomind browse profiler heap ./heap.json
|
|
482
|
+
|
|
483
|
+
# Chrome trace
|
|
484
|
+
npx monomind browse trace start --screenshots
|
|
485
|
+
npx monomind browse trace stop ./trace.json
|
|
486
|
+
|
|
487
|
+
# HAR (full HTTP archive with bodies)
|
|
488
|
+
npx monomind browse har start
|
|
489
|
+
npx monomind browse har status
|
|
490
|
+
npx monomind browse har stop --bodies --json # --bodies only valid on stop
|
|
491
|
+
|
|
492
|
+
# Screen recording (frame sequence)
|
|
493
|
+
npx monomind browse record start --format jpeg --quality 80
|
|
494
|
+
npx monomind browse record status
|
|
495
|
+
npx monomind browse record stop --json
|
|
496
|
+
|
|
497
|
+
# Trace status
|
|
498
|
+
npx monomind browse trace status
|
|
499
|
+
```
|
|
500
|
+
|
|
501
|
+
### Batch Execution
|
|
502
|
+
|
|
503
|
+
```bash
|
|
504
|
+
# Run multiple commands in one CDP session (fastest for scripted flows)
|
|
505
|
+
npx monomind browse batch "open https://app.com" "snapshot -i" "click @e3" "wait --text Done"
|
|
506
|
+
npx monomind browse batch --bail "open https://app.com" "click @e3" # stop on first error
|
|
507
|
+
# Note: --json stdin pipe flag is declared but not implemented; use positional args only
|
|
508
|
+
```
|
|
509
|
+
|
|
510
|
+
---
|
|
511
|
+
|
|
512
|
+
## Common QA Patterns
|
|
513
|
+
|
|
514
|
+
### Login / Auth Flow
|
|
138
515
|
|
|
139
|
-
### Login / Auth
|
|
140
516
|
```bash
|
|
141
517
|
npx monomind browse open <login-url>
|
|
142
518
|
npx monomind browse snapshot -i
|
|
143
519
|
npx monomind browse fill @e1 "user@test.com"
|
|
144
520
|
npx monomind browse fill @e2 "TestPass123!"
|
|
145
521
|
npx monomind browse click @e3
|
|
146
|
-
npx monomind browse wait --url "**/dashboard" --timeout
|
|
522
|
+
npx monomind browse wait --url "**/dashboard" --timeout 8000
|
|
147
523
|
npx monomind browse errors
|
|
524
|
+
npx monomind browse screenshot post-login.png
|
|
148
525
|
```
|
|
149
526
|
|
|
150
|
-
### Form
|
|
527
|
+
### Form with Validation
|
|
528
|
+
|
|
151
529
|
```bash
|
|
152
530
|
npx monomind browse open <form-url>
|
|
153
531
|
npx monomind browse snapshot -i
|
|
532
|
+
# Happy path
|
|
154
533
|
npx monomind browse fill @e1 "John Doe"
|
|
155
534
|
npx monomind browse fill @e2 "john@test.com"
|
|
156
535
|
npx monomind browse select @e3 "Option A"
|
|
157
536
|
npx monomind browse check @e4
|
|
158
537
|
npx monomind browse click @e5
|
|
159
538
|
npx monomind browse wait --text "submitted"
|
|
160
|
-
npx monomind browse screenshot
|
|
539
|
+
npx monomind browse screenshot form-success.png
|
|
540
|
+
# Validation
|
|
541
|
+
npx monomind browse navigate back
|
|
542
|
+
npx monomind browse click @e5 # submit empty
|
|
543
|
+
npx monomind browse snapshot -i # should show errors
|
|
161
544
|
```
|
|
162
545
|
|
|
163
546
|
### Multi-Step Wizard
|
|
547
|
+
|
|
164
548
|
```bash
|
|
165
549
|
npx monomind browse open <wizard-url>
|
|
166
550
|
npx monomind browse snapshot -i
|
|
167
551
|
npx monomind browse fill @e1 "value"
|
|
168
552
|
npx monomind browse click @e2
|
|
169
553
|
npx monomind browse wait --text "Step 2"
|
|
170
|
-
|
|
171
554
|
npx monomind browse snapshot -i
|
|
172
555
|
npx monomind browse select @e3 "choice"
|
|
173
556
|
npx monomind browse click @e4
|
|
174
|
-
|
|
175
|
-
npx monomind browse snapshot -i
|
|
176
|
-
npx monomind browse get text @e5
|
|
177
|
-
npx monomind browse click @e6
|
|
178
557
|
npx monomind browse wait --text "Complete"
|
|
558
|
+
npx monomind browse screenshot wizard-complete.png
|
|
179
559
|
```
|
|
180
560
|
|
|
181
561
|
### CRUD Operations
|
|
562
|
+
|
|
182
563
|
```bash
|
|
183
564
|
# Create
|
|
184
|
-
npx monomind browse click @
|
|
185
|
-
npx monomind browse fill @
|
|
186
|
-
npx monomind browse click @
|
|
565
|
+
npx monomind browse click @new_btn
|
|
566
|
+
npx monomind browse fill @name_field "New Item"
|
|
567
|
+
npx monomind browse click @save_btn
|
|
187
568
|
npx monomind browse wait --text "New Item"
|
|
188
|
-
|
|
189
569
|
# Update
|
|
190
570
|
npx monomind browse find text "Edit" click
|
|
191
|
-
npx monomind browse fill @
|
|
192
|
-
npx monomind browse click @
|
|
193
|
-
|
|
571
|
+
npx monomind browse fill @name_field "Updated Item"
|
|
572
|
+
npx monomind browse click @save_btn
|
|
573
|
+
npx monomind browse wait --text "Updated Item"
|
|
194
574
|
# Delete
|
|
195
575
|
npx monomind browse find text "Delete" click
|
|
196
576
|
npx monomind browse wait --text "Are you sure"
|
|
197
|
-
npx monomind browse click @
|
|
577
|
+
npx monomind browse click @confirm_btn
|
|
198
578
|
npx monomind browse wait --load networkidle
|
|
199
579
|
```
|
|
200
580
|
|
|
201
|
-
|
|
581
|
+
### API Mock Testing
|
|
202
582
|
|
|
203
|
-
Prefer element refs from snapshots — they're deterministic:
|
|
204
583
|
```bash
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
npx monomind browse
|
|
584
|
+
# Intercept API, return controlled data
|
|
585
|
+
npx monomind browse network route --pattern "*/api/users" --fulfill '{"users":[]}' --status 200
|
|
586
|
+
npx monomind browse open <url>
|
|
587
|
+
npx monomind browse snapshot -i # should show empty state UI
|
|
588
|
+
npx monomind browse screenshot empty-state.png
|
|
589
|
+
# Intercept with error
|
|
590
|
+
npx monomind browse network route --pattern "*/api/users" --fulfill '{"error":"forbidden"}' --status 403
|
|
591
|
+
npx monomind browse navigate reload
|
|
592
|
+
npx monomind browse snapshot -i # should show error state
|
|
208
593
|
```
|
|
209
594
|
|
|
210
|
-
|
|
211
|
-
```bash
|
|
212
|
-
npx monomind browse find role button click --name "Submit"
|
|
213
|
-
npx monomind browse find label "Email" fill "test@example.com"
|
|
214
|
-
npx monomind browse find text "Delete" click
|
|
215
|
-
npx monomind browse find testid "submit-btn" click
|
|
216
|
-
```
|
|
595
|
+
---
|
|
217
596
|
|
|
218
597
|
## Task Walkthrough Mode
|
|
219
598
|
|
|
220
|
-
When helping a user accomplish a task in a UI:
|
|
599
|
+
When helping a user accomplish a task in a live UI:
|
|
221
600
|
|
|
222
|
-
1.
|
|
223
|
-
2.
|
|
224
|
-
3.
|
|
225
|
-
4.
|
|
226
|
-
5.
|
|
227
|
-
6. **Confirm completion** — show what changed
|
|
601
|
+
1. Ask for the URL if not provided
|
|
602
|
+
2. `open` + `snapshot -i` — describe what's on screen (title, sections, available actions)
|
|
603
|
+
3. Propose the steps to accomplish the task
|
|
604
|
+
4. Execute step by step, narrating each action and what changed
|
|
605
|
+
5. Confirm completion with a screenshot
|
|
228
606
|
|
|
229
607
|
```bash
|
|
230
608
|
npx monomind browse open https://app.example.com
|
|
231
609
|
npx monomind browse snapshot -i
|
|
232
|
-
# → "I
|
|
610
|
+
# → "I see: navbar with 'New Project' @e3, project list below with 2 items"
|
|
233
611
|
npx monomind browse click @e3
|
|
234
612
|
npx monomind browse snapshot -i
|
|
235
|
-
# → "Modal opened
|
|
236
|
-
npx monomind browse fill @e8 "My
|
|
613
|
+
# → "Modal opened: Name field @e8, Template selector @e9, Create @e11"
|
|
614
|
+
npx monomind browse fill @e8 "My Project"
|
|
237
615
|
npx monomind browse click @e11
|
|
238
|
-
npx monomind browse wait --text "My
|
|
239
|
-
|
|
616
|
+
npx monomind browse wait --text "My Project"
|
|
617
|
+
npx monomind browse screenshot created.png
|
|
618
|
+
# → "Project created — visible in list"
|
|
240
619
|
```
|
|
241
620
|
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
```bash
|
|
245
|
-
npx monomind browse screenshot before-action.png
|
|
246
|
-
npx monomind browse click @e1
|
|
247
|
-
npx monomind browse screenshot after-action.png
|
|
248
|
-
|
|
249
|
-
# Full page screenshot
|
|
250
|
-
npx monomind browse screenshot --full full-page.png
|
|
251
|
-
```
|
|
621
|
+
---
|
|
252
622
|
|
|
253
|
-
##
|
|
623
|
+
## QA Report Format
|
|
254
624
|
|
|
255
|
-
|
|
256
|
-
# Console & error monitoring
|
|
257
|
-
npx monomind browse console
|
|
258
|
-
npx monomind browse errors
|
|
625
|
+
After every test session output a structured report:
|
|
259
626
|
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
# Device emulation
|
|
264
|
-
npx monomind browse set device "iPhone 14"
|
|
265
|
-
npx monomind browse set device "Galaxy S21"
|
|
627
|
+
```
|
|
628
|
+
## QA Report — <url> — <date>
|
|
266
629
|
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
630
|
+
### Summary
|
|
631
|
+
- Pages tested: N
|
|
632
|
+
- Total checks: N
|
|
633
|
+
- PASS: N WARN: N FAIL: N
|
|
270
634
|
|
|
271
|
-
|
|
272
|
-
npx monomind browse drag @e1 @e2
|
|
635
|
+
### Results
|
|
273
636
|
|
|
274
|
-
|
|
275
|
-
|
|
637
|
+
PASS Login flow completes and redirects to /dashboard
|
|
638
|
+
PASS Form validation shows errors on empty submit
|
|
639
|
+
WARN LCP = 3.2s (threshold: 2.5s) — images not lazy-loaded
|
|
640
|
+
FAIL Delete confirmation dialog blocks further automation — avoid triggering
|
|
641
|
+
FAIL Mobile layout: navigation overflows viewport at 375px
|
|
276
642
|
|
|
277
|
-
|
|
278
|
-
npx monomind browse
|
|
279
|
-
npx monomind browse cookies set --name token --value abc123
|
|
643
|
+
### JS Errors
|
|
644
|
+
<list from `npx monomind browse errors`>
|
|
280
645
|
|
|
281
|
-
|
|
282
|
-
|
|
646
|
+
### Performance
|
|
647
|
+
LCP: Xs CLS: X FCP: Xs TTFB: Xms
|
|
283
648
|
|
|
284
|
-
|
|
285
|
-
|
|
649
|
+
### Screenshots
|
|
650
|
+
- before-action.png
|
|
651
|
+
- after-action.png
|
|
652
|
+
- mobile-portrait.png
|
|
286
653
|
```
|
|
287
654
|
|
|
288
|
-
|
|
655
|
+
---
|
|
656
|
+
|
|
657
|
+
## Memory Integration
|
|
289
658
|
|
|
290
659
|
```bash
|
|
291
|
-
# Store successful test patterns
|
|
660
|
+
# Store successful test patterns after a passing run
|
|
292
661
|
npx monomind memory store \
|
|
293
662
|
--namespace ui-testing \
|
|
294
663
|
--key "login-flow-<app-name>" \
|
|
295
664
|
--value "open→snapshot -i→fill @e1 email→fill @e2 pass→click @e3→wait dashboard"
|
|
296
665
|
|
|
297
|
-
# Retrieve before re-testing
|
|
666
|
+
# Retrieve before re-testing the same app
|
|
298
667
|
npx monomind memory search --query "login flow" --namespace ui-testing
|
|
299
668
|
```
|
|
300
669
|
|
|
670
|
+
---
|
|
671
|
+
|
|
301
672
|
## Activation Checklist
|
|
302
673
|
|
|
303
|
-
When this skill
|
|
304
|
-
- [ ] Get the URL
|
|
305
|
-
- [ ] Run `
|
|
306
|
-
- [ ]
|
|
307
|
-
- [ ]
|
|
308
|
-
- [ ] Run `
|
|
309
|
-
- [ ]
|
|
310
|
-
- [ ]
|
|
311
|
-
- [ ] Store successful patterns in memory for reuse
|
|
674
|
+
When this skill fires:
|
|
675
|
+
- [ ] Get the URL (ask if not provided)
|
|
676
|
+
- [ ] Run `open` + `errors` baseline
|
|
677
|
+
- [ ] Run all 7 QA phases (or subset the user requested)
|
|
678
|
+
- [ ] Screenshot key states: initial, post-action, errors, mobile
|
|
679
|
+
- [ ] Run `vitals` for any performance claim
|
|
680
|
+
- [ ] Output structured QA report with PASS/WARN/FAIL
|
|
681
|
+
- [ ] Store patterns in memory if the flow was new and successful
|