plugins/dapp-sdd/skills/specify/SKILL.md
Use when expanding a README-based dApp description into a full specification with user stories and acceptance criteria.
npx skillsauth add aaronbassett/midnight-knowledgebase dapp-sdd:specifyInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
4 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Expands a user's README.md dApp description into a comprehensive specification.
The user's README.md containing:
A structured specification saved to .dapp-sdd/spec.md containing:
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}
Explicitly list what this example does NOT cover to keep it focused.
.dapp-sdd/spec.mdInvoke these skills to validate the specification:
compact-core:language-reference - Verify Compact concepts are correctly referencedmidnight-dapp:* - Ensure dApp patterns are appropriate# {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
tools
Use when setting up Midnight development environment, installing Compact compiler and developer tools, configuring proof server, verifying prerequisites, or getting started with Midnight development.
tools
--- name: midnight-tooling:midnight-debugging description: Use when encountering Midnight errors like "compact: command not found", "ERR_UNSUPPORTED_DIR_IMPORT", version mismatches, proof server failures, "@midnight-ntwrk" package errors, or compilation failures. --- # Midnight Environment Debugging Expert knowledge for identifying and resolving common Midnight development toolchain issues. ## Diagnostic Approach When encountering Midnight-related errors, follow this systematic approach: 1.
tools
Use when checking Midnight version compatibility, understanding pragma language_version, verifying compiler and runtime version relationships, or troubleshooting version mismatch errors between Midnight components.
tools
Use when setting up CI/CD for Midnight projects, configuring GitHub Actions for Compact contract compilation, running TypeScript tests in CI, validating version consistency, or automating contract builds.