plugins/dapp-sdd/skills/constitution/SKILL.md
Use when implementing any Midnight example dApp to ensure compliance with quality standards and project conventions.
npx skillsauth add aaronbassett/midnight-knowledgebase dapp-sdd:constitutionInstall 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.
This constitution defines non-negotiable standards for all example dApps built with the dapp-sdd plugin.
contracts/ directory@midnight-ntwrk/*)create-mn-appAll code must pass quality checks with zero warnings or errors:
| Check | Command | Requirement |
|-------|---------|-------------|
| Linting | npm run lint | No errors, no warnings |
| Formatting | npm run format:check | No formatting issues |
| TypeScript | tsc --noEmit | No type errors |
| Compact | compact compile | Clean compilation |
Quality gates are mandatory before every commit.
readme-and-co:documentation-standardsgit-lovely:useful-commits skill for commit messages{feature-name} (provided by user)counter-example, token-transferAfter each implementation phase, run BOTH reviews:
Use compact-reviewer:compact-reviewer agent
Instructions: "You are reviewing an example dApp for the Midnight Network.
This project is intended to demonstrate concepts to developers learning Midnight.
Be pragmatic with suggestions:
- Focus on correctness and clarity over production concerns
- Flag anything that would confuse learners
- Flag bad practices that learners might copy
- Accept reasonable shortcuts that keep the example focused
- Ensure educational comments are accurate"
Use devs:code-reviewer agent
Instructions: "You are reviewing an example dApp for the Midnight Network.
This project is intended to demonstrate concepts to developers learning Midnight.
Be pragmatic with suggestions:
- Focus on correctness and clarity over production concerns
- Flag anything that would confuse learners
- Flag bad practices that learners might copy
- Accept reasonable shortcuts that keep the example focused
- Ensure educational comments are accurate"
All review issues must be addressed before proceeding to next phase.
TestContextPlugin state is stored in .dapp-sdd/ directory (gitignored):
.dapp-sdd/
├── spec.md # Expanded specification
├── plan.md # Implementation plan
├── tasks.md # Task list with checkboxes
└── pr-context.json # PR metadata
During implementation, leverage these skills:
| Phase | Skills |
|-------|--------|
| Specify | compact-core:language-reference, midnight-dapp:* |
| Plan | compact-core:contract-patterns, compact-core:typescript-integration, midnight-proofs:* |
| Implement | compact-core:standard-library, compact-core:privacy-disclosure, compact-core:testing-debugging, midnight-tooling:* |
| Commits | git-lovely:useful-commits |
| Docs | readme-and-co:documentation-standards |
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.