본문으로 건너뛰기
cccskills
무료GitHub에 공개

scenario-gen

Generate test scenarios from git branch changes. Compares current branch to main/master, identifies changed files, classifies them by type (frontend, API, backend, config), and generates test scenarios covering those changes. Produces a Markdown report with embedded screenshots for UI changes and CSV files compatible with the e2e-test skill for automated execution. Captures screenshots for frontend changes via the playwright-cli skill (no MCP browser server required). Diff-driven — not to be confused with the test-scenario skill, which works from a natural-language feature description instead. Use when the user asks to generate test scenarios, create test cases from changes, analyze branch for testing, generate test plan from diff, create e2e scenarios from code changes, or build test coverage for a branch. Trigger phrases include "generate test scenarios", "test scenarios for this branch", "create test cases from changes", "what should I test", "generate test plan", "test coverage for my changes", "scenario generator", "test scenario generator", "generate scenarios from diff", "create e2e scenarios", "test scenario from branch".

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

연동 도구Playwright

실행 점수 미검증

설치 방법 보기

포함된 파일(5)

  • SKILL.md13.4 KB
  • references/change-classification.md3.2 KB
  • references/csv-format.md3.0 KB
  • references/report-template.md2.9 KB
  • references/scenario-templates.md6.0 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Branch-Diff Test Scenario Generator

Generate test scenarios from git branch changes. Analyze diffs, classify changes, capture screenshots for UI changes, and produce both Markdown reports and CSV files compatible with the e2e-test skill.

Not to be confused with the test-scenario skill, which turns a natural-language feature description into spec-driven unit test outlines — this skill is diff-driven (what changed on this branch) and produces E2E documentation, not unit test code.

Arguments

ArgumentDefaultDescription
--baseauto-detectBase branch to diff against (main/master/develop)
--urlauto-detectDev server URL for screenshot capture
--viewport1280x720Browser viewport for screenshots
--output-dir./test-scenariosOutput directory for reports and CSVs
--skip-screenshotsfalseSkip browser screenshot capture
--scopeallPath/glob filter for changed files

Constraints

  • NO code changes: Do not modify source code, config, or test files
  • Documents OK: Create markdown, CSV, and screenshot files only
  • Branch-based: Always work from git diff, never analyze unchanged code
  • e2e-test compatible: CSV output must be directly executable by the e2e-test skill

Workflow

Phase 1: Detect Changes

  1. Detect base branch:

    • If --base provided, use it
    • Otherwise: git remote show origin | grep 'HEAD branch' to detect default
    • Fallback order: main, master, develop
  2. Get changed files:

    git diff <base>...HEAD --name-only --diff-filter=ACMR
    
  3. Get diff stats:

    git diff <base>...HEAD --stat
    
  4. If no changes detected, inform the user:

    No changes detected between current branch and <base>. Verify you are on the correct branch.

  5. If more than 50 changed files, warn the user and ask whether to proceed or filter with --scope.

  6. Apply --scope filter if provided.

Phase 2: Classify Changes

Read references/change-classification.md for the full classification rules.

Classify each changed file into categories:

CategoryExamples
frontend.tsx, .jsx, .vue, .html, .css, component directories
apiRoute files, controllers, handlers, OpenAPI specs
backendServices, models, migrations, middleware
config.env, config files, package.json, CI/CD files
test*.test.*, *.spec.*, __tests__/
docs.md, docs/, README

For each file, read the diff to understand what specifically changed:

git diff <base>...HEAD -- <file>

Present the classification table to the user before proceeding.

Phase 3: Analyze Impact

For each changed file:

  1. Read the changed file to understand full context

  2. Read the diff hunks to understand what specifically changed

  3. Identify affected functionality:

    • Frontend: Which UI components, pages, forms, interactions changed?
    • API: Which endpoints changed? What request/response schemas are affected?
    • Backend: What business logic, data flows, or services are affected?
    • Config: What settings changed and what do they affect?
  4. Check downstream dependencies: Use grep to find imports/requires referencing the changed module

  5. Build impact map for each logical change:

    • What changed (function, component, endpoint)
    • What it affects (user-facing behavior, data flow, API contract)
    • What preconditions exist (auth required, specific data state)

Phase 4: Generate Scenarios

Read references/scenario-templates.md for templates by change type.

For each impact from Phase 3, generate test scenarios.

Each scenario must include:

  • ID: TS-NNN (zero-padded sequential)
  • Title: Descriptive name of what is being tested
  • Type: ui | api | backend | config
  • Priority: critical | high | medium | low
  • Preconditions: What must be true before the test starts
  • Steps: Ordered list with step number, action, target, input, expected result
  • Changed files covered: Which diff files this scenario tests

