Agent skill

Acceptance Criteria Gwt

by makifbaysal in makifbaysal/tasktrooper

A skill your agent uses when writing acceptance criteria for a task - express each as an observable Given/When/Then that QA can execute, including negative cases

Apache-2.0Auto-check passedProduct & Project Management

Install Acceptance Criteria Gwt

skills CLI
$ npx skills add makifbaysal/tasktrooper --skill acceptance-criteria-gwt -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install makifbaysal/tasktrooper acceptance-criteria-gwt --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/makifbaysal/tasktrooper.git skills-src && mkdir -p .claude/skills && cp -r skills-src/catalog/agents/product-manager/skills/acceptance-criteria-gwt .claude/skills/acceptance-criteria-gwt && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
acceptance-criteria-gwt
GitHub stars
112
Token cost
~1.7k tokens
SKILL.md length
823 words
Files
1
Skills in repo
12
Repo updated
First seen
Licence
Apache-2.0

At a glance

A skill your agent uses when writing acceptance criteria for a task - express each as an observable Given/When/Then that QA can execute, including negative cases

  • Writing acceptance criteria for a task - express each as an observable Given/When/Then that QA can execute
  • SKILL.md covers Overview, The shape, Where they go and Testability gate, plus 7 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • Including negative cases

What it does

Acceptance Criteria Gwt is an agent skill from makifbaysal/tasktrooper. Use when writing acceptance criteria for a task - express each as an observable Given/When/Then that QA can execute, including negative cases

Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Product & Project Management, covering User stories. The repository describes itself as: Local-first agent platform: board + role agents + agent CLI runs (Claude Code, Cursor, Antigravity, OpenCode) or local and API models (Ollama, LM Studio), all on your own Mac. The licence is Apache-2.0.

When your agent uses it

  • Writing acceptance criteria for a task - express each as an observable Given/When/Then that QA can execute
  • Including negative cases

Example prompts

  • “/acceptance-criteria-gwt”

What it can do on your machine

Read from SKILL.md and the folder at commit 411ab00. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Acceptance Criteria Gwt loads about 1.7k tokens when it runs. Until then it costs about 41 tokens; SKILL.md has 823 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~41
When it runs · the whole SKILL.md, loaded when a task matches
~1.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from makifbaysal/tasktrooper at commit 411ab00, republished under its Apache-2.0 licence (© makifbaysal). 823 words, ~1,665 tokens.

