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

write-qa-requirements

Writes QA requirements for a Linear ticket based on branch changes. Use when asked to write, draft, or review QA requirements.

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

JesusFilm/core스타 25(GitHub 25 + cccskills 0)
연동 도구LinearVercel

실행 점수 미검증

설치 방법 보기

포함된 파일(1)

  • SKILL.md6.7 KB

SKILL.md(원문)

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

<!-- Keep in sync with .claude/commands/write-qa-requirements.md -->

Writing QA Requirements

Applies when: The user asks to write, draft, or review QA requirements for a Linear ticket.

When helping write QA requirements for a Linear ticket:

Process

  • Always fetch the Linear ticket first for full context
  • Ask the user if there are QA comments on related/sibling tickets you can reference for format consistency
  • Analyze the branch changes before writing scenarios (see Change Analysis below)
  • Collaborate iteratively — draft, get feedback, refine before posting
  • Post as a comment on the Linear ticket (not in the ticket body) unless told otherwise
  • Ask the user if any scenarios are blocked by other work (e.g. "blocked until NES-1400 merges to main")
  • Remind the user to attach screenshots or videos to the Linear ticket for complex UI changes

Change Analysis

Before writing scenarios, systematically analyze what changed and what it could affect:

  1. Identify all changes on the branch:

    • Run git log main..HEAD --oneline to see all commits
    • Run git diff main..HEAD --stat to see all changed files
    • Read the key changed files to understand what was modified
  2. Trace indirect impacts:

    • Identify shared components, hooks, or utilities that were modified
    • Check where those shared pieces are imported/used across the codebase
    • Note any user-facing flows that consume the changed code, even if those flows weren't the target of the change
  3. Map entry points:

    • List all places a user can trigger the changed functionality (e.g. different pages, roles, or navigation paths that reach the same component)

Use this analysis to inform both the acceptance scenarios and the regression scenarios.

Format

  • Use ## QA Requirements as the top-level heading
  • Scenario-based: ### Scenario N: Descriptive title
  • Each scenario has Setup: (step-by-step user actions) and Verify: (checkbox list)
  • Chain setup steps with → arrows
  • Use - [ ] markdown checkboxes for verify items
  • One assertion per verify item — each checkbox tests exactly one thing
  • Scenarios can reference earlier ones: "From Scenario 3 →" instead of repeating setup
  • Blocked scenarios get a > **Blocked until [ticket] merges to main** callout above the setup

Example

## QA Requirements

### Scenario 1: Customizable toggle on template with undo/redo

**Setup:** Open the editor for a **template** journey → add/enable a chat widget (e.g. WhatsApp) so the details panel expands

**Verify:**

- [ ] "Needs Customization" switch is visible in the chat widget details panel
- [ ] Toggling the switch ON reflects the ON state in the UI
- [ ] Toggling the switch OFF reflects the OFF state in the UI
- [ ] Undo (Ctrl+Z) reverts the toggle to its previous state
- [ ] Redo (Ctrl+Shift+Z) re-applies the toggle change

### Scenario 2: Customizable toggle hidden on non-template

**Setup:** Open the editor for a **non-template** journey → add/enable a chat widget so the details panel expands

**Verify:**

- [ ] "Needs Customization" switch is NOT visible

### Scenario 3: Links display on publisher page

> **Blocked until NES-1400 merges to main**

**Setup:** Create a template journey with chat widgets → publish → navigate to publisher page

**Verify:**

- [ ] Links section displays all enabled chat widget URLs

### Scenario 4: Toggle persists after save

**Setup:** From Scenario 1 → save the journey → close and reopen the editor

**Verify:**

- [ ] The "Needs Customization" toggle retains the last saved state

---

## Regression Testing

> Verify existing functionality that touches the same components or flows was not broken by this change.

### Chat widget panel (non-customizable fields)

- [ ] Other fields in the chat widget details panel still display and save correctly
- [ ] Adding and removing chat widgets still works as before

### Journey editor general