Frontend scenarios

  • Navigate to the affected page
  • Interact with changed components in the correct order
  • Verify visual state and behavior after each interaction
  • Cover happy path and one error state
  • Note UI components that need screenshot capture

API scenarios

  • Document endpoint method, path, headers
  • Provide example request bodies
  • Document expected response codes and bodies
  • Cover success, validation error, and auth failure cases

Backend scenarios

  • Document entry point and expected output
  • Trace data through changed components
  • Identify state transitions to verify
  • Cover error handling paths

Config scenarios

  • Document what the config controls
  • Verify behavior with the new config value
  • Note if change requires restart

Phase 5: Capture Screenshots (Frontend Only)

Skip this phase if --skip-screenshots is set or no frontend changes were detected.

Screenshots are captured via the playwright-cli skill's wrapper around npx playwright screenshot — a stateless, one-shot CLI capture. No MCP browser tools are used (there is no registered Playwright MCP server in this environment; an earlier version of this phase depended on one and failed at runtime). This trades away in-browser interaction (no hover-to-highlight step) for something that actually runs: describe in the scenario's own text what to look at within the captured image, rather than visually marking it.

5a. Detect dev server

Probe the dev server URL:

  • Use --url if provided
  • Otherwise probe common ports in order, checking reachability with curl -sf -o /dev/null <url>:
    • http://localhost:3000
    • http://localhost:5173
    • http://localhost:4200
    • http://localhost:8080

If no server is reachable:

No dev server detected. Frontend screenshots will be skipped. Start your dev server and re-run, or use --url=<your-url>.

Continue with text-based scenarios (mark screenshots as "pending" in report).

5b. Capture screenshots

For each UI scenario from Phase 4:

  1. Determine the page URL: <dev-server-url><scenario's route/path>.
  2. If the scenario names a specific element to verify (a form, a button, a banner), use --wait-for-selector "<css-or-text-selector>" so the shot is taken only after that element renders. Otherwise capture immediately after load.
  3. Capture, full page:
    npx playwright screenshot --full-page \
      --wait-for-selector "<selector>" \
      "<dev-server-url><path>" \
      "<output-dir>/scenario-NNN-<component-name>.png"
    
  4. If the affected page requires authentication, use the --save-storage / --load-storage flow documented in the playwright-cli skill (record the logged-in session once, then pass --load-storage <file> on subsequent screenshot calls) instead of skipping the scenario.
  5. If the capture command fails (dev server crashed mid-run, selector never appeared, timeout), mark that scenario's screenshot as "capture failed" in the report rather than stopping the whole phase — continue with the remaining scenarios.

Phase 6: Write Output

Create the output directory:

mkdir -p <output-dir>/<YYYY-MM-DD-HHmm>

6a. Generate Markdown Report

Save as <output-dir>/<YYYY-MM-DD-HHmm>/REPORT.md.

Read references/report-template.md for the full template structure.

Report must include:

  1. Header: Date, branch, base, change count, scenario count
  2. Executive Summary: Overview of changes and testing needs
  3. Changes Analyzed: Table of all changed files with classification
  4. Test Scenarios: Grouped by feature/component, with full step details and embedded screenshots
  5. Coverage Matrix: Map of changed files to scenario IDs
  6. Generated CSV Files: List with descriptions and execution instructions
  7. Recommendations: Actionable suggestions for additional testing

Embed screenshots inline with their scenarios:

![Contact form before submission](scenario-001-contact-form.png)

6b. Generate CSV Files

Read references/csv-format.md for the exact format specification.

For each UI test scenario (or group of related UI scenarios), generate a CSV file compatible with the e2e-test skill.

File naming: scenario-NNN-<feature-slug>.csv

Key CSV rules:

  • Targets are human-readable descriptions (NOT CSS selectors)
  • Actions use the e2e-test action vocabulary (navigate, click, type, verify, etc.)
  • One CSV per logical user flow
  • Include screenshot action steps at key verification points

Only generate CSVs for frontend/UI scenarios. API and backend scenarios are documented in REPORT.md only (e2e-test is browser-only).

6c. Summary to User

After writing all files, present in chat:

  • Number of scenarios generated by type (UI, API, Backend, Config)
  • Number of CSV files created with their paths
  • Number of screenshots captured
  • Output directory path
  • How to execute: Run e2e test with scenario <path-to-csv>

Edge Cases

