dapp-sdd:specify

Use when expanding a README-based dApp description into a full specification with user stories and acceptance criteria.

16 stars

Best use case

dapp-sdd:specify is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Use when expanding a README-based dApp description into a full specification with user stories and acceptance criteria.

Teams using dapp-sdd:specify should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/dapp-sdd-specify/SKILL.md --create-dirs "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/main/skills/development/dapp-sdd-specify/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/dapp-sdd-specify/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How dapp-sdd:specify Compares

Feature / Agentdapp-sdd:specifyStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Use when expanding a README-based dApp description into a full specification with user stories and acceptance criteria.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Specify Skill

Expands a user's README.md dApp description into a comprehensive specification.

## Input

The user's README.md containing:
- What the dApp should demonstrate
- Basic functionality description
- Any specific requirements or constraints

## Output

A structured specification saved to `.dapp-sdd/spec.md` containing:

### 1. Overview Section
- **Purpose:** What concept this dApp demonstrates
- **Target Audience:** Who will learn from this example
- **Learning Outcomes:** What developers will understand after studying this

### 2. User Stories

Format each as:
```
### US{N}: {Title}

**As a** developer learning Midnight
**I want to** {action}
**So that** {benefit}

**Acceptance Criteria:**
- [ ] AC1: {Specific, testable criterion}
- [ ] AC2: {Specific, testable criterion}
- [ ] AC3: {Specific, testable criterion}
```

### 3. Technical Requirements

- **Compact Contract:** What circuits are needed
- **TypeScript Integration:** CLI commands, deployment scripts
- **State Management:** What state the contract tracks
- **Privacy Model:** What's private vs public

### 4. Out of Scope

Explicitly list what this example does NOT cover to keep it focused.

## Process

1. Read the README.md content provided
2. Identify the core concept being demonstrated
3. Extract functional requirements
4. Generate 2-4 user stories (keep it minimal for examples)
5. Define clear acceptance criteria
6. Document technical requirements
7. Save to `.dapp-sdd/spec.md`

## Skill References

Invoke these skills to validate the specification:
- `compact-core:language-reference` - Verify Compact concepts are correctly referenced
- `midnight-dapp:*` - Ensure dApp patterns are appropriate

## Example Spec Structure

```markdown
# {DApp Name} Specification

## Overview

**Purpose:** Demonstrate {concept} in Midnight
**Target Audience:** Developers learning {topic}
**Learning Outcomes:**
- Understand how to {outcome 1}
- Learn to {outcome 2}

## User Stories

### US1: Basic Contract Interaction

**As a** developer learning Midnight
**I want to** deploy and interact with a simple contract
**So that** I understand the basic development workflow

**Acceptance Criteria:**
- [ ] Contract compiles without errors
- [ ] Contract deploys to local network
- [ ] CLI can call contract circuits

### US2: {Second Story}
...

## Technical Requirements

### Compact Contract
- Circuit: `{name}` - {purpose}
- State: `{field}` - {description}

### TypeScript Integration
- `deploy.ts` - Deployment script
- `cli.ts` - Interactive CLI

### Privacy Model
- Private: {what's private}
- Public: {what's public}

## Out of Scope

- Production deployment
- Error recovery
- Multiple users
```

Related Skills

bgo

10
from diegosouzapw/awesome-omni-skill

Automates the complete Blender build-go workflow, from building and packaging your extension/add-on to removing old versions, installing, enabling, and launching Blender for quick testing and iteration.

Coding & Development

database-optimizer

16
from diegosouzapw/awesome-omni-skill

Expert database optimizer specializing in modern performance tuning, query optimization, and scalable architectures. Masters advanced indexing, N+1 resolution, multi-tier caching, partitioning strategies, and cloud database optimization. Handles complex query analysis, migration strategies, and performance monitoring. Use PROACTIVELY for database optimization, performance issues, or scalability challenges.

database-optimization

16
from diegosouzapw/awesome-omni-skill

Use when optimizing database queries, indexes, N+1 problems, slow queries, or analyzing query performance. Triggers on keywords like "slow query", "N+1", "index", "query optimization", "database performance", "eager loading".

database

16
from diegosouzapw/awesome-omni-skill

Database design, optimization, and management for SQL and NoSQL databases. Covers schema design, indexing, query optimization, migrations, and database best practices. Use when designing database schemas, optimizing queries, troubleshooting database performance, or implementing data models.

database-migrator

16
from diegosouzapw/awesome-omni-skill

Handle schema changes and data migrations safely. Creates migration files with rollback plans. Use when user says 'migration', 'schema change', 'add column', 'database change', or 'alter table'.

database-migrations-sql-migrations

16
from diegosouzapw/awesome-omni-skill

SQL database migrations with zero-downtime strategies for PostgreSQL, MySQL, SQL Server Use when: the user asks to run the `sql-migrations` workflow and the task requires multi-step orchestration. Do not use when: the task is small, single-step, and can be completed directly without orchestration overhead.

database-migration

16
from diegosouzapw/awesome-omni-skill

Guides database migration projects including engine changes (MySQL to PostgreSQL, Oracle to PostgreSQL, SQL Server to PostgreSQL), version upgrades, cloud migrations (on-premise to RDS/Cloud SQL/Azure Database), schema migrations, zero-downtime migrations, replication setup, and data migration strategies. Covers homogeneous and heterogeneous migrations, ETL processes, cutover procedures, and rollback plans. Use when migrating databases, changing database engines, upgrading database versions, moving databases to cloud, or when users mention "database migration", "DB migration", "PostgreSQL migration", "MySQL to Postgres", "Oracle migration", "database upgrade", or "cloud database migration".

database-master

16
from diegosouzapw/awesome-omni-skill

World-class expert database master covering PostgreSQL, MySQL, MongoDB, Redis, and database architecture. Use when designing schemas, optimizing queries, planning migrations, implementing caching strategies, or solving complex database challenges at production scale.

database-management

16
from diegosouzapw/awesome-omni-skill

Database schema design, migrations, query optimization, and ORM best practices. Use for database setup, performance tuning, and data modeling.

database-expert

16
from diegosouzapw/awesome-omni-skill

Advanced database design and administration for PostgreSQL, MongoDB, and Redis. Use when designing schemas, optimizing queries, managing database performance, or implementing data patterns.

database-expert-advisor

16
from diegosouzapw/awesome-omni-skill

Database design, optimization, and operations expert

database-engine-implementation

16
from diegosouzapw/awesome-omni-skill

Guide for implementing database engines in IterableData. Use when adding support for new SQL or NoSQL databases, implementing DBDriver classes, or extending database capabilities.