# Cucumber Features

> Use when editing or creating Cucumber feature files (*.feature). Provides API documentation guidelines.

- Skill: `tomevault-io/cucumber-features` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/cucumber-features`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/cucumber-features/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/cucumber-features

---


# Cucumber Feature Files as API Documentation

Feature files should serve as API documentation for new users without needing to review step implementations.

## Key Principle: Show First, Then Shorthand

**First occurrence** of an API: Use raw HTTP steps to document the exact URL and JSON structure:

```gherkin
When I call POST "/v1/conversations/${conversationId}/entries" with body:
"""
{
  "channel": "HISTORY",
  "contentType": "history",
  "content": [{"text": "Hello", "role": "USER"}]
}
"""
Then the response status should be 201
And the response body should be json:
"""
{
  "id": "${response.body.id}",
  "conversationId": "${conversationId}",
  "channel": "history",
  "contentType": "history",
  "content": [{"text": "Hello", "role": "USER"}],
  "createdAt": "${response.body.createdAt}"
}
"""
```

**Subsequent occurrences**: Use shorthand steps since API is already documented:

```gherkin
Given the conversation has an entry "Hello"
When I list entries for the conversation
Then the response should contain 1 entry
```

## Raw HTTP Steps Reference

```gherkin
When I call GET "/v1/conversations/${conversationId}"
When I call POST "/v1/path" with body:
When I call DELETE "/v1/path"
```

## Variable Capture

```gherkin
And set "myVar" to the json response field "id"
And set "myVar" to "${response.body.id}"
# Use later: "/v1/conversations/${myVar}"
```

---
> Converted and distributed by [TomeVault](https://tomevault.io/claim/chirino) — claim your Tome and manage your conversions.
<!-- tomevault:4.0:skill_md:2026-04-13 -->