SituationBehavior
No changes on branchInform user, suggest checking branch
Only test files changedNote tests changed, suggest running orch-qa instead
Only docs changedMinimal report noting documentation changes only
Only config changedConfig impact scenarios, no screenshots
Dev server not runningText-only scenarios, suggest starting dev server
Very large diff (>50 files)Warn user, ask to filter with --scope
Binary files in diffSkip binary files, note in report
Deleted files onlyRegression scenarios for code that depended on deleted files
Branch has merge conflictsWarn and stop -- resolve conflicts first

Integration with Other Skills

SkillHow to use together
e2e-testCSV output is directly executable: Run e2e test with scenario <path>.csv
orch-qaComplementary: orch-qa audits existing tests, this skill creates new scenarios from changes
playwright-cliPhase 5 screenshot capture is npx playwright screenshot, wrapped by this skill
tddAfter implementing a feature via the TDD workflow, use this skill to create E2E scenarios from the resulting diff

Behavior Scenarios

Scenario: Generate test scenarios for frontend changes
  Given the current branch has UI component changes and a dev server is running
  When the user invokes the skill
  Then it analyzes the diff, launches the app in a browser, captures screenshots
  of affected UI components, and generates REPORT.md with embedded screenshots
  plus CSV scenarios compatible with e2e-test

Scenario: Generate test scenarios for API changes
  Given the current branch has API endpoint changes
  When the user invokes the skill
  Then it analyzes the diff, documents affected endpoints with request/response
  examples, and generates test scenarios in REPORT.md

Scenario: Generate test scenarios for mixed changes
  Given the current branch has both frontend and backend changes
  When the user invokes the skill
  Then it classifies each change, generates appropriate scenarios for each type,
  captures screenshots for UI changes, and produces a unified report

Scenario: No dev server running for frontend changes
  Given the current branch has frontend changes but no dev server is accessible
  When the user invokes the skill
  Then it generates text-based scenarios without screenshots and suggests how to
  start the dev server for screenshot capture

Scenario: No changes on branch
  Given the current branch has no diff from main
  When the user invokes the skill
  Then it informs the user that no changes were detected and suggests checking
  the branch

References

  • references/change-classification.md -- File extension and path patterns for categorizing changes as frontend, API, backend, config, test, or docs
  • references/scenario-templates.md -- Templates for generating scenarios by change type (UI, API, backend, config) with worked examples
  • references/report-template.md -- REPORT.md template with all sections and placeholder instructions
  • references/csv-format.md -- CSV format reference ensuring e2e-test skill compatibility, including action vocabulary and target description conventions

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Run a multi-model adversarial mutual review with facilitator synthesis: 2+ panelists (different model families where possible — use codex-server / codex-cli for the external-family seat) independently answer, adversarially critique each other across rounds, and the main session acts as facilitator, synthesizing agreements, live disagreements, and calibrated confidence into one answer. Use ONLY on high-stakes, hard-to-reverse claims, designs or decisions, and only when the user EXPLICITLY asks to debate or adversarially review with multiple models — "discuss with Opus and Codex", "red-team this", "devil's advocate", 敵対的レビュー, 相互レビュー, 多モデル討論, 議論させて. A full run costs ~6 subagent/CLI dispatches: state the panel size and round count and get a go-ahead before launching. Where the Workflow tool is available, run the panel as a Workflow (judge-panel / adversarial-verify) instead of ad-hoc fan-out. Do NOT self-trigger on a bare "are you sure?" — that is a cue to OFFER the panel, not to run it.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

hideki5123/agent-skill-set22026년 10월 21일 업데이트

Orchestrate multiple coding-agent sessions (Claude Code, Codex, Gemini) over the mcp_agent_mail MCP server, observe their progress on a recurring auto-loop, and prevent inconsistencies (file/edit conflicts and contradictory decisions) between concurrent tasks. Auto-manages the agent-mail server, derives the shared room key from the git repo, and runs either as the orchestrator/observer or as a participating worker. Handles the operational details (server startup, room key, reservation conventions) so the user does not have to remember them. Use when coordinating several agent sessions on different tasks at once, watching a swarm of sessions for conflicts, or wiring already-running sessions into a shared coordination room. Trigger phrases: "agent-swarm", "/agent-swarm", "orchestrate agents", "orchestrate multiple claude sessions", "coordinate sessions", "watch for conflicts between agents", "observe the swarm", "prevent inconsistency between sessions", "multi-agent observe", "複数セッションを協調", "エージェント協調", "セッション間の不整合監視", "スウォーム監視", "複数のClaudeを束ねて".

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

