Spec — Define What to Build

SkillDocs & knowledge

Spec phase. Converts user requirements into a numbered Requirements + Acceptance Criteria document saved as SPEC-{timestamp}.md. Prompts /team suggestion when 3+ requirements are detected.

Use Spec — Define What to Build in Claude, ChatGPT or Ahel Desktop

Free. Sign in, add Spec — Define What to Build and connect your AI. About a minute.

Also: Claude Code · Cursor · Codex

Then ask your AI: use the Spec skill

Details

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

Add Ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.

Spec — Define What to BuildStart free

What this skill tells your AI

The instructions your AI receives, as published by hashgraph-online/awesome-codex-plugins in plugins/epicsagas/epic-harness/skills/spec/SKILL.md and read by Ahel’s review.

CRITICAL: Run HARNESS_DIR=$(epic-harness path) first. NEVER use .harness/ in the project directory.

Process

  1. Understand the request

    • Read any existing context (CLAUDE.md, README, codebase structure)
    • If the request is vague, ask focused questions (max 3 at a time)
    • Never assume — clarify ambiguity before proceeding
  2. Produce the spec Write a concise spec covering:

    • Goal: One sentence — what does this achieve?
    • Scope: What's included and explicitly excluded
    • Requirements: Numbered list (R1, R2, ...) of concrete, testable behaviors
    • Acceptance criteria: Numbered list (AC1, AC2, ...) — observable outcomes that prove each requirement is met
    • Technical notes: Constraints, dependencies, edge cases
  3. Confirm with user Show the spec in digestible chunks. Get explicit approval before proceeding.

Output

Save the approved spec to $HARNESS_DIR/specs/SPEC-{timestamp}.md using this exact format:

---
status: approved
created: {ISO-8601 timestamp}
goal_slug: {kebab-case-goal-summary}
---

# SPEC-{timestamp}: {Goal}

## Goal
{One sentence}

## Scope
- In: {what is included}
- Out: {what is explicitly excluded}

## Requirements
- R1: {concrete testable behavior}
- R2: {concrete testable behavior}

## Acceptance Criteria
- AC1 (R1): {observable outcome proving R1}
- AC2 (R2): {observable outcome proving R2}

## Technical Notes
{Constraints, dependencies, edge cases}

After saving:

  1. Count the Requirements (R1, R2, ...). If 3 or more, check team status: epic team status.
    • If no team is linked: suggest "This spec has N requirements. Consider running /team to set up a project-specific agent team before /go."
    • If a team is already linked: skip this hint.
  2. Tell the user: "Spec saved. Run /go to start building."

Anti-Rationalization

ExcuseRebuttalWhat to do instead
"It's a small change, I'll just code it"Small changes still have wrong assumptionsWrite the spec — it takes 2 minutes
"I'll refine the spec after coding"Spec after code is documentation, not planningSpec first, code second
"The user didn't give me enough detail"Then ask — don't invent requirementsAsk focused questions, max 3 at a time

Evidence Required

  • Spec file exists at $HARNESS_DIR/specs/SPEC-{timestamp}.md
  • Frontmatter has status: approved
  • Every Requirement has at least one Acceptance Criterion
  • ACs are observable (can be tested or verified)

Red Flags

  • Writing code before the spec is approved
  • Assuming requirements that weren't stated
  • Producing a 3-page spec for a 1-line change
  • Acceptance criteria that cannot be verified by a test or observation
  • Skipping this phase for non-trivial features

Signals

GitHub stars
1k
Forks
316
Last commit
Oct 2026
Advanced
Item type
skill
Key
spec-hashgraph-online
Source
github.com/hashgraph-online/awesome-codex-plugins