scoutqa-test

작성자: github

웹 애플리케이션을 위한 AI 기반 탐색적 테스트로, 자율적인 이슈 발견 및 검증 기능을 제공합니다. 자연어 테스트 프롬프트를 통해 웹 애플리케이션을 자율적으로 탐색하고 버그를 발견하며 기능을 검증합니다. 수동 설정 없이 localhost 테스트를 지원합니다. 인증, 접근성, 전자상거래 흐름 등 다양한 영역에서 테스트를 병렬로 실행하여 작업을 계속하면서 커버리지를 극대화합니다. 처음 5초 내에 실행 ID와 브라우저 URL을 캡처한 후 계속 실행됩니다...

npx skills add https://github.com/github/awesome-copilot --skill scoutqa-test

ScoutQA Testing Skill

Perform AI-powered exploratory testing on web applications using the scoutqa CLI.

Think of ScoutQA as an intelligent testing partner that can autonomously explore, discover issues, and verify features. Delegate testing to multiple parallel ScoutQA executions to maximize coverage while saving time.

When to Use This Skill

Use this skill in two scenarios:

  1. User requests testing - When the user explicitly asks to test a website or verify functionality
  2. Proactive verification - After implementing web features, automatically run tests to verify the implementation works correctly

Example proactive usage:

  • After implementing a login form → Test the authentication flow
  • After adding form validation → Verify validation rules and error handling
  • After building a checkout flow → Test the end-to-end purchase process
  • After fixing a bug → Verify the fix works and didn't break other features

Best practice: When you finish implementing a web feature, proactively start a ScoutQA test in the background to verify it works while you continue with other tasks.

Running Tests

Testing Workflow

Copy this checklist and track your progress:

Testing Progress:

  • Write specific test prompt with clear expectations
  • Run scoutqa command in background
  • Inform user of execution ID and browser URL
  • Extract and analyze results

Step 1: Write specific test prompt

See "Writing Effective Prompts" section below for guidelines.

Step 2: Run scoutqa command

IMPORTANT: Use the Bash tool's timeout parameter (5000ms = 5 seconds) to capture execution details:

When calling the Bash tool, set timeout: 5000 as a parameter:

  • This is the Bash tool's built-in timeout parameter in Claude Code (NOT the Unix timeout command)
  • After 5 seconds, the Bash tool returns control with a task ID and the process continues running in the background
  • This is different from Unix timeout which kills the process - here the process keeps running
  • The first 5 seconds capture the execution ID and browser URL from ScoutQA's output
  • The test continues running remotely on ScoutQA's infrastructure with the background task
scoutqa --url "https://example.com" --prompt "Your test instructions"