hideki5123/agent-skill-set22026년 10월 21일 업데이트

Generate AGENTS.md (cross-tool agent context — Codex CLI, Aider, Cursor, etc.) and wire CLAUDE.md as a symlink so Claude Code reads the same file. Delegates content generation to Claude's built-in /init when needed, then renames + symlinks. Idempotent. Triggers — /agents-init, "generate agents.md", "create agents.md", "share claude and codex context", "set up agents file", "init agents", "agents-init", "cross-tool agent context", "wire claude and agents".

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

hideki5123/agent-skill-set22026년 10월 21일 업데이트

Drive an already-running, LOGGED-IN Chromium browser on macOS via AppleScript — navigate, click, fill forms, scroll, and extract page content from the user's REAL session, with the browser left open and NO profile copy and NO restart. Use when the task needs the existing logged-in session (cookies, auth, current tabs) reused as-is. Trigger phrases: "chrome-use", "ブラウザから取得", "ログイン済みの Chromeで", "ブラウザを操作して", "このページ読んで", "Xのスレッド読んで", "ログインしたまま取得", "自分のセッションでスクレイプ", "read this page in my browser", "scrape with my session", "drive my chrome", "execute JS in my (logged-in) browser", "automate my logged-in browser". Chromium family (Chrome default; Brave/Edge/Arc/Vivaldi via --app). NOT for isolated/throwaway automation where login reuse is unneeded — use playwright-cli for that. macOS only.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

hideki5123/agent-skill-set22026년 10월 21일 업데이트

codex-cli

무료

Run OpenAI Codex CLI from the terminal for batch / one-shot `codex exec` invocations with output captured to an `-o` file. Use for fire-and-forget runs, scripted CI, code review batches (`codex review`), and resuming a specific session by id (`codex exec resume`). Always use this skill instead of `mcp__codex__codex` and `mcp__codex__codex-reply` MCP tools — CLI is faster and more capable. For streaming UX, multi-turn dialogues that need live state, structured (JSON schema) output, attaching images, or programmatic event handling → **use codex-server instead**. codex-server uses the user's ChatGPT subscription via Codex App Server and decoupled async invocation that bypasses the Bash 2-minute timeout entirely. Trigger patterns (batch-only — chat/streaming triggers belong to codex-server): codex-cli / codex CLI / codex exec / codex review / codex resume / codex fork / batch + {codex, gpt} / one-shot + {codex, gpt} / non-interactive + codex / codex {to a file, -o, output file, captured output} / CI + {codex, gpt} / scripted + {codex, gpt} / fork codex session / resume codex session by id

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

hideki5123/agent-skill-set22026년 10월 21일 업데이트

Run OpenAI Codex via the Codex App Server (JSON-RPC-over-stdio) for streaming multi-turn chat sessions with persistent threads, structured output, image input, and rich event streams. Default entry point for ChatGPT/GPT/Codex-like conversations from the terminal. Uses the user's ChatGPT subscription (Plus / Pro / Team) exclusively via `codex login` — never consumes OPENAI_API_KEY billing, by design. Implementation: TypeScript on deno with npm:@openai/codex-sdk; spawns the existing system codex binary. Decoupled async invocation: every turn returns turn-id in <1 s; the actual SDK work runs in a detached worker that streams to per-turn files under ~/.codex-server/turns/<turn-id>/ — Bash's 2-min timeout never applies. Prefer this over codex-cli for streaming UX, multi-turn dialogues that need live state, structured (JSON schema) output, attaching images, or programmatic event handling. Use codex-cli only for one-shot batch invocations that pre-capture to an -o file. For OpenAI Platform API calls specifically (embeddings, image generation, audio, moderation, batches, files) — not open-ended chat — use openai-cli instead; that path bills OPENAI_API_KEY, this one uses the ChatGPT subscription. Trigger patterns (match any variation): codex / codex-server / codex app server / codex app-server / openai / open ai / OpenAI / chatgpt / chat gpt / ChatGPT / GPT / ask gpt / chat with gpt / gpt session / codex session / streaming chat / multi-turn chat / multi turn chat / second opinion / cross-check / cross check / ai pair programming / another AI / external AI / ask another model / get GPT's take / what does openai think / show me what gpt thinks / structured output from gpt / json schema gpt / resume codex thread / continue codex conversation / continue codex session / /codex-server

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

hideki5123/agent-skill-set22026년 10월 21일 업데이트

hideki5123의 스킬 모두 보기

이 스킬의 문제 신고