بنقرة واحدة
setup
Use when initializing Beat or updating its config — not for editing config.yaml directly or non-Beat tools
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Use when initializing Beat or updating its config — not for editing config.yaml directly or non-Beat tools
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Use when implementing a Beat change — requires gherkin or proposal artifact to be done first
Use when a Beat change is complete (implemented, or distilled and verified) and ready to archive — not for verifying implementation
Use when starting a Beat change to create spec artifacts — not for task breakdown, implementation, or exploration
Use when extracting BDD specs from existing code — for adopting Beat in an established codebase or distilling a module into feature files
Use when breaking down a Beat change spec into tasks — not for spec creation or implementation
Use when validating implementation against spec artifacts before archive — not for design, planning, or implementation
| name | setup |
| description | Use when initializing Beat or updating its config — not for editing config.yaml directly or non-Beat tools |
Initialize Beat configuration in the current project.
<decision_boundary>
Use for:
NOT for:
beat/config.yaml directly (just edit the file)/beat:design)Trigger examples:
</decision_boundary>
Input: None required. The skill gathers information interactively.
Steps
Check if config already exists
Check if beat/config.yaml exists.
Check superpowers dependency
Check if the superpowers plugin is available by looking for any superpowers:* skill in the skill list.
If not available:
"Beat works standalone, but is better with superpowers — it provides structured brainstorming, TDD discipline, task decomposition, and git worktree isolation.
Install with:
/plugin marketplace add obra/superpowersWithout it, Beat falls back to simpler built-in flows."
Use AskUserQuestion tool:
If available: proceed silently.
Ask artifact language
Use AskUserQuestion tool:
"What language should Beat use for artifacts (proposals, features, designs, tasks)?"
Provide options:
This sets the language field in config.
Gather project context and detect tech stack
Use AskUserQuestion tool to ask:
"Describe your project so Beat can tailor its artifacts. Include: tech stack, test framework, and any key conventions."
Provide example options:
If user chooses detection:
Record the detected/described tech stack — this informs Step 5 framework recommendations.
Configure test frameworks
Based on the tech stack from Step 4, recommend appropriate frameworks.
Step 5a: Ask project type
Use AskUserQuestion tool:
"What type of project is this?"
Step 5b: Recommend frameworks using the table below
Cross-reference (language × project type) to recommend a framework pair. Present as defaults the user can accept or customize:
"Based on your stack ({language} + {project type}), recommended test frameworks:
- Behavior tests: {recommendation}
- E2E tests: {recommendation}
Accept defaults or customize?"
Framework recommendation table:
Behavior test frameworks (UT / integration):
| Language | Primary | Alternative |
|---|---|---|
| TypeScript / JavaScript | vitest | jest |
| Python | pytest | pytest-bdd |
| Go | go test | — |
| Java | JUnit | TestNG |
| C# | xUnit | NUnit |
| Ruby | RSpec | — |
| Rust | cargo test | — |
E2E frameworks (BDD runner + driver, by project type):
| Language | Web app (UI) | API server | CLI tool |
|---|---|---|---|
| TS / JS | cucumber-js + playwright | cucumber-js + supertest | cucumber-js + execa |
| Python | behave + playwright | behave + requests | behave + subprocess |
| Go | godog + playwright | godog + net/http | godog + os/exec |
| Java | Cucumber-JVM + Selenium | Cucumber-JVM + RestAssured | Cucumber-JVM + ProcessBuilder |
| C# | Reqnroll + Playwright | Reqnroll + HttpClient | Reqnroll + Process |
| Ruby | Cucumber + Capybara | Cucumber + Faraday | Cucumber + Open3 |
For Library projects: omit testing.e2e — behavior tests are sufficient. Note this in the summary.
Step 5c: Escape hatch
If the user explicitly says tests are not needed (e.g., pure docs, config-only, infra project):
testing.required: falseThis sets the testing field in config:
testing:
behavior: <selected framework> # always set (unless testing.required: false)
e2e: <selected BDD runner + driver> # set unless Library type or testing.required: false
Ask about artifact rules (optional)
Use AskUserQuestion tool:
"Want to set rules for how artifacts are generated?"
Write config
Create beat/config.yaml following the schema in references/config-schema.md.
mkdir -p beat
Write the file with the gathered context and rules.
Create directory structure (if not exists)
mkdir -p beat/changes
mkdir -p beat/features
Do not create the three living-doc surfaces here. beat/CONTEXT.md,
docs/adr/, and beat/ARCHITECTURE.md (plus module READMEs) are lazy —
they appear the first time a Beat skill needs them. A small project may
never need any of them. Mention this in the summary so the user knows
what to expect.
Show summary
## Beat Initialized
**Config:** beat/config.yaml
**Directories:** beat/changes/, beat/features/
**Superpowers:** installed / not installed (fallback mode)
**Testing:** {behavior framework} + {e2e framework} (or "not required")
Your config will be used when creating artifacts.
Edit beat/config.yaml anytime to update preferences.
Beat will also lazy-create three living-doc surfaces when first needed:
- beat/CONTEXT.md — domain glossary (see references/context-format.md)
- docs/adr/ — ADRs, three-condition gate (see references/adr-format.md)
- beat/ARCHITECTURE.md + module READMEs (see references/architecture-format.md)
Small projects may never need any of these.
Ready to start? Run `/beat:design` or `/beat:explore`
Guardrails
references/config-schema.md before writing