In the first few seconds, the command will output:

  • Execution ID (e.g., 019b831d-xxx)
  • Browser URL (e.g., https://app.scoutqa.ai/t/019b831d-xxx)
  • Initial tool calls showing test progress

After the 5-second timeout, the Bash tool returns a task ID and the command continues running in the background. You can work on other tasks while the test runs. The timeout is only to capture the initial output (execution ID and browser URL) - the test keeps running both locally as a background task and remotely on ScoutQA's infrastructure.

Step 3: Inform user of execution ID and browser URL

After the Bash tool returns with the task ID (having captured the execution details in the first 5 seconds), inform the user of:

  • The ScoutQA execution ID and browser URL so they can monitor progress in their browser
  • The background task ID if they want to check local command output later

The test continues running in the background while you continue other work.

Step 4: Extract and analyze results

See "Presenting Results" section below for the complete format.

Command Options

  • --url (required): Website URL to test (supports localhost / 127.0.0.1)
  • --prompt (required): Natural language testing instructions
  • --project-id (optional): Associate with a project for tracking
  • -v, --verbose (optional): Show all tool calls including internal ones

Local Testing Support

ScoutQA supports testing localhost and 127.0.0.1 URLs autonomously — no manual setup required.

# Seamlessly test a locally running app when you're developing your app
scoutqa --url "http://localhost:3000" --prompt "Test the registration form"

When to Use Each Command

Starting a new test? → Use scoutqa --url --prompt Verifying a known issue? → Use scoutqa issue-verify --issue-id <id> Finding issue IDs from an execution? → Use scoutqa list-issues --execution-id <id> Agent needs more context? → Use scoutqa send-message (see "Following Up on Stuck Executions")

Writing Effective Prompts

Focus on what to explore and verify, not prescriptive steps. ScoutQA autonomously determines how to test.

Example: User registration flow

scoutqa --url "https://example.com" --prompt "
Explore the user registration flow. Test form validation edge cases,
verify error handling, and check accessibility compliance.
"

Example: E-commerce checkout

scoutqa --url "https://shop.example.com" --prompt "
Test the checkout flow. Verify pricing calculations, cart persistence,
payment options, and mobile responsiveness.
"

Example: Running parallel tests for comprehensive coverage

Launch multiple tests in parallel by making multiple Bash tool calls in a single message, each with the Bash tool's timeout parameter set to 5000 (milliseconds):

# Test 1: Authentication & security
scoutqa --url "https://app.example.com" --prompt "
Explore authentication: login/logout, session handling, password reset,
and security edge cases.
"

# Test 2: Core features (runs in parallel)
scoutqa --url "https://app.example.com" --prompt "
Test dashboard and main user workflows. Verify data loading,
CRUD operations, and search functionality.
"

# Test 3: Accessibility (runs in parallel)
scoutqa --url "https://app.example.com" --prompt "
Conduct accessibility audit: WCAG compliance, keyboard navigation,
screen reader support, color contrast.
"

Implementation: Send a single message with three Bash tool calls. For each Bash tool invocation, set the timeout parameter to 5000 milliseconds. After 5 seconds, each Bash call returns with a task ID while the processes continue running in the background. This captures the execution ID and browser URL from each test in the initial output, then all three continue running in parallel (both as background tasks locally and remotely on ScoutQA's infrastructure).

Key guidelines:

  • Describe what to test, not how to test (ScoutQA figures out the steps)
  • Focus on goals, edge cases, and concerns
  • Run multiple parallel executions for different test areas
  • Trust ScoutQA to autonomously explore and discover issues
  • Always set the Bash tool's timeout parameter to 5000 milliseconds when calling scoutqa commands (this returns control after 5 seconds while the process continues in the background)
  • For parallel tests, make multiple Bash tool calls in a single message
  • Remember: Bash tool timeout ≠ Unix timeout command (Bash timeout continues the process in background, Unix timeout kills it)

Common Test Scenarios

Post-deployment smoke test:

scoutqa --url "$URL" --prompt "
Smoke test: verify critical functionality works after deployment.
Check homepage, navigation, login/logout, and key user flows.
"

Accessibility audit:

scoutqa --url "$URL" --prompt "
Audit accessibility: WCAG 2.1 AA compliance, keyboard navigation,
screen reader support, color contrast, and semantic HTML.
"

E-commerce testing:

scoutqa --url "$URL" --prompt "
Explore e-commerce functionality: product search/filtering,
cart operations, checkout flow, and pricing calculations.
"

SaaS application:

scoutqa --url "$URL" --prompt "
Test SaaS app: authentication, dashboard, CRUD operations,
permissions, and data integrity.
"

Form validation:

scoutqa --url "$URL" --prompt "
Test form validation: edge cases, error handling, required fields,
format validation, and successful submission.
"

Mobile responsiveness:

scoutqa --url "$URL" --prompt "
Check mobile experience: responsive layout, navigation,
touch interactions, and viewport behavior.
"

Verification of a known issue:

# First, find issue IDs from a previous execution
scoutqa list-issues --execution-id <executionId>

# Then verify the issue (creates a new verification execution automatically)
scoutqa issue-verify --issue-id <issueId>

The issue-verify command will:

  1. Create a verification execution for the issue
  2. Show the execution ID and browser URL
  3. Stream the agent's verification progress in real-time
  4. Display a completion summary with a link to results

Feature verification (after implementation):

scoutqa --url "$URL" --prompt "
Verify the new [feature name] works correctly. Test core functionality,
edge cases, error handling, and integration with existing features.
"

Example: Proactive testing after coding a feature

After implementing a user registration form, automatically verify it works:

scoutqa --url "http://localhost:3000/register" --prompt "
Test the newly implemented registration form. Verify:
- Form validation (email format, password strength, required fields)
- Error messages display correctly
- Successful registration flow
- Edge cases (duplicate emails, special characters, etc.)
"

This catches issues immediately while the implementation is fresh in context.

Listing Issues

Use scoutqa list-issues to browse issues found in a previous execution. This is useful for finding issue IDs to use with issue-verify.

scoutqa list-issues --execution-id <executionId>

Options:

  • --execution-id (required): Execution ID (from the /t/<executionId> URL or CLI output)

Example output:

Showing 3 issues:

🔴 019c-abc1
   Login button unresponsive on mobile
   Severity: critical | Category: usability | Status: open

🟠 019c-abc2
   Missing form validation on email field
   Severity: high | Category: functional | Status: open

🟡 019c-abc3
   Color contrast insufficient on footer links
   Severity: medium | Category: accessibility | Status: resolved

Presenting Results

Immediate Presentation (After Starting Test)

Right after running the scoutqa command, present the execution details to the user:

**ScoutQA Test Started**

Execution ID: `019b831d-xxx`
View Live: https://app.scoutqa.ai/t/019b831d-xxx

The test is running remotely. You can view real-time progress in your browser at the link above while I continue with other tasks.

Final Results (After Completion)

When the execution completes, use this format to present findings:

**ScoutQA Test Results**

Execution ID: `ex_abc123`

**Issues Found:**

[High] Accessibility: Missing alt text on logo image

- Impact: Screen readers cannot describe the logo
- Location: Header navigation

[Medium] Usability: Submit button not visible on mobile viewport

- Impact: Users cannot complete form on mobile devices
- Location: Contact form, bottom of page

[Low] Functional: Search returns no results for valid queries

- Impact: Search feature appears broken
- Location: Main search bar

**Summary:** Found 3 issues across accessibility, usability, and functional categories. See full interactive report with screenshots at the URL above.

Always include:

  • Execution ID (e.g., ex_abc123) for reference
  • Issues found with severity, category (accessibility, usability, functional), impact, and location

Following Up on Stuck Executions

If the remote agent gets stuck or needs clarification, use send-message to continue:

# Example: Agent is stuck at login, user provides credentials
scoutqa send-message --execution-id ex_abc123 --prompt "
Use these test credentials: username: [email protected], password: TestPass123
"

# Example: Agent asks which flow to test next
scoutqa send-message --execution-id ex_abc123 --prompt "
Focus on the checkout flow next, skip the wishlist feature
"

Checking Test Results

ScoutQA tests run remotely on ScoutQA's infrastructure. After starting a test with a short timeout to capture the execution ID:

  1. The test continues running remotely (not locally in background)
  2. You can continue other work immediately
  3. To check results later, visit the browser URL provided when the test started
  4. Alternatively, use scoutqa get-execution --execution-id <id> to fetch results via CLI

Best practice: Start tests by setting the Bash tool's timeout parameter to 5000 milliseconds. After 5 seconds, the Bash tool returns control with a task ID and the execution details (execution ID and browser URL) while the test continues running in the background. You can then continue other work and check results on ScoutQA's website or via CLI when needed.

Troubleshooting

IssueSolution
command not found: scoutqaInstall CLI: npm i -g @scoutqa/cli@latest
Auth expired / unauthorizedRun scoutqa auth login
Test hangs or needs inputUse scoutqa send-message --execution-id
Check test resultsVisit browser URL or scoutqa get-execution --execution-id
Need issue ID for verificationRun scoutqa list-issues --execution-id <id>

github의 다른 스킬

console-rendering
github
Go에서 struct 태그 기반 콘솔 렌더링 시스템 사용 지침
official
acquire-codebase-knowledge
github
사용자가 기존 코드베이스에 대한 매핑, 문서화, 또는 온보딩을 명시적으로 요청할 때 이 스킬을 사용하세요. "이 코드베이스를 매핑해줘", "문서화해줘"와 같은 프롬프트에서 트리거됩니다.
official
acreadiness-assess
github
현재 리포
official
acreadiness-generate-instructions
github
AgentRC 명령어를 통해 맞춤형 AI 에이전트 지침 파일을 생성합니다. .github/copilot-instructions.md 파일을 생성합니다(기본값, VS Code의 Copilot에 권장됨).
official
acreadiness-policy
github
사용자가 AgentRC 정책을 선택, 작성 또는 적용할 수 있도록 지원합니다. 정책은 관련 없는 검사를 비활성화하고, 영향/수준을 재정의하며, 설정을 통해 준비 상태 점수를 사용자 지정합니다.
official
add-educational-comments
github
코드 파일에 교육용 주석을 추가하여 효과적인 학습 자료로 변환합니다. 설명의 깊이와 어조를 세 가지 설정 가능한 지식 수준(초급, 중급, 고급)에 맞게 조정합니다. 파일이 제공되지 않으면 자동으로 요청하며, 빠른 선택을 위해 번호 목록 매칭을 제공합니다. 교육용 주석만을 사용하여 파일을 최대 125%까지 확장합니다(엄격한 제한: 새 줄 400개, 1,000줄 초과 파일의 경우 300개). 파일 인코딩, 들여쓰기 스타일, 구문 정확성 등을 유지합니다.
official
adobe-illustrator-scripting
github
Adobe Illustrator 자동화 스크립트를 ExtendScript(JavaScript/JSX)로 작성, 디버깅 및 최적화합니다. 스크립트를 생성하거나 수정하여 조작할 때 사용합니다.
official
agent-governance
github
선언적 정책, 의도 분류, AI 에이전트 도구 접근 및 행동 제어를 위한 감사 추적. 구성 가능한 거버넌스 정책은 허용/차단된 도구, 콘텐츠 필터, 속도 제한, 승인 요구 사항을 정의하며, 코드가 아닌 구성으로 저장됨. 의미론적 의도 분류는 패턴 기반 신호를 사용하여 도구 실행 전에 위험한 프롬프트(데이터 유출, 권한 상승, 프롬프트 인젝션)를 탐지함. 도구 수준 거버넌스 데코레이터는 함수에서 정책을 적용함...
official