bdd-with-approvals

Create executable BDD specifications and scannable approval tests.

1|Updated May 14, 2025
One-click install
npx skills add https://github.com/fcnatra/VibeCoding --skill bdd-with-approvals-fcnatra
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: bdd-with-approvals
Source: https://github.com/fcnatra/VibeCoding/tree/main/Copilot%20Tools/skills/testing/bdd-with-approvals
Command: npx skills add https://github.com/fcnatra/VibeCoding --skill bdd-with-approvals-fcnatra

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill addresses the challenge of keeping software specifications synchronized with their implementation and ensuring tests are easily understandable.

Core Features & Use Cases

  • Executable Specifications: Write expected behavior in domain language before coding, ensuring tests remain current.
  • Scannable Fixtures: Uses human-readable formats (like ASCII art or structured text) for easy validation of test cases.
  • Use Case: When developing a new feature, define its expected outcomes using approval files. The implementation is then driven by making these human-readable specifications pass, ensuring both correctness and maintainability.

Quick Start

Define expected behavior for a new feature by creating an approval file in the specified domain language.

Frequently Asked Questions about bdd-with-approvals

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
What are executable BDD specifications and how do they keep tests synchronized with implementation?

Executable BDD specifications are expected behaviors written in a domain-specific language before coding. They use scannable approval tests to drive implementation, ensuring human-readable fixtures remain synchronized with the actual software behavior throughout development.

How do I write approval tests using a domain-specific language for new features?

To write approval tests for a new feature, define its expected outcomes by creating an approval file in the specified domain language. You then drive implementation by making the code pass these human-readable, scannable specifications.

When should I use approval tests instead of traditional assertion-based testing?

Use approval tests when human validation of expected outcomes is critical and requires a clear, glanceable format. They are ideal for scenarios needing scannable fixtures, like structured text or ASCII art, to verify complex behavior easily.

Can I use ASCII art and structured text to make BDD test cases easier to validate?

Yes, this approach supports creating scannable fixtures using human-readable formats like ASCII art or structured text. This design ensures test cases are easily understandable and allow quick human validation of expected outcomes.

What is the best way to maintain executable specifications during software development?

The best way to maintain executable specifications is to write expected behavior in a domain language before coding. Driving implementation through approval files ensures tests remain current, correct, and easily understandable over time.

Do I need any specific testing frameworks or dependencies to start writing executable BDD specs?

No specific testing frameworks or dependencies are required to start writing executable BDD specs. You can begin by defining expected behavior for a new feature through a simple approval file in your domain language.