Nw Jtbd Bdd Integration logo

Nw Jtbd Bdd Integration

Organization
nWave-ai
nw-jtbd-bdd-integration

Translating JTBD analysis to BDD scenarios - job story to Given-When-Then patterns, forces-based test discovery, job-map-based test discovery, and property-shaped criteria

Overview

PublishernWave-ai
RepositorynWave
Skill namenw-jtbd-bdd-integration
Stars
616
Forks
65
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by nWave-ai on GitHub. Read the source before you install it.

Installation

Install the Nw Jtbd Bdd Integration AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/nWave-ai/nWave/tree/main/nWave/skills/nw-jtbd-bdd-integration
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/nWave-ai/nWave.git /tmp/nWave
mkdir -p .claude/skills
cp -r /tmp/nWave/nWave/skills/nw-jtbd-bdd-integration .claude/skills/nw-jtbd-bdd-integration
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Nw Jtbd Bdd Integration in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Nw Jtbd Bdd Integration on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Nw Jtbd Bdd Integration is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

JTBD to BDD Integration

Use when translating JTBD discoveries (job stories, forces, job map) into testable BDD scenarios. Job stories map naturally to Given-When-Then because both emphasize context (situation/given), action (motivation/when), and outcome (result/then).

Job Story to Given-When-Then Translation

The Pattern

Job Story:
  When [situation],
  I want to [motivation],
  so I can [outcome].

BDD Scenario:
  Given [the situation from the job story]
  When [user takes action aligned with the motivation]
  Then [the outcome is achieved and measurable]

Worked Example

Job Story: "When I receive an alert that a production service is degraded, I want to see the most likely root cause with supporting evidence, so I can begin remediation within minutes instead of hours."

gherkin
Scenario: Root cause surfaced from degradation alert
  Given the monitoring system has detected degraded response times on the payment service
  And the degradation started 5 minutes ago
  When the operator opens the incident dashboard
  Then the system displays the top 3 probable root causes ranked by likelihood
  And each root cause includes supporting metrics and log evidence
  And the most likely root cause is displayed within 10 seconds

Scenario: Remediation guidance from identified root cause
  Given the operator has identified the root cause as database connection pool exhaustion
  When the operator selects the recommended remediation action
  Then the system presents a runbook with step-by-step instructions
  And the estimated time to remediate is displayed
  And the operator can execute the first step directly from the dashboard

Translation Rules

  1. Given = situation from job story, made concrete with specific data
  2. When = user action fulfilling the motivation
  3. Then = measurable outcome, including quality attributes (time, confidence, completeness)

Multi-Scenario Expansion

One job story typically produces 3-5 BDD scenarios:

  • Happy path: Outcome achieved as described
  • Anxiety path: User's fear about new solution addressed
  • Habit path: User transitioning from old workflow supported
  • Edge cases: Derived from job map steps (see below)

Forces-Based Test Discovery

Use Four Forces to discover test scenarios that feature-driven thinking misses.

Force-to-Scenario Mapping

ForceTest QuestionScenario Pattern
PushWhat frustration drove the user here?Given [user has experienced the frustration]...
PullWhat outcome is the user hoping for?Then [the promised improvement is measurable]
AnxietyWhat could go wrong with the new solution?Given [user has specific fear] When [fear-triggering event] Then [safety net activates]
HabitWhat existing workflow might resist adoption?Given [user accustomed to old way] When [new approach encountered] Then [familiar patterns preserved]

Worked Example: Automated Deployment Tool

Forces analysis:

  • Push: Manual deployments cause errors and take hours
  • Pull: One-command deployment with automatic rollback
  • Anxiety: "What if the automated rollback breaks worse than the original deploy?"
  • Habit: Team SSH-es into servers and runs scripts manually

Derived scenarios:

gherkin
# Push scenario: validates the frustration is resolved
Scenario: Deployment completes without manual intervention
  Given the operator has configured deployment for the payment service
  And the previous manual deployment took 3 hours with 2 errors
  When the operator runs the automated deployment command
  Then deployment completes within 15 minutes
  And zero manual steps are required

# Pull scenario: validates the promised outcome
Scenario: Automatic rollback on health check failure
  Given the deployment has completed and health checks are running
  When the payment endpoint returns 500 errors for 30 seconds
  Then the system automatically rolls back to the previous version
  And the operator receives a notification with rollback details

# Anxiety scenario: addresses the specific fear
Scenario: Rollback preserves database state
  Given the deployment included a database migration
  And the health check has triggered an automatic rollback
  When the rollback completes
  Then the database schema matches the previous stable version
  And no data is lost during the rollback process
  And the operator can verify data integrity from the dashboard

# Habit scenario: eases the transition
Scenario: Manual override available during automated deployment
  Given the operator is accustomed to SSH-based manual deployments
  When the automated deployment is in progress
  Then the operator can view real-time logs (familiar output format)
  And the operator can pause or cancel the deployment at any stage
  And manual SSH access remains available as a fallback

Job-Map-Based Test Discovery

Walk each of the 8 job map steps and generate at least one test scenario per step. Surfaces edge cases that happy-path thinking misses.

