Skip to content
Agentmart
Submit a tool

behave-bdd

Production-grade skill for BDD testing with Python Behave (v1.3.0+).

Skill by MathiasPaulenko

IndexedMIT★ 2
Write a review

Chalk Labs

Need help deploying behave-bdd?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/mathiaspaulenko-behave-bdd

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Production-grade skill for BDD testing with Python Behave (v1.3.0+). Covers Gherkin, step implementations, environment hooks, fixtures, tags, data tables, scenario outlines, formatters, and CI/CD integration.

Use cases: testing, devops, data

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/behave-bdd

What's inside

Skill name
behave-bdd
Description
Production-grade skill for BDD testing with Python Behave (v1.3.0+). Covers Gherkin, step implementations, environment hooks, fixtures, tags, data tables, scenario outlines, formatters, and CI/CD integration.
License
MIT
Instructions
931 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts

Agent Skills spec issues

  • body: 931 lines (spec recommends under 500)

Files (9)

  • SKILL.md
  • api-reference.md · references/
  • formatter-template.py · references/
  • behave.ini · references/project-template/
  • environment.py · references/project-template/features/
  • example.feature · references/project-template/features/
  • __init__.py · references/project-template/features/steps/
  • common_steps.py · references/project-template/features/steps/
  • requirements.txt · references/project-template/

SKILL.md (first lines)

# Behave BDD Skill

## Description

This skill provides comprehensive guidance for Behavior-Driven Development (BDD) using the Python `behave` framework (version 1.3.0 and above). It covers everything from writing Gherkin feature files to production-grade step implementations, environment hooks, fixtures, tag expressions, data tables, scenario outlines, custom formatters, and CI/CD integration.

## Table of Contents

1. [Project Setup](#1-project-setup)
2. [Gherkin Feature Files](#2-gherkin-feature-files)
3. [Step Implementations](#3-step-implementations)
4. [Environment Hooks](#4-environment-hooks)
5. [Page Object Model](#5-page-object-model)
6. [Fixtures](#6-fixtures)
7. [Tags and Tag Expressions](#7-tags-and-tag-expressions)
8. [The Context Object](#8-the-context-object)
9. [Formatters and Reporters](#9-formatters-and-reporters)
10. [Configuration and CLI](#10-configuration-and-cli)
11. [Logging and Output Capture](#11-logging-and-output-capture)
12. [Debugging](#12-debugging)
13. [CI/CD Integration](#13-cicd-integration)
14. [Best Practices Checklist](#14-best-practices-checklist)
15. [Common Pitfalls](#15-common-pitfalls)
16. [References](#16-references)

## When to Invoke

- Creating or refactoring BDD tests for a Python project
- Writing Gherkin feature files with proper syntax and best practices
- Implementing Python step definitions with parameters, type conversion, shared state, and step composition (`execute_steps`)
- Configuring `environment.py` hooks for setup/teardown (browsers, DB, APIs)
- Using **Page Object Model (POM)** to decouple UI selectors from step definitions
- Using fixtures for reusable test components and resource management
- Applying tags and tag expressions to control test execution
- Working with data tables, scenario outlines, and backgrounds
- Generating reports (JSON, JUnit XML) and integrating with CI/CD
- Debugging failing behave tests or interpreting behave output

---

## 1. Project Setup

### Directory Layout

```
project/
  features/
    __init__.py          # Optional: makes features a package
    environment.py       # Setup / teardown hooks
    fixtures.py          # Reusable fixtures (optional)
    *.feature            # Gherkin feature files
    steps/
      __init__.py        # Optional
      *_steps.py         # Step definition modules
  behave.ini             # Configuration file (optional but recommended)
  setup.cfg              # Alternative config location
```

### Installation

```bash
pip install "behave>=1.3.0"

# Optional: for colored output and parse expressions
pip install behave[formatters] behave[parse]

# For web testing (Selenium example)
pip install selenium webdriver-manager
```

### behave.ini

```ini
[behave]
format = pretty
tags = ~@wip
stdout_capture = true
stderr_capture = true
log_capture = true
logging_level = INFO
colors = true
```

### setup.cfg (alternative config)

```ini
[behave]
format = pretty
tags = not @wip
paths = features/
stdout_capture = true
stderr_capture = true
```

### Project Template

See `references/project-template/` for a ready-to-copy bootstrap structure with `behave.ini`, `environment.py`, `steps/__init__.py`, and an example feature.

---

## 2. Gherkin Feature Files

### Basic Structure

```gherkin
Feature: User Authentication
  As a registered user
  I want to log into the application
  So that I can access my personal dashboard

  Background:
    Given the database has been seeded with default users

  @smoke @critical
  Scenario: Successful login with valid credentials
    Given I am on the login page
    When I enter "user@test.com" as email
    And I enter "password123" as password
    And I click the login button

From MathiasPaulenko/ai-toolkit, MIT.

More from MathiasPaulenko/ai-toolkit

Signals

Stars
2
Forks
0
Open issues
0
Last commit (this folder)
Jul 23, 2026 (3 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from MathiasPaulenko

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get behave-bdd running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying behave-bdd?

CallGet help
Cite this page

behave-bdd skill. Agent Mart. https://agentmart.dev/skills/mathiaspaulenko-behave-bdd (last updated 2026-10-24)