| name | dapp-sdd:implement |
| description | Use when executing implementation tasks with commits after each task and reviews after each phase. |
Implement Skill
Executes the task list autonomously with quality gates.
Input
.dapp-sdd/tasks.md - Task list with checkboxes
.dapp-sdd/plan.md - Implementation plan (for context)
.dapp-sdd/spec.md - Specification (for requirements)
.dapp-sdd/pr-context.json - PR metadata
Process
For Each Task
- Read task from
.dapp-sdd/tasks.md
- Execute task using appropriate skills:
- Contract work →
compact-core:* skills
- TypeScript work → standard development
- Documentation →
readme-and-co:documentation-standards
- Run quality checks:
npm run lint
npm run format:check
tsc --noEmit
compact compile contracts/*.compact
- Fix any issues (zero tolerance policy)
- Commit and push:
- Use
git-lovely:useful-commits for message
git add .
git commit -m "{message}"
git push
- Mark task complete in
.dapp-sdd/tasks.md
- Update state in
.dapp-sdd/pr-context.json
For Review Tasks
When encountering a [REVIEW] task:
-
Run Compact review (if contracts exist):
Use compact-reviewer:compact-reviewer agent
Context: "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"
-
Run TypeScript review:
Use devs:code-reviewer agent
Context: "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"
-
Address all issues raised by either reviewer
-
Commit fixes with appropriate message
-
Mark review complete in tasks.md
For Completion Task
When encountering the [COMPLETE] task:
-
Generate summary:
- Count completed user stories
- Count completed tasks
- List key files created/modified
-
Post to PR:
gh pr comment {prNumber} --body "## Implementation Complete
### Summary
- User Stories: {X} completed
- Tasks: {Y} completed
- Phases: {Z} reviewed
### Key Files
- `contracts/{name}.compact` - Smart contract
- `src/deploy.ts` - Deployment script
- `src/cli.ts` - CLI interface
### Quality
- All linting checks pass
- All formatting checks pass
- All TypeScript checks pass
- All Compact compilation passes
- All tests pass
Ready for final review!"
-
Mark PR ready:
gh pr ready {prNumber}
State Tracking
Update .dapp-sdd/pr-context.json after each task:
{
"owner": "...",
"repo": "...",
"branch": "...",
"prNumber": 42,
"currentPhase": 2,
"completedTasks": ["T001", "T002", "T003"],
"status": "implementing"
}
Error Handling
If a task fails:
- Log the error
- Attempt to fix automatically
- If cannot fix, stop implementation
- Post error summary to PR as comment
- Update status to "blocked" in pr-context.json