Download SKILL.mdSave it as .claude/skills/acceptance-criteria-gwt/SKILL.md (or your agent's skills folder).
name
acceptance-criteria-gwt
description
Use when writing acceptance criteria for a task - express each as an observable Given/When/Then that QA can execute, including negative cases
category
pm
source
cucumber/docs better-gherkin.md (MIT), adapted

Acceptance Criteria (Given/When/Then)

Overview

Acceptance criteria are the contract QA tests the product against and the PM verifies at UAT. If a criterion isn't executable, it can't be verified — and unverifiable criteria are where defects hide.

Core principle: Every criterion is an observable behavior QA can execute with a command or a click path. No aspirational adjectives.

The shape

Given [precondition], When [action], Then [measurable result].

Where they go

Criteria live in the board task's own acceptance_criteria field — an array of strings, one criterion per item, passed to create_board_task (or update_board_task to replace the whole list). Each item becomes a checkbox the implementer ticks with set_criterion_completed, and that QA (in ready_for_qa/in_qa) and you (in pm_uat) then rule on independently with review_criterion. The tick is the implementer's claim — QA and PM never call set_criterion_completed; your verdict is review_criterion.

Never write them into description. A criteria block pasted as markdown leaves the task's checklist empty: nothing to tick, nothing the move guard can check, and the prose copy goes stale the moment the real criteria are edited.

Testability gate

For each criterion, before you save it, write down:

  • who executes it — QA in in_qa, and the PM in pm_uat with browser or mobile tools (or http_request against the task's own preview when the surface is an API, not a screen);
  • the action — a click path, a URL, or a request;
  • the exact observable — text, a count, an element state, or a file.

If the behaviour is user-facing, the Then must be visible in the UI — not a status code standing in for what the user sees. If nobody outside the code can observe it, it belongs in technical_description, not in a criterion.

Declarative When, concrete Then

Write the When as what happens, not the click-by-click path — the cucumber test: "Will this wording need to change if the implementation changes?" If yes, it's too imperative. One behaviour per criterion. Put exact copy strings in quotes in the Then; "an error appears" is not testable, "'Title must be at most 200 characters' appears under the field" is.

Never a criterion: board actions

A criterion states what the finished WORK is, never what the board does around it. These are not criteria and the tools drop them:

Not a criterionWhyWrite instead
"Task moved to ready_for_qa / analiz_review / done"a column move is workflow; the agent's role already tells it where the card goesthe behaviour that makes the task ready
"Implementation tasks are created"they are opened AFTER this task is approved — a criterion nobody can tick before the hand-off keeps the card out of done foreverwhat the plan those tasks come from must contain
"Spec attached with add_task_document" / "questions asked with add_task_comment"naming the tool describes the mechanics, and an attached document is not a good onewhat the document must say
"Presented for human approval" / "assigned to the developer"hand-offs are the flow's jobnothing — the flow does it

The test: could a reviewer check it by looking only at the product and the documents, without opening the board's history? If not, it is not a criterion.

Show full SKILL.md (307 more words)Show less

Rules

  • Observable + measurable. "Then a 422 with message 'title too long'" — not "Then it handles it gracefully."
  • At least one negative criterion where the feature accepts input or has permissions: invalid input, unauthorized access, empty state. Not required for a pure copy or styling change.
  • 3–7 criteria per task. More means the task should be split.
  • No 'fast'/'user-friendly'/'robust' — replace with a number or a concrete behavior.

Mid-flight edits

update_board_task(acceptance_criteria=…) replaces the whole array and resets every tick on it — use it only before work starts, or when the human explicitly asked for the change. To drop one criterion from a task already in progress (descoped, superseded, covered elsewhere), use cancel_criterion with a reason instead of rewriting the list.

Worked Example

Feature: reject task titles over 200 chars, in the New Task dialog.

❌ Given a create-task form, When I submit a 201-char title, Then I get 422.
   (status code stands in for what the user sees — fine for an API-only task, not for a dialog)

✅ AC1 (happy)    Given the New Task dialog,
                  When I enter a 200-character title and press Create,
                  Then the dialog closes and a card with that title appears on the board.

✅ AC2 (boundary/negative)
                  Given the New Task dialog,
                  When I enter a 201-character title and press Create,
                  Then the dialog stays open, shows "Title must be at most 200 characters"
                  under the field, and no card is added to the board.

✅ AC3 (auth/negative)
                  Given a user without write access to the project,
                  When they open the board,
                  Then the "New Task" button is not shown.

Keep one API-surface example only when the API itself is the product (usually a task_type: "technical" task):

Given a member of the project, When they GET /api/v1/projects/:id/tasks/export,
Then they get 200 + text/csv with header "id,title,status,created_at"

Common Mistakes

  • A board action as a criterion (see above) — the most common one is "the task is moved to X".
  • An HTTP status as the only Then on a user-facing task — say what the user sees, not the wire protocol underneath it.
  • Aspirational wording ("intuitive", "fast").
  • Only happy-path criteria, no negative, on a task with input or permissions.
  • A "Then" with no exact text, count or state — "an error appears" instead of the exact copy.
  • 12 criteria on one task → split it.
  • Criteria pasted into description as a markdown list instead of passed as acceptance_criteria.
  • Rewriting acceptance_criteria on a task already in progress instead of cancel_criterion.

Red Flags

  • QA asks "how do I test this?" → the AC isn't executable; run it through the testability gate again.
  • No negative/auth criterion on a task that takes input or checks permission.
  • An adjective in a "Then".
  • A criterion that names a board tool or a column the card must reach.

© makifbaysal, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in catalog/agents/product-manager/skills/acceptance-criteria-gwt of makifbaysal/tasktrooper.

Open the folder on GitHubat commit 411ab00

Compare with similar skills

Acceptance Criteria Gwt next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Acceptance Criteria Gwt compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Acceptance Criteria Gwt this skillmakifbaysal/tasktrooper112—~1.7kAutomated safety check: PassApache-2.0
User Story Writerdeanpeters/Product-Manager-Skills7.2k2 repos~2.9kAutomated safety check: PassCustom licence
Ralph Tui Create Beadssubsy/ralph-tui2.5k1 repos~2.6kAutomated safety check: PassMIT
Agile Product Owneralirezarezvani/claude-skills28k3 repos~3.2kAutomated safety check: PassMIT
Ralph Tui Create Beads Rustsubsy/ralph-tui2.5k1 repos~2.8kAutomated safety check: PassMIT
To Specbestofjs/bestofjs3.1k21 repos~757Automated safety check: PassMIT

Similar skills

  • User Story Writer

    deanpeters/Product-Manager-Skills

    Writes user stories in Mike Cohn's format with Gherkin acceptance criteria, turning user needs into development-ready work with testable conditions.

    7.2k GitHub starsUsed in 2 repos~2.9k tokens
    Product & Project ManagementAuto-check passed
  • Ralph Tui Create Beads

    subsy/ralph-tui

    Convert PRDs to beads for ralph-tui execution. An agent skill from subsy/ralph-tui.

    2.5k GitHub starsUsed in 1 repo~2.6k tokens
    Product & Project ManagementAuto-check passed
  • Agile Product Owner

    alirezarezvani/claude-skills

    Writes INVEST-checked user stories with acceptance criteria, splits epics, plans sprints from velocity and ranks the backlog with a weighted score.

    28k GitHub starsUsed in 3 repos~3.2k tokens
    Product & Project ManagementAuto-check passed
  • Convert PRDs to beads for ralph-tui execution using beads-rust (br CLI).

    2.5k GitHub starsUsed in 1 repo~2.8k tokens
    Product & Project ManagementAuto-check passed
  • To Spec

    bestofjs/bestofjs

    Turn the current conversation into a spec and publish it to the project issue tracker — no interview, just synthesis of what you've already discussed.

    3.1k GitHub starsUsed in 21 repos~757 tokens
    Product & Project ManagementAuto-check passed
  • Ralph Tui Create JSON

    subsy/ralph-tui

    Convert PRDs to prd.json format for ralph-tui execution. An agent skill from subsy/ralph-tui.

    2.5k GitHub starsUsed in 1 repo~2.6k tokens
    Product & Project ManagementAuto-check passed

More from makifbaysal/tasktrooper

All 12 skills in this repo
  • Access Control And Idor

    makifbaysal/tasktrooper

    A skill your agent uses when the diff adds or changes an endpoint, resolver, RPC, job or query that takes an object id, a role check, a request binding or a tenant filter - BOLA/IDOR, function-level…

    112 GitHub stars~1.7k tokensUpdated today
    Auto-check passed
  • Accessibility Check

    makifbaysal/tasktrooper

    A skill your agent uses when a task changes any screen, form, dialog, menu or control - Lighthouse/axe scan of the changed screens, a keyboard walk, and the thresholds that fail a task

    112 GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Analiz Gate

    makifbaysal/tasktrooper

    A skill your agent uses when deciding whether a request needs an analiz task before implementation - the conditions that require the architect's analysis versus going straight to implementation

    112 GitHub stars~679 tokensUpdated today
    Auto-check passed
  • Analiz HTML Report

    makifbaysal/tasktrooper

    A skill your agent uses when you write or revise the analiz deliverable - the ONE self-contained HTML report (spec and plan as sections) a human reviews passage by passage

    112 GitHub stars~3.9k tokensUpdated today
    Auto-check passed
  • Analiz Human Review Gate

    makifbaysal/tasktrooper

    A skill your agent uses when you finish an analiz report - the human must approve the analysis before any implementation task is created, via the analizreview column

    112 GitHub stars~2.2k tokensUpdated yesterday
    Auto-check passed
  • Android Compose Patterns

    makifbaysal/tasktrooper

    A skill your agent uses when building native Android with Jetpack Compose - stateless composables, state hoisting, ViewModel-owned state, edge-to-edge, predictive back, adaptive layout, atomic…

    112 GitHub stars~1.9k tokensUpdated yesterday
    Auto-check passed

Questions about Acceptance Criteria Gwt

What does Acceptance Criteria Gwt do?

A skill your agent uses when writing acceptance criteria for a task - express each as an observable Given/When/Then that QA can execute, including negative cases. Acceptance Criteria Gwt is an agent skill from makifbaysal/tasktrooper.

When should I use Acceptance Criteria Gwt?

Acceptance Criteria Gwt fits situations like: writing acceptance criteria for a task - express each as an observable Given/When/Then that QA can execute; including negative cases.

How do I install Acceptance Criteria Gwt in Claude Code?

Run `npx skills add makifbaysal/tasktrooper --skill acceptance-criteria-gwt -a claude-code`. Or copy the skill folder (catalog/agents/product-manager/skills/acceptance-criteria-gwt in makifbaysal/tasktrooper) into .claude/skills/acceptance-criteria-gwt in your project. Claude Code loads it when a task matches its description.

How do I install Acceptance Criteria Gwt in Codex?

Run `npx skills add makifbaysal/tasktrooper --skill acceptance-criteria-gwt -a codex`. Or copy the skill folder (catalog/agents/product-manager/skills/acceptance-criteria-gwt in makifbaysal/tasktrooper) into .agents/skills/acceptance-criteria-gwt in your project. Codex loads it when a task matches its description.

Can I use Acceptance Criteria Gwt in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add makifbaysal/tasktrooper --skill acceptance-criteria-gwt -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/acceptance-criteria-gwt, .gemini/skills/acceptance-criteria-gwt, .github/skills/acceptance-criteria-gwt and .opencode/skills/acceptance-criteria-gwt in your project.

What does Acceptance Criteria Gwt need to run?

SKILL.md names no scripts, command-line tools or credentials: Acceptance Criteria Gwt is instructions for the agent only.

Does Acceptance Criteria Gwt access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Acceptance Criteria Gwt safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Acceptance Criteria Gwt use?

Acceptance Criteria Gwt is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Acceptance Criteria Gwt use?

About 1.7k tokens (SKILL.md is roughly 6.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Acceptance Criteria Gwt?

Skills that share tags, products or a category with Acceptance Criteria Gwt: User Story Writer (deanpeters/Product-Manager-Skills, 7.2k stars), Ralph Tui Create Beads (subsy/ralph-tui, 2.5k stars), Agile Product Owner (alirezarezvani/claude-skills, 28k stars) and Ralph Tui Create Beads Rust (subsy/ralph-tui, 2.5k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Acceptance Criteria Gwt?

makifbaysal (a GitHub user) maintains it in makifbaysal/tasktrooper, which has 112 GitHub stars. The repository holds 12 skills in this directory. The repository was last updated on October 10, 2026.

Source: makifbaysal/tasktrooper on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.