dapp-sdd:implement
Use when executing implementation tasks with commits after each task and reviews after each phase.
SKILL.md
Full skill instructions
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
- Contract work →
- 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-commitsfor message git add .git commit -m "{message}"git push
- Use
- 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
