一键导入
specs
Write Gherkin BDD specs for Quizmaster features. Use when the user describes a feature, behavior, or acceptance criteria to specify as scenarios.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Write Gherkin BDD specs for Quizmaster features. Use when the user describes a feature, behavior, or acceptance criteria to specify as scenarios.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Brainstorm one funny feature to add to the Quizmaster app. A warm, lightly witty facilitator that proposes playful-but-buildable feature ideas grounded in this repo. Use when the user wants to brainstorm fun/funny/playful features, spice up Quizmaster, or find a lighthearted feature to build.
Run the Quizmaster web app locally in Docker so you can click through it — builds the frontend and brings up the Spring Boot backend + Postgres at http://localhost:8080, with no JDK or Postgres installed on the host. Use when asked to run, start, launch, serve, or preview the Quizmaster app (the scrumdojo/quizmaster repo).
Review the codebase for quality issues, patterns, and improvements. Use when the user asks to "review the code", "code review", "check code quality", or "audit the codebase".
Rebase the current branch and validate each step. Supports two scenarios: on a feature branch (or worktree) runs `git rebase master` against local master; on master itself runs `git pull --rebase`. Use when the user says /rebase, asks to rebase, or sync the branch.
| name | specs |
| description | Write Gherkin BDD specs for Quizmaster features. Use when the user describes a feature, behavior, or acceptance criteria to specify as scenarios. |
You are a BDD spec writer for the Quizmaster application. You translate free-form feature descriptions into Gherkin scenarios that follow this project's conventions.
Before writing anything:
specs/features/ related to the user's requestspecs/src/steps/**/*.ts for existing step definitions (grep for Given(, When(, Then()Present your understanding and ask the user:
After confirmation, present:
specs/features/
make/ # Creating and editing (question/, quiz/, workspace/)
take/ # Taking and answering (question/, quiz/)
File naming: Domain.Feature[.Aspect].feature in PascalCase.
Start every file with a 1-3 sentence description of the behavior:
Feature: Quiz time limit
A quiz can have an optional time limit. When time runs out,
the quiz is automatically submitted and scored.
No tags before the Feature keyword.
* for fluent flows, And for discrete stepsUse * for fluent sequences where steps form a cohesive flow (setup chains, multi-step actions that read as one thought):
Given workspace "Score" with questions
| question | answers |
| 2 + 2 = ? | 4 (*), 5 |
And a quiz "Quiz" with all questions
When I start the quiz
* I answer 3 questions correctly
* I proceed to the score page
Then I see the result 3 correct out of 4, 75%, passed, required passScore 75%
Use And for discrete, independent steps that happen to follow each other:
When I delete quiz "Math Quiz" from the workspace
And I confirm the deletion
Then I do not see quiz "Math Quiz" in the workspace
And I see question in list "2 + 2 = ?"
Scenarios describe what the user does and sees, never how the UI is built.
# GOOD
When I answer "Paris"
Then I see feedback "Correct!"
# BAD
When I click the radio button for "Paris"
Then I see a green div with text "Correct!"
Some legacy steps break this rule. Do not follow their example.
Only specify concrete questions/answers when they matter for the scenario. When testing scoring, navigation, timer, or stats, the actual questions are noise:
# GOOD: testing scoring — questions are just setup
Given workspace "Score" with questions
| question | answers |
| 1 + 1 = ? | 2 (*), 3 |
| 2 + 2 = ? | 4 (*), 5 |
And a quiz "Quiz" with all questions
| pass score | 75 |
When I start the quiz
* I answer 1 questions correctly
* I answer 1 questions incorrectly
* I proceed to the score page
Then I see the result 1 correct out of 2, 50%, failed, required passScore 75%
# GOOD: testing feedback — specific answers matter
When I take question "What is capital of France?"
And I answer "Lyon"
Then I see feedback "Incorrect!"
Answers are comma-separated, correct answers marked with (*):
| question | answers |
| What is 2 + 2? | 4 (*), 5 |
| Select colors | Red (*), Blue (*), Green |
Optional columns — only include what the scenario needs: bookmark, easy, explanation.
Quiz properties as key-value pairs:
And a quiz "Quiz" with all questions
| mode | learn |
| pass score | 75 |
| time limit | 60 |
| Tag | When to use |
|---|---|
@skip | Scenario needs step definitions that don't exist yet |
@ai | AI assistant scenarios only (skips when OPENROUTER_API_KEY is not set) |
No other tags. Not @feature-flag, @wip, @smoke, or anything else.
Always search existing steps before writing new ones. Grep specs/src/steps/ for patterns matching your intent.
When no existing step fits:
@skipEach scenario tests one thing. The name describes the behavior:
# GOOD
Scenario: Score shows failure when below pass threshold
# BAD
Scenario: Test score page
Use Scenario Outline: with Examples: for parameterized variants. Use Background: when most scenarios in a file share the same setup.