Job Map StepMissing Scenario PatternExample
DefineUser lacks information to startGiven the user has not reviewed the change log When they attempt to deploy Then the system warns about unreviewed changes
LocateRequired inputs unavailable or staleGiven the build artifact is 30 days old When the user selects it for deployment Then the system flags the artifact as potentially stale
PrepareSetup fails or environment misconfiguredGiven the target environment has a port conflict When preparation runs Then the system reports the conflict with resolution steps
ConfirmValidation passes incorrectly (false positive)Given the pre-check passes but a dependency is actually down When deployment proceeds Then the system detects the issue at runtime and halts
ExecuteExecution interrupted midwayGiven deployment is 50% complete When the network connection drops Then the system resumes from the last checkpoint after reconnection
MonitorMonitoring reports misleading successGiven all health checks pass but latency has doubled When the operator reviews the dashboard Then latency degradation is highlighted as a warning
ModifyModification makes things worseGiven the operator applies a hotfix during an incident When the hotfix introduces a new error Then the system detects the regression and suggests reverting
ConcludeCleanup fails silentlyGiven deployment succeeded and cleanup runs When temporary resources fail to delete Then the system logs the failure and alerts the operator

Application Process

  1. List the 8 job map steps for the feature
  2. For each step, ask: "What could go wrong here that we have not tested?"
  3. Write one scenario per step minimum
  4. Steps 1-4 (Define through Confirm) and 7-8 (Modify, Conclude) produce most overlooked scenarios

The @property Tag for Property-Shaped Criteria

Some AC describe system properties rather than discrete scenarios -- ongoing qualities, not one-time events.

When to Use @property

Use when criterion: describes quality holding continuously (not one scenario) | cannot be captured by finite Given-When-Then set | relates to performance, consistency, or invariants

Format

gherkin
@property
Scenario: Response time consistency under load
  Given the system is handling 100 concurrent requests
  Then all API responses complete within 200ms at the 95th percentile
  And no response exceeds 1000ms

@property
Scenario: Data consistency across replicas
  Given writes have been committed to the primary database
  Then all read replicas reflect the write within 5 seconds
  And no stale reads occur after the consistency window

Property Criteria from JTBD

Outcome statements often translate to property-shaped criteria (ongoing qualities):

Outcome StatementProperty Scenario
"Minimize the likelihood of undetected failures"@property monitoring coverage: all critical paths emit health signals
"Minimize the time to recover from exceptions"@property recovery time: system returns to healthy state within 60s
"Maximize the likelihood that results are consistent"@property consistency: identical inputs produce identical outputs

JTBD-to-BDD Translation Template

Use when translating a complete job story into a BDD scenario set:

markdown
## JTBD-to-BDD Translation: [Feature Name]

### Source Job Story
When [situation],
I want to [motivation],
so I can [outcome].

### Forces
- Push: [frustration]
- Pull: [attraction]
- Anxiety: [fear]
- Habit: [inertia]

### Scenarios

#### Happy Path (from job story)
Scenario: [outcome achieved]
  Given [situation]
  When [action aligned with motivation]
  Then [outcome measurable]

#### Anxiety Path (from forces)
Scenario: [fear addressed]
  Given [anxiety-triggering context]
  When [fear event occurs]
  Then [safety net / reassurance]

#### Habit Path (from forces)
Scenario: [transition supported]
  Given [user accustomed to old way]
  When [new approach encountered]
  Then [familiar patterns preserved]

#### Job Map Edge Cases
Scenario: [Define step gap]
  Given [insufficient information]
  When [user attempts to start]
  Then [system guides to missing info]

Scenario: [Monitor step gap]
  Given [misleading success indicators]
  When [user checks results]
  Then [system surfaces hidden issues]

#### Properties (from outcome statements)
@property
Scenario: [ongoing quality]
  Given [system under normal operation]
  Then [quality metric holds within threshold]

Integration Checklist

Before handing scenarios to acceptance-designer (DISTILL wave), verify:

  • Happy path scenario derived from job story
  • Anxiety scenario addresses strongest demand-reducing force
  • Habit scenario supports users transitioning from current workflow
  • At least 4 of 8 job map steps have dedicated edge case scenarios
  • Property-shaped criteria tagged with @property
  • All scenarios use concrete data (real names, real values)
  • Scenarios are solution-neutral where possible (describe outcomes, not implementation)

Cross-References

  • For core JTBD theory and the 8-step job map: load jtbd-core skill
  • For interview techniques to discover forces: load jtbd-interviews skill
  • For outcome statements feeding @property criteria: load jtbd-opportunity-scoring skill
  • For BDD methodology (Example Mapping, Three Amigos): load bdd-requirements skill

Frequently asked questions

What does the Nw Jtbd Bdd Integration AI skill do?

Translating JTBD analysis to BDD scenarios - job story to Given-When-Then patterns, forces-based test discovery, job-map-based test discovery, and property-shaped criteria

Why use Nw Jtbd Bdd Integration on TypingMind?

Because you install it once and use it with any model. Nw Jtbd Bdd Integration is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Nw Jtbd Bdd Integration in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/nWave-ai/nWave/tree/main/nWave/skills/nw-jtbd-bdd-integration. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Nw Jtbd Bdd Integration?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Nw Jtbd Bdd Integration?

As many as you like. As long as a model supports skills, you can use Nw Jtbd Bdd Integration with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Nw Jtbd Bdd Integration AI skill free?

Yes. It is published on GitHub by nWave-ai under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