- [ ] Undo/redo for other block types (e.g. text, image) still works correctly
- [ ] Saving and reopening a journey without chat widgets is unaffected

Content

  • Write from the user's perspective — what they see and do in the UI
  • Never reference implementation details (mutations, field values, GraphQL, database columns)
  • Use product terminology consistently (match whatever the user uses, e.g. "chat widget" not "chatButton")
  • Setup steps should be specific about UI navigation (e.g. "on the publisher page, open the menu and click 'Copy to Team'"), not vague
  • If setup requires a complex precondition, reference an earlier scenario's setup (e.g. "From Scenario 3's template →") rather than repeating all the steps
  • Verify items test observable outcomes only
  • Specify the User Role if relevant (e.g. "As a publisher", "As an editor")
  • Include environment or timing notes when relevant (e.g. "requires staging environment", "wait for page to fully reload")
  • When the component has responsive breakpoints, specify that QA should test in both desktop and mobile viewports

Previewing Journeys

  • Journeys are published by default when created — never use "publish the journey" in setup steps
  • When a scenario requires viewing the journey outside the editor, use "preview the journey" wording
  • Include the Vercel preview URL from the PR for scenarios that test the live journey. Format: journeys-{PR#}-jesusfilm.vercel.app/[journeyId]. Find the PR number from the ticket's attachments on Linear.

Scenario Design

  • Start with the happy path / core feature scenarios
  • Group related interactions together (including scenarios that reference each other's setup) before moving to exclusion/negative cases
  • Cover negative cases (feature hidden when conditions aren't met)
  • End with duplication/persistence/edge-case scenarios
  • Separate scenarios by distinct preconditions — don't overload one scenario
  • If a feature only appears under certain conditions (e.g. template-only), test both the positive and negative case
  • If a scenario has more than 6-7 verify items, consider splitting it into separate scenarios

Regression Testing

After the acceptance scenarios, add a ## Regression Testing section when the change analysis reveals indirect impacts:

  • Group regression items by user flow or page, not by file changed
  • Use the same checkbox format (- [ ])
  • Focus on flows that share modified components, hooks, or utilities
  • Only include regression items where the change analysis found a real connection — don't pad with generic "check the whole app" items
  • Skip this section if the change is fully isolated with no shared code paths

리뷰

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

댓글

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

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

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

0 / 1,000자

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

같은 저장소의 스킬

ask-matt

무료

Ask which skill or flow fits your situation. A router over the skills in this repo.

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

JesusFilm/core252026년 10월 29일 업데이트

Build applications where agents are first-class citizens. Use this skill when designing autonomous agents, creating MCP tools, implementing self-modifying systems, or building apps where features are outcomes achieved by agents operating in a loop.

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

JesusFilm/core252026년 10월 29일 업데이트

Run comprehensive agent-native architecture review with scored principles

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

JesusFilm/core252026년 10월 29일 업데이트

Explore requirements and approaches through collaborative dialogue before writing a right-sized requirements document and planning implementation. Use for feature ideas, problem framing, when the user says 'let's brainstorm', or when they want to think through options before deciding what to build. Also use when a user describes a vague or ambitious feature request, asks 'what should we build', 'help me think through X', presents a problem with multiple valid solutions, or seems unsure about scope or direction — even if they don't explicitly ask to brainstorm.

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

JesusFilm/core252026년 10월 29일 업데이트

Clean up local branches whose remote tracking branch is gone. Use when the user says "clean up branches", "delete gone branches", "prune local branches", "clean gone", or wants to remove stale local branches that no longer exist on the remote. Also handles removing associated worktrees for branches that have them.

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

JesusFilm/core252026년 10월 29일 업데이트

Structured code review using tiered persona agents, confidence-gated findings, and a merge/dedup pipeline. Use when reviewing code changes before creating a PR.

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

JesusFilm/core252026년 10월 29일 업데이트

JesusFilm의 스킬 모두 보기

이 스킬의 문제 신고