@trespies-source/dojo-genesis-plugin 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +30 -0
- package/LICENSE +21 -0
- package/README.md +204 -0
- package/dist/hooks/after-tool-call/handler.d.ts +4 -0
- package/dist/hooks/after-tool-call/handler.d.ts.map +1 -0
- package/dist/hooks/after-tool-call/handler.js +37 -0
- package/dist/hooks/after-tool-call/handler.js.map +1 -0
- package/dist/hooks/agent-end/handler.d.ts +4 -0
- package/dist/hooks/agent-end/handler.d.ts.map +1 -0
- package/dist/hooks/agent-end/handler.js +16 -0
- package/dist/hooks/agent-end/handler.js.map +1 -0
- package/dist/hooks/before-agent-start/handler.d.ts +4 -0
- package/dist/hooks/before-agent-start/handler.d.ts.map +1 -0
- package/dist/hooks/before-agent-start/handler.js +81 -0
- package/dist/hooks/before-agent-start/handler.js.map +1 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +35 -0
- package/dist/index.js.map +1 -0
- package/dist/src/commands/archive.d.ts +4 -0
- package/dist/src/commands/archive.d.ts.map +1 -0
- package/dist/src/commands/archive.js +20 -0
- package/dist/src/commands/archive.js.map +1 -0
- package/dist/src/commands/init.d.ts +4 -0
- package/dist/src/commands/init.d.ts.map +1 -0
- package/dist/src/commands/init.js +57 -0
- package/dist/src/commands/init.js.map +1 -0
- package/dist/src/commands/list.d.ts +4 -0
- package/dist/src/commands/list.d.ts.map +1 -0
- package/dist/src/commands/list.js +9 -0
- package/dist/src/commands/list.js.map +1 -0
- package/dist/src/commands/router.d.ts +3 -0
- package/dist/src/commands/router.d.ts.map +1 -0
- package/dist/src/commands/router.js +83 -0
- package/dist/src/commands/router.js.map +1 -0
- package/dist/src/commands/skill-invoke.d.ts +4 -0
- package/dist/src/commands/skill-invoke.d.ts.map +1 -0
- package/dist/src/commands/skill-invoke.js +26 -0
- package/dist/src/commands/skill-invoke.js.map +1 -0
- package/dist/src/commands/status.d.ts +4 -0
- package/dist/src/commands/status.d.ts.map +1 -0
- package/dist/src/commands/status.js +42 -0
- package/dist/src/commands/status.js.map +1 -0
- package/dist/src/commands/switch.d.ts +4 -0
- package/dist/src/commands/switch.d.ts.map +1 -0
- package/dist/src/commands/switch.js +20 -0
- package/dist/src/commands/switch.js.map +1 -0
- package/dist/src/orchestration/tool-registry.d.ts +18 -0
- package/dist/src/orchestration/tool-registry.d.ts.map +1 -0
- package/dist/src/orchestration/tool-registry.js +153 -0
- package/dist/src/orchestration/tool-registry.js.map +1 -0
- package/dist/src/skills/catalog.d.ts +9 -0
- package/dist/src/skills/catalog.d.ts.map +1 -0
- package/dist/src/skills/catalog.js +251 -0
- package/dist/src/skills/catalog.js.map +1 -0
- package/dist/src/state/manager.d.ts +19 -0
- package/dist/src/state/manager.d.ts.map +1 -0
- package/dist/src/state/manager.js +114 -0
- package/dist/src/state/manager.js.map +1 -0
- package/dist/src/state/migrations.d.ts +3 -0
- package/dist/src/state/migrations.d.ts.map +1 -0
- package/dist/src/state/migrations.js +8 -0
- package/dist/src/state/migrations.js.map +1 -0
- package/dist/src/state/types.d.ts +62 -0
- package/dist/src/state/types.d.ts.map +1 -0
- package/dist/src/state/types.js +2 -0
- package/dist/src/state/types.js.map +1 -0
- package/dist/src/ui/chat-formatter.d.ts +11 -0
- package/dist/src/ui/chat-formatter.d.ts.map +1 -0
- package/dist/src/ui/chat-formatter.js +39 -0
- package/dist/src/ui/chat-formatter.js.map +1 -0
- package/dist/src/utils/file-ops.d.ts +6 -0
- package/dist/src/utils/file-ops.d.ts.map +1 -0
- package/dist/src/utils/file-ops.js +38 -0
- package/dist/src/utils/file-ops.js.map +1 -0
- package/dist/src/utils/markdown.d.ts +2 -0
- package/dist/src/utils/markdown.d.ts.map +1 -0
- package/dist/src/utils/markdown.js +11 -0
- package/dist/src/utils/markdown.js.map +1 -0
- package/dist/src/utils/validation.d.ts +7 -0
- package/dist/src/utils/validation.d.ts.map +1 -0
- package/dist/src/utils/validation.js +29 -0
- package/dist/src/utils/validation.js.map +1 -0
- package/dist/tests/__mocks__/openclaw-types.d.ts +54 -0
- package/dist/tests/__mocks__/openclaw-types.d.ts.map +1 -0
- package/dist/tests/__mocks__/openclaw-types.js +29 -0
- package/dist/tests/__mocks__/openclaw-types.js.map +1 -0
- package/hooks/after-tool-call/HOOK.md +7 -0
- package/hooks/after-tool-call/handler.ts +41 -0
- package/hooks/agent-end/HOOK.md +7 -0
- package/hooks/agent-end/handler.ts +18 -0
- package/hooks/before-agent-start/HOOK.md +7 -0
- package/hooks/before-agent-start/handler.ts +133 -0
- package/openclaw.plugin.json +19 -0
- package/package.json +61 -0
- package/skills/agent-teaching/SKILL.md +583 -0
- package/skills/agent-teaching/claw.json +12 -0
- package/skills/compression-ritual/SKILL.md +136 -0
- package/skills/compression-ritual/claw.json +12 -0
- package/skills/context-ingestion/SKILL.md +109 -0
- package/skills/context-ingestion/claw.json +12 -0
- package/skills/decision-propagation/SKILL.md +130 -0
- package/skills/decision-propagation/claw.json +12 -0
- package/skills/documentation-audit/SKILL.md +146 -0
- package/skills/documentation-audit/claw.json +12 -0
- package/skills/era-architecture/SKILL.md +166 -0
- package/skills/era-architecture/claw.json +12 -0
- package/skills/file-management/SKILL.md +127 -0
- package/skills/file-management/claw.json +12 -0
- package/skills/frontend-from-backend/SKILL.md +127 -0
- package/skills/frontend-from-backend/claw.json +12 -0
- package/skills/handoff-protocol/SKILL.md +168 -0
- package/skills/handoff-protocol/claw.json +12 -0
- package/skills/health-audit/SKILL.md +123 -0
- package/skills/health-audit/claw.json +12 -0
- package/skills/implementation-prompt/SKILL.md +361 -0
- package/skills/implementation-prompt/claw.json +12 -0
- package/skills/iterative-scouting/SKILL.md +106 -0
- package/skills/iterative-scouting/claw.json +12 -0
- package/skills/memory-garden/SKILL.md +470 -0
- package/skills/memory-garden/claw.json +12 -0
- package/skills/multi-surface-strategy/SKILL.md +288 -0
- package/skills/multi-surface-strategy/claw.json +12 -0
- package/skills/parallel-tracks/SKILL.md +152 -0
- package/skills/parallel-tracks/claw.json +12 -0
- package/skills/patient-learning-protocol/SKILL.md +438 -0
- package/skills/patient-learning-protocol/claw.json +12 -0
- package/skills/planning-with-files/SKILL.md +139 -0
- package/skills/planning-with-files/claw.json +12 -0
- package/skills/pre-implementation-checklist/SKILL.md +156 -0
- package/skills/pre-implementation-checklist/claw.json +12 -0
- package/skills/process-extraction/SKILL.md +148 -0
- package/skills/process-extraction/claw.json +12 -0
- package/skills/process-extraction/references/process_example_template.md +40 -0
- package/skills/product-positioning/SKILL.md +293 -0
- package/skills/product-positioning/claw.json +12 -0
- package/skills/project-exploration/SKILL.md +168 -0
- package/skills/project-exploration/claw.json +12 -0
- package/skills/release-specification/SKILL.md +645 -0
- package/skills/release-specification/claw.json +12 -0
- package/skills/repo-context-sync/SKILL.md +362 -0
- package/skills/repo-context-sync/claw.json +12 -0
- package/skills/repo-context-sync/references/file_hierarchy_patterns.md +186 -0
- package/skills/repo-context-sync/references/zenflow_repo_patterns.md +328 -0
- package/skills/repo-context-sync/scripts/context_mapper.py +251 -0
- package/skills/repo-context-sync/scripts/diff_tracker.py +187 -0
- package/skills/repo-context-sync/scripts/smart_clone.sh +52 -0
- package/skills/repo-context-sync/templates/context_summary.md +58 -0
- package/skills/repo-status/SKILL.md +240 -0
- package/skills/repo-status/claw.json +12 -0
- package/skills/repo-status/references/semantic-clusters.md +159 -0
- package/skills/repo-status/references/status-template.md +214 -0
- package/skills/research-modes/SKILL.md +515 -0
- package/skills/research-modes/claw.json +12 -0
- package/skills/research-synthesis/SKILL.md +110 -0
- package/skills/research-synthesis/claw.json +12 -0
- package/skills/retrospective/SKILL.md +152 -0
- package/skills/retrospective/claw.json +12 -0
- package/skills/seed-extraction/SKILL.md +419 -0
- package/skills/seed-extraction/claw.json +12 -0
- package/skills/seed-library/SKILL.md +424 -0
- package/skills/seed-library/claw.json +12 -0
- package/skills/seed-library/references/seed_catalog.md +171 -0
- package/skills/seed-library/scripts/apply_seed.py +129 -0
- package/skills/seed-library/scripts/suggest_seeds.py +183 -0
- package/skills/seed-library/seeds/01_three_tiered_governance.md +90 -0
- package/skills/seed-library/seeds/02_harness_trace.md +135 -0
- package/skills/seed-library/seeds/03_context_iceberg.md +120 -0
- package/skills/seed-library/seeds/04_agent_connect.md +106 -0
- package/skills/seed-library/seeds/05_go_live_bundles.md +40 -0
- package/skills/seed-library/seeds/06_cost_guard.md +40 -0
- package/skills/seed-library/seeds/07_safety_switch.md +41 -0
- package/skills/seed-library/seeds/08_implicit_perspective_extraction.md +41 -0
- package/skills/seed-library/seeds/09_mode_based_complexity_gating.md +46 -0
- package/skills/seed-library/seeds/10_shared_infrastructure.md +75 -0
- package/skills/seed-library/seeds/11_voice_before_structure.md +74 -0
- package/skills/seed-library/seeds/12_pointer_directories.md +81 -0
- package/skills/seed-library/seeds/13_granular_visibility.md +82 -0
- package/skills/seed-library/seeds/meta_governance_multiplies_velocity.md +43 -0
- package/skills/seed-to-skill-converter/SKILL.md +113 -0
- package/skills/seed-to-skill-converter/claw.json +12 -0
- package/skills/semantic-clusters/SKILL.md +246 -0
- package/skills/semantic-clusters/claw.json +12 -0
- package/skills/semantic-clusters/references/verb-catalog.md +267 -0
- package/skills/skill-audit-upgrade/SKILL.md +427 -0
- package/skills/skill-audit-upgrade/claw.json +12 -0
- package/skills/skill-creation/LICENSE.txt +202 -0
- package/skills/skill-creation/SKILL.md +252 -0
- package/skills/skill-creation/claw.json +12 -0
- package/skills/skill-creation/references/output-patterns.md +82 -0
- package/skills/skill-creation/references/progressive-disclosure-patterns.md +79 -0
- package/skills/skill-creation/references/workflows.md +28 -0
- package/skills/skill-creation/scripts/init_skill.py +305 -0
- package/skills/skill-creation/scripts/quick_validate.py +134 -0
- package/skills/skill-maintenance/SKILL.md +413 -0
- package/skills/skill-maintenance/claw.json +12 -0
- package/skills/spec-constellation-to-prompt-suite/SKILL.md +174 -0
- package/skills/spec-constellation-to-prompt-suite/claw.json +12 -0
- package/skills/status-template/SKILL.md +211 -0
- package/skills/status-template/claw.json +12 -0
- package/skills/status-template/references/complete-template.md +191 -0
- package/skills/status-writing/SKILL.md +161 -0
- package/skills/status-writing/claw.json +12 -0
- package/skills/strategic-scout/SKILL.md +163 -0
- package/skills/strategic-scout/claw.json +12 -0
- package/skills/strategic-to-tactical-workflow/SKILL.md +391 -0
- package/skills/strategic-to-tactical-workflow/claw.json +12 -0
- package/skills/workspace-navigation/SKILL.md +622 -0
- package/skills/workspace-navigation/claw.json +12 -0
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: era-architecture
|
|
3
|
+
description: Architect multi-release eras with shared vocabulary, architectural constraints, and design language for conceptual coherence. Use when planning major product pivots across multiple releases, defining conceptual architecture before decomposing into releases, or transitioning between product eras. Trigger phrases: 'plan this era', 'define the architecture for multiple releases', 'transition to a new era', 'create a multi-release vision', 'establish conceptual coherence across releases'.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
> **OpenClaw Integration:** This skill is invoked by the Dojo Genesis plugin via `/dojo run era-architecture`.
|
|
7
|
+
> The agent receives project context automatically via the `before_agent_start` hook.
|
|
8
|
+
> Use `dojo_get_context` for full state, `dojo_save_artifact` to persist outputs,
|
|
9
|
+
> and `dojo_update_state` to record phase transitions and decisions.
|
|
10
|
+
|
|
11
|
+
# era-architecture
|
|
12
|
+
|
|
13
|
+
## I. The Philosophy
|
|
14
|
+
|
|
15
|
+
An era is not a list of releases. It's a conceptual architecture that coordinates multiple releases under shared constraints.
|
|
16
|
+
|
|
17
|
+
When you go from "we need to rebuild the frontend" to "we need a complete multi-release era plan," you're making a qualitative shift. Instead of asking "what should v0.2.1 do?" you're asking "what vocabulary, architectural patterns, and design language will span all releases in this era?"
|
|
18
|
+
|
|
19
|
+
This shift matters because:
|
|
20
|
+
- **Coherence**: Without a shared architecture, releases drift apart. Release A uses one data model, Release B contradicts it.
|
|
21
|
+
- **Dependency clarity**: You can't plan releases independently. A shared design language in Release 1 enables faster work in Release 2.
|
|
22
|
+
- **Decision efficiency**: The era's conceptual architecture is the constitution that downstream decisions must obey. This prevents constant re-litigation of foundational choices.
|
|
23
|
+
|
|
24
|
+
The key insight: scouts explore the facets (not releases). From those explorations, you extract the era's architecture (not the other way around).
|
|
25
|
+
|
|
26
|
+
## II. When to Use This Skill
|
|
27
|
+
|
|
28
|
+
**Use era-architecture when:**
|
|
29
|
+
- Planning a major product pivot that spans 3+ releases
|
|
30
|
+
- You need to define shared conceptual vocabulary before decomposing into releases
|
|
31
|
+
- Transitioning between product eras (e.g., engine-building → fresh shell → social layer)
|
|
32
|
+
- The scope is too large for one release but needs coherent vision across all releases
|
|
33
|
+
- You need cross-cutting architectural decisions (data model, design language, navigation patterns)
|
|
34
|
+
|
|
35
|
+
**Do NOT use era-architecture when:**
|
|
36
|
+
- Planning a single release → use `strategic-scout` + `parallel-tracks`
|
|
37
|
+
- Writing specs → use `specification-writer` or `frontend-from-backend`
|
|
38
|
+
- Converting specs to prompts → use `spec-constellation-to-prompt-suite` or `zenflow-prompt-writer`
|
|
39
|
+
- Exploring one strategic question → use `strategic-scout`
|
|
40
|
+
|
|
41
|
+
## III. The Workflow (7 Steps)
|
|
42
|
+
|
|
43
|
+
### Step 1: Name the Era and Its Predecessor
|
|
44
|
+
|
|
45
|
+
Give the era a name that captures its purpose (e.g., "The Fresh Shell", "The Engine", "The Social Layer").
|
|
46
|
+
|
|
47
|
+
Document what the previous era accomplished and what it leaves behind. Define the handoff: what assets/code/patterns carry forward, what gets archived.
|
|
48
|
+
|
|
49
|
+
This framing prevents the new era from being aimless. It grounds the work in what came before and what you're building toward.
|
|
50
|
+
|
|
51
|
+
### Step 2: Scout the Facets
|
|
52
|
+
|
|
53
|
+
Run 3-5 strategic scouts, each exploring a different facet of the era. Facets are not releases—they're architectural questions:
|
|
54
|
+
- Navigation/information architecture
|
|
55
|
+
- Data model and persistence
|
|
56
|
+
- Design language and UX philosophy
|
|
57
|
+
- Backend integration strategy
|
|
58
|
+
- Social/collaboration strategy (if applicable)
|
|
59
|
+
|
|
60
|
+
Each scout produces insights and open questions. Gather human decisions on those open questions before proceeding to Step 3. This is where the team shapes the architecture.
|
|
61
|
+
|
|
62
|
+
### Step 3: Define the Conceptual Architecture
|
|
63
|
+
|
|
64
|
+
From the scout insights and decisions, extract the era's conceptual vocabulary:
|
|
65
|
+
- **Core metaphors**: What's the guiding image? (e.g., "garden", "cognitive routes", "bonsai")
|
|
66
|
+
- **Architectural patterns**: What repeating structures apply everywhere? (e.g., "entity-as-lens", "content-edge transitions")
|
|
67
|
+
- **Design language**: Colors, typography, interaction patterns that all releases obey
|
|
68
|
+
- **Data model**: The types and relationships that span all releases
|
|
69
|
+
|
|
70
|
+
Write these as constraints: every release in the era must obey them. This is the era's constitution—it doesn't change per release.
|
|
71
|
+
|
|
72
|
+
### Step 4: Decompose into Releases
|
|
73
|
+
|
|
74
|
+
Define 3-7 releases that build on each other. Each release should have:
|
|
75
|
+
- A clear theme/name (e.g., "The Foundation", "The Shallow End", "The Deep End")
|
|
76
|
+
- Scope: what's built
|
|
77
|
+
- Dependencies: what must exist first
|
|
78
|
+
- Estimated effort
|
|
79
|
+
|
|
80
|
+
The first release is the thickest (it builds foundations). Later releases are thinner because the patterns are established. Some releases can run in parallel if they don't share dependencies.
|
|
81
|
+
|
|
82
|
+
### Step 5: Build the Dependency Graph
|
|
83
|
+
|
|
84
|
+
Map release-level dependencies (which releases block which). Map spec-level dependencies within releases (which specs must exist before others). Identify the critical path and parallel opportunities.
|
|
85
|
+
|
|
86
|
+
### Step 6: Write the Master Plan
|
|
87
|
+
|
|
88
|
+
Use the Master Plan Template (Section IV). The master plan is the single commissioning document for the entire era. Include vision, conceptual architecture summary, release roadmap, dependency graph, constraints, and parallel track allocation.
|
|
89
|
+
|
|
90
|
+
The master plan is a living document—decisions from later scouts update it. But the core architecture should remain stable.
|
|
91
|
+
|
|
92
|
+
### Step 7: Drop into Single-Release Work
|
|
93
|
+
|
|
94
|
+
For the first release, write detailed specs. Then convert specs to implementation prompts. Commission and execute the first release.
|
|
95
|
+
|
|
96
|
+
Before starting the next release, check: do the conceptual architecture constraints still hold? Do decisions from the first release affect later releases? Update the master plan if needed.
|
|
97
|
+
|
|
98
|
+
## IV. Master Plan Template
|
|
99
|
+
|
|
100
|
+
```markdown
|
|
101
|
+
# [Era Name] Master Plan
|
|
102
|
+
**Author:** [names]
|
|
103
|
+
**Status:** [Active/Complete]
|
|
104
|
+
**Era:** v[X].0 through v[X].N
|
|
105
|
+
|
|
106
|
+
## 1. Vision
|
|
107
|
+
[1-2 sentences: what this era accomplishes]
|
|
108
|
+
|
|
109
|
+
## 2. What Came Before
|
|
110
|
+
[Brief summary of previous era, what carries forward]
|
|
111
|
+
|
|
112
|
+
## 3. Conceptual Architecture
|
|
113
|
+
### Core Metaphors
|
|
114
|
+
### Architectural Patterns
|
|
115
|
+
### Design Language
|
|
116
|
+
### Data Model
|
|
117
|
+
|
|
118
|
+
## 4. Release Roadmap
|
|
119
|
+
| Version | Name | Focus | Dependencies | Est. Effort |
|
|
120
|
+
|
|
121
|
+
## 5. Dependency Graph
|
|
122
|
+
[ASCII or description showing release ordering]
|
|
123
|
+
|
|
124
|
+
## 6. Constraints
|
|
125
|
+
[Rules that all releases must obey]
|
|
126
|
+
|
|
127
|
+
## 7. Parallel Track Allocation
|
|
128
|
+
| Release | Tracks | Can Parallel With |
|
|
129
|
+
|
|
130
|
+
## 8. Commissioned Specifications
|
|
131
|
+
| Spec | Release | Status |
|
|
132
|
+
|
|
133
|
+
## 9. Next Steps
|
|
134
|
+
[Current focus and what follows]
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
## V. Best Practices
|
|
138
|
+
|
|
139
|
+
- **Eras need names**: Names create shared vocabulary for the team. "The Fresh Shell" is better than "v0.2 refactor".
|
|
140
|
+
- **Scout facets, not releases**: Architecture emerges from cross-cutting exploration, not from asking "what should v0.2.1 do?"
|
|
141
|
+
- **Conceptual architecture is the output**: It constrains everything downstream and prevents releases from drifting apart.
|
|
142
|
+
- **First release is heaviest**: Later releases feel lighter because the patterns are established.
|
|
143
|
+
- **Master plans are living documents**: Use decision protocols when decisions arrive that change scope.
|
|
144
|
+
- **Don't over-plan later releases**: Define theme and rough scope, but save detailed specs for when earlier releases are done and the architecture has been validated in practice.
|
|
145
|
+
|
|
146
|
+
## VI. Quality Checklist
|
|
147
|
+
|
|
148
|
+
- [ ] Era has a name and a clear relationship to its predecessor
|
|
149
|
+
- [ ] 3+ facets scouted with insights and decisions recorded
|
|
150
|
+
- [ ] Conceptual architecture defined (metaphors, patterns, design language, data model)
|
|
151
|
+
- [ ] 3-7 releases defined with themes, scope, and dependencies
|
|
152
|
+
- [ ] Dependency graph shows ordering and parallel opportunities
|
|
153
|
+
- [ ] Master plan written as single commissioning document
|
|
154
|
+
- [ ] First release has detailed specs ready for implementation
|
|
155
|
+
- [ ] Constraints are clear enough that any release can check compliance
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
## OpenClaw Tool Integration
|
|
159
|
+
|
|
160
|
+
When running inside the Dojo Genesis plugin:
|
|
161
|
+
|
|
162
|
+
1. **Start** by calling `dojo_get_context` to retrieve full project state, history, and artifacts
|
|
163
|
+
2. **During** the skill, follow the workflow steps documented above
|
|
164
|
+
3. **Save** outputs using `dojo_save_artifact` with the `artifacts` output directory
|
|
165
|
+
4. **Update** project state by calling `dojo_update_state` to record skill completion and any phase transitions
|
|
166
|
+
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "dojo-genesis-plugin-era-architecture",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Architect multi-release eras with shared vocabulary",
|
|
5
|
+
"author": "dojo-genesis",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"permissions": [],
|
|
8
|
+
"entry": "SKILL.md",
|
|
9
|
+
"tags": ["dojo-genesis", "orchestration", "research", "analysis"],
|
|
10
|
+
"models": ["claude-*", "gpt-*", "gemini-*"],
|
|
11
|
+
"minOpenClawVersion": "2026.1.0"
|
|
12
|
+
}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: file-management
|
|
3
|
+
description: Apply flexible principles and patterns for intuitive file organization adapted to project context. Use when starting new projects or refactoring disorganized structures. Trigger phrases: "organize this project structure", "plan a file layout", "design a directory hierarchy", "improve folder organization", "create a project structure".
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
> **OpenClaw Integration:** This skill is invoked by the Dojo Genesis plugin via `/dojo run file-management`.
|
|
7
|
+
> The agent receives project context automatically via the `before_agent_start` hook.
|
|
8
|
+
> Use `dojo_get_context` for full state, `dojo_save_artifact` to persist outputs,
|
|
9
|
+
> and `dojo_update_state` to record phase transitions and decisions.
|
|
10
|
+
|
|
11
|
+
# File Management & Organization Skill
|
|
12
|
+
|
|
13
|
+
**Version:** 1.0
|
|
14
|
+
**Created:** 2026-02-04
|
|
15
|
+
**Author:** Manus AI
|
|
16
|
+
**Purpose:** To provide a set of flexible principles and recommended patterns for file and directory organization, adaptable to diverse project environments.
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## I. The Philosophy: A Place for Everything, and Everything in Its Place
|
|
21
|
+
|
|
22
|
+
Good file organization is not about rigid, universal rules. It is about creating a system where the location of a file is intuitive and predictable within the context of its own project. A well-organized project is a pleasure to work in; a chaotic one is a source of constant friction.
|
|
23
|
+
|
|
24
|
+
This skill provides a set of guiding principles, not a strict mandate. It is a flexible framework that can be adapted to the unique needs of any project, from a simple static website to a complex multi-service application. The goal is to create a sense of order and clarity that makes the project easier to understand, navigate, and maintain.
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## II. When to Use This Skill
|
|
29
|
+
|
|
30
|
+
- **When starting a new project:** Use these principles to establish a clean and logical directory structure from the outset.
|
|
31
|
+
- **When a project feels disorganized:** Use this skill to guide a refactoring of the existing file structure.
|
|
32
|
+
- **When onboarding a new team member or agent:** Use this as a guide to explain the project's organizational philosophy.
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## III. Core Principles
|
|
37
|
+
|
|
38
|
+
1. **Group by Feature or Domain:** Whenever possible, group files related to a single feature or domain together. This is often preferable to grouping by file type (e.g., all controllers in one directory, all models in another).
|
|
39
|
+
|
|
40
|
+
2. **Separate Public from Private:** Keep the public interface of a module or service separate from its internal implementation details.
|
|
41
|
+
|
|
42
|
+
3. **Keep the Root Directory Clean:** The root of your project should be as clean as possible, containing only essential configuration files, the main entry point, and a few key directories.
|
|
43
|
+
|
|
44
|
+
4. **Use a Consistent Naming Convention:** Choose a naming convention (e.g., `kebab-case`, `snake_case`, `PascalCase`) for your files and directories and stick to it.
|
|
45
|
+
|
|
46
|
+
5. **Document Your Structure:** A project's `README.md` or `ARCHITECTURE.md` should briefly explain the organizational philosophy of the project.
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## IV. Recommended Patterns
|
|
51
|
+
|
|
52
|
+
These are flexible patterns that can be adapted to different environments.
|
|
53
|
+
|
|
54
|
+
### 1. The Generic Web Application
|
|
55
|
+
|
|
56
|
+
This is a good starting point for many web applications.
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
/
|
|
60
|
+
├── public/ # Static assets (images, fonts, etc.)
|
|
61
|
+
├── src/ # Source code
|
|
62
|
+
│ ├── api/ # Backend API handlers/controllers
|
|
63
|
+
│ ├── components/ # Reusable UI components
|
|
64
|
+
│ ├── lib/ # Shared libraries, utilities, and helpers
|
|
65
|
+
│ ├── pages/ # Page-level components (if using a framework like Next.js)
|
|
66
|
+
│ ├── services/ # Business logic and external API clients
|
|
67
|
+
│ └── styles/ # Global styles
|
|
68
|
+
├── tests/ # Tests
|
|
69
|
+
├── .env # Environment variables
|
|
70
|
+
├── .gitignore
|
|
71
|
+
├── package.json
|
|
72
|
+
└── README.md
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### 2. The AROMA-style Contemplative Repository
|
|
76
|
+
|
|
77
|
+
This pattern is optimized for knowledge bases and contemplative practice repositories.
|
|
78
|
+
|
|
79
|
+
```
|
|
80
|
+
/
|
|
81
|
+
├── seeds/ # Reusable patterns of thinking
|
|
82
|
+
├── thinking/ # Philosophical reflections and insights
|
|
83
|
+
├── conversations/ # Summaries of key discussions
|
|
84
|
+
├── docs/ # Formal documentation (specifications, retrospectives)
|
|
85
|
+
├── SKILLS/ # Reusable workflow skills
|
|
86
|
+
├── prompts/ # Prompts for other agents (e.g., implementation agents)
|
|
87
|
+
├── .gitignore
|
|
88
|
+
└── README.md
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### 3. The Go Backend Service
|
|
92
|
+
|
|
93
|
+
A common structure for a Go backend service.
|
|
94
|
+
|
|
95
|
+
```
|
|
96
|
+
/
|
|
97
|
+
├── cmd/ # Main application entry points
|
|
98
|
+
│ └── api/ # The main API server
|
|
99
|
+
├── internal/ # Private application and library code
|
|
100
|
+
│ ├── handlers/ # HTTP request handlers
|
|
101
|
+
│ ├── models/ # Database models
|
|
102
|
+
│ └── store/ # Database access layer
|
|
103
|
+
├── pkg/ # Public library code (if any)
|
|
104
|
+
├── .gitignore
|
|
105
|
+
├── go.mod
|
|
106
|
+
└── README.md
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## V. Best Practices
|
|
112
|
+
|
|
113
|
+
- **Don't Over-Organize:** A flat structure is often better than a deeply nested one, especially in the early stages of a project.
|
|
114
|
+
- **Be Pragmatic:** The best structure is the one that works for your team and your project. Don't be afraid to deviate from these patterns if you have a good reason.
|
|
115
|
+
- **Refactor as You Go:** A project's file structure is not set in stone. As the project evolves, don't be afraid to refactor the file structure to better reflect the current state of the codebase.
|
|
116
|
+
- **Consistency is Key:** Whatever structure you choose, be consistent. An inconsistent structure is often worse than no structure at all.
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## OpenClaw Tool Integration
|
|
120
|
+
|
|
121
|
+
When running inside the Dojo Genesis plugin:
|
|
122
|
+
|
|
123
|
+
1. **Start** by calling `dojo_get_context` to retrieve full project state, history, and artifacts
|
|
124
|
+
2. **During** the skill, follow the workflow steps documented above
|
|
125
|
+
3. **Save** outputs using `dojo_save_artifact` with the `artifacts` output directory
|
|
126
|
+
4. **Update** project state by calling `dojo_update_state` to record skill completion and any phase transitions
|
|
127
|
+
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "dojo-genesis-plugin-file-management",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Organize files and directories flexibly",
|
|
5
|
+
"author": "dojo-genesis",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"permissions": [],
|
|
8
|
+
"entry": "SKILL.md",
|
|
9
|
+
"tags": ["dojo-genesis", "orchestration", "tools", "strategy"],
|
|
10
|
+
"models": ["claude-*", "gpt-*", "gemini-*"],
|
|
11
|
+
"minOpenClawVersion": "2026.1.0"
|
|
12
|
+
}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: frontend-from-backend
|
|
3
|
+
description: Write production-ready frontend specifications deeply grounded in existing backend architecture to prevent integration issues. Use when building frontend features on a working backend or redesigning UI for an existing API. Trigger phrases: 'spec the frontend', 'write frontend spec from backend', 'ground the UI in this API', 'integrate this frontend', 'frontend implementation guide'.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
> **OpenClaw Integration:** This skill is invoked by the Dojo Genesis plugin via `/dojo run frontend-from-backend`.
|
|
7
|
+
> The agent receives project context automatically via the `before_agent_start` hook.
|
|
8
|
+
> Use `dojo_get_context` for full state, `dojo_save_artifact` to persist outputs,
|
|
9
|
+
> and `dojo_update_state` to record phase transitions and decisions.
|
|
10
|
+
|
|
11
|
+
# Write Frontend Spec From Backend Skill
|
|
12
|
+
|
|
13
|
+
**Version:** 1.0
|
|
14
|
+
**Created:** 2026-02-07
|
|
15
|
+
**Author:** Manus AI
|
|
16
|
+
**Purpose:** To provide a structured, repeatable process for writing high-quality frontend specifications that are deeply integrated with an existing backend, ensuring seamless development and reducing integration friction.
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## I. The Philosophy: Grounding Before Building
|
|
21
|
+
|
|
22
|
+
Frontend development in a full-stack application does not happen in a vacuum. The most common source of bugs, delays, and rework is a disconnect between the frontend implementation and the backend reality. This skill is built on a simple but powerful principle: **grounding before building**.
|
|
23
|
+
|
|
24
|
+
By deeply understanding the existing backend architecture, APIs, and data models *before* writing a single line of frontend specification, we can prevent entire classes of integration problems. This process transforms specification writing from a creative exercise into a disciplined engineering practice, ensuring that what we design is not just beautiful, but buildable.
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## II. When to Use This Skill
|
|
29
|
+
|
|
30
|
+
- **When planning a new frontend feature** that will interact with an existing backend.
|
|
31
|
+
- **When writing specifications for a UI redesign** of a feature that has a backend component.
|
|
32
|
+
- **When commissioning frontend work to an autonomous agent** like Claude Code, Zenflow, or other implementation agents.
|
|
33
|
+
- **When you feel a disconnect** between the frontend vision and the backend reality.
|
|
34
|
+
- **At the beginning of any major frontend development cycle**.
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## III. The Workflow
|
|
39
|
+
|
|
40
|
+
This workflow is a 5-step process that takes you from a high-level feature idea to a production-ready, backend-grounded specification.
|
|
41
|
+
|
|
42
|
+
### Step 1: Deep Backend Analysis
|
|
43
|
+
|
|
44
|
+
**Goal:** Achieve a comprehensive understanding of the existing backend architecture.
|
|
45
|
+
|
|
46
|
+
1. **Run `/repo-context-sync`:** Generate a comprehensive context map of the repository.
|
|
47
|
+
2. **Read Key Backend Files:**
|
|
48
|
+
- `main.go` (or equivalent): Understand route registration and server setup.
|
|
49
|
+
- `handlers/`: Read the handlers for the relevant feature areas.
|
|
50
|
+
- `middleware/`: Understand the authentication and request lifecycle.
|
|
51
|
+
3. **Document APIs:** Map all relevant API endpoints, including methods, authentication requirements, request bodies, and success/error responses.
|
|
52
|
+
4. **Identify Integration Points:** For each part of the new frontend feature, identify the specific backend endpoint it will interact with.
|
|
53
|
+
|
|
54
|
+
### Step 2: Comprehensive Feature Specification
|
|
55
|
+
|
|
56
|
+
**Goal:** Write a production-ready specification for the new feature that leverages the existing backend.
|
|
57
|
+
|
|
58
|
+
1. **Write a Full Feature Spec:** Create a detailed document covering:
|
|
59
|
+
- Executive summary and problem statement
|
|
60
|
+
- Goals, non-goals, and user stories
|
|
61
|
+
- Technical architecture (how frontend and backend will interact)
|
|
62
|
+
- UI/UX wireframes and interaction flows
|
|
63
|
+
- API contracts with request/response examples
|
|
64
|
+
- Implementation plan (if multi-phased)
|
|
65
|
+
- Security considerations
|
|
66
|
+
2. **Leverage Existing Backend:** Design the feature to use existing backend infrastructure wherever possible. Avoid proposing new backend features unless absolutely necessary.
|
|
67
|
+
|
|
68
|
+
### Step 3: Integration Guide Creation
|
|
69
|
+
|
|
70
|
+
**Goal:** Create a practical guide for developers on how to wire the new frontend to the backend.
|
|
71
|
+
|
|
72
|
+
1. **Create a Track-by-Track Guide:** If the feature is being built in parallel tracks, create a guide for each track.
|
|
73
|
+
2. **Document Authentication Flow:** Explain how the frontend should handle authentication (guest mode, API key mode, cloud sync).
|
|
74
|
+
3. **Explain Streaming Architecture:** If the feature uses streaming, document the SSE or WebSocket connection and event handling.
|
|
75
|
+
4. **Provide Code Examples:** Include frontend code snippets for making API calls.
|
|
76
|
+
5. **Document Error Handling:** Specify how the frontend should handle different backend error codes.
|
|
77
|
+
|
|
78
|
+
### Step 4: Track Prompt Enhancement
|
|
79
|
+
|
|
80
|
+
**Goal:** Update all development prompts (e.g., for implementation agents like Zenflow or Claude Code) with backend grounding.
|
|
81
|
+
|
|
82
|
+
1. **Add a "Backend Grounding" Section:** In each prompt, add a dedicated section that explains the backend context.
|
|
83
|
+
2. **Document Specific Endpoints:** For each part of the implementation, specify the exact API endpoint to use.
|
|
84
|
+
3. **Reference the Integration Guide:** Link to the full integration guide for more details.
|
|
85
|
+
4. **Ensure Prompts Use Existing Patterns:** Explicitly instruct the development agent to follow existing backend patterns.
|
|
86
|
+
|
|
87
|
+
### Step 5: Audit and Deliver
|
|
88
|
+
|
|
89
|
+
**Goal:** Ensure all documentation is complete, consistent, and ready for commissioning.
|
|
90
|
+
|
|
91
|
+
1. **Run a Final Audit:** Review all documents for gaps, inconsistencies, or missing information.
|
|
92
|
+
2. **Write Missing Documentation:** If any gaps are found (e.g., design system, API contracts), write the missing documents.
|
|
93
|
+
3. **Push to Repository:** Commit all documentation to a dedicated directory (e.g., `docs/vX.X.X/`).
|
|
94
|
+
4. **Confirm Readiness:** Announce that the specifications are complete and ready for commissioning.
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## IV. Best Practices
|
|
99
|
+
|
|
100
|
+
- **No Backend Changes is the Goal:** The primary goal of this process is to build a frontend that works with the *existing* backend. Only propose backend changes as a last resort.
|
|
101
|
+
- **The Backend is the Source of Truth:** If there is a discrepancy between the frontend design and the backend API, the backend API is correct. The frontend design must adapt.
|
|
102
|
+
- **Over-Document the Integration:** It is better to provide too much detail on how the frontend and backend should connect than too little.
|
|
103
|
+
- **Use this Skill Before Writing Code:** This process should be completed *before* any significant frontend development begins.
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## V. Quality Checklist
|
|
108
|
+
|
|
109
|
+
Before commissioning the work, ensure you can answer "yes" to all of the following questions:
|
|
110
|
+
|
|
111
|
+
- [ ] Have you read the main entrypoint of the backend application?
|
|
112
|
+
- [ ] Have you read the handlers for all relevant API endpoints?
|
|
113
|
+
- [ ] Have you written a comprehensive feature specification that includes API contracts?
|
|
114
|
+
- [ ] Have you created a backend integration guide with code examples?
|
|
115
|
+
- [ ] Have all development prompts been updated with a "Backend Grounding" section?
|
|
116
|
+
- [ ] Have you audited all documentation for completeness and pushed it to the repository?
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## OpenClaw Tool Integration
|
|
120
|
+
|
|
121
|
+
When running inside the Dojo Genesis plugin:
|
|
122
|
+
|
|
123
|
+
1. **Start** by calling `dojo_get_context` to retrieve full project state, history, and artifacts
|
|
124
|
+
2. **During** the skill, follow the workflow steps documented above
|
|
125
|
+
3. **Save** outputs using `dojo_save_artifact` with the `artifacts` output directory
|
|
126
|
+
4. **Update** project state by calling `dojo_update_state` to record skill completion and any phase transitions
|
|
127
|
+
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "dojo-genesis-plugin-frontend-from-backend",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Write frontend specs from backend architecture",
|
|
5
|
+
"author": "dojo-genesis",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"permissions": [],
|
|
8
|
+
"entry": "SKILL.md",
|
|
9
|
+
"tags": ["dojo-genesis", "orchestration", "workflow", "process"],
|
|
10
|
+
"models": ["claude-*", "gpt-*", "gemini-*"],
|
|
11
|
+
"minOpenClawVersion": "2026.1.0"
|
|
12
|
+
}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: handoff-protocol
|
|
3
|
+
description: Hand off work between agents cleanly, preserving all context and enabling autonomy. Use when one agent completes work and another must begin. Trigger phrases: 'prepare this for handoff', 'hand off to the implementation agent', 'is this handoff package complete', 'ensure nothing is lost in the transition'.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
> **OpenClaw Integration:** This skill is invoked by the Dojo Genesis plugin via `/dojo run handoff-protocol`.
|
|
7
|
+
> The agent receives project context automatically via the `before_agent_start` hook.
|
|
8
|
+
> Use `dojo_get_context` for full state, `dojo_save_artifact` to persist outputs,
|
|
9
|
+
> and `dojo_update_state` to record phase transitions and decisions.
|
|
10
|
+
|
|
11
|
+
# Agent Handoff Protocol Skill
|
|
12
|
+
|
|
13
|
+
**Version:** 1.0
|
|
14
|
+
**Created:** 2026-02-04
|
|
15
|
+
**Author:** Manus AI
|
|
16
|
+
**Purpose:** To provide a clear, repeatable protocol for handing off work between agents (e.g., Manus to implementation agents, Manus to Cipher), ensuring no loss of context and a high probability of success.
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## I. The Philosophy: The Sacred Relay
|
|
21
|
+
|
|
22
|
+
In a multi-agent ecosystem, a handoff is a **sacred relay**. It is the moment where one agent passes the baton of responsibility to another. A fumbled handoff leads to dropped context, wasted effort, and a broken workflow. A clean handoff is a moment of trust and shared understanding, where the receiving agent is not just given a task, but is fully equipped to carry it forward.
|
|
23
|
+
|
|
24
|
+
This protocol transforms the handoff from a hopeful transfer into a rigorous, verifiable exchange. It is an act of respect for the receiving agent, acknowledging that their ability to succeed is entirely dependent on the quality of the context they are given.
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## II. When to Use This Skill
|
|
29
|
+
|
|
30
|
+
- **Always** use this skill when one agent's work is complete and another agent must begin the next phase.
|
|
31
|
+
- **Manus → Implementation Agent:** When a specification is complete and ready for implementation.
|
|
32
|
+
- **Manus → Cipher:** When research is complete and a creative or divergent perspective is needed.
|
|
33
|
+
- **Any Agent → Any Agent:** Whenever responsibility for a task is transferred.
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## III. The Handoff Workflow
|
|
38
|
+
|
|
39
|
+
### Step 1: Prepare the Handoff Package
|
|
40
|
+
|
|
41
|
+
The sending agent is responsible for preparing a complete and self-contained "handoff package." This is a markdown document that contains everything the receiving agent needs to know. Use the template from Section IV.
|
|
42
|
+
|
|
43
|
+
### Step 2: Verify the Package with the Checklist
|
|
44
|
+
|
|
45
|
+
Before initiating the handoff, the sending agent must verify the package against the Handoff Checklist in Section V. This is a self-assessment to ensure quality.
|
|
46
|
+
|
|
47
|
+
### Step 3: Initiate the Handoff
|
|
48
|
+
|
|
49
|
+
The sending agent initiates the handoff by creating a task for the receiving agent, with the handoff package as the primary input.
|
|
50
|
+
|
|
51
|
+
**Example Handoff Task:**
|
|
52
|
+
- **Agent:** Implementation Agent (Zenflow, Claude Code, etc.)
|
|
53
|
+
- **Task:** Implement the v0.0.26 Breadcrumb feature.
|
|
54
|
+
- **Input:** `handoffs/v0.0.26/01_breadcrumb_handoff.md`
|
|
55
|
+
|
|
56
|
+
### Step 4: The Receiving Agent's Acceptance
|
|
57
|
+
|
|
58
|
+
The receiving agent's first action is to read the handoff package and confirm that it has everything it needs to proceed. If the package is incomplete, the receiving agent must immediately return the task to the sender with a request for more information.
|
|
59
|
+
|
|
60
|
+
**Example Acceptance:** "Handoff package received and verified. I have all necessary context to proceed with the implementation. Work will now begin."
|
|
61
|
+
|
|
62
|
+
**Example Rejection:** "Handoff package is incomplete. The link to the specification is broken. Please correct and resubmit."
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## IV. Handoff Package Template
|
|
67
|
+
|
|
68
|
+
```markdown
|
|
69
|
+
# Agent Handoff Package
|
|
70
|
+
|
|
71
|
+
**From:** [Sending Agent Name]
|
|
72
|
+
**To:** [Receiving Agent Name]
|
|
73
|
+
**Date:** [YYYY-MM-DD]
|
|
74
|
+
**Subject:** Handoff of [Task/Project Name]
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## 1. Objective
|
|
79
|
+
|
|
80
|
+
> [A single, clear sentence describing the receiving agent's primary goal.]
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## 2. Required Context
|
|
85
|
+
|
|
86
|
+
[A comprehensive list of all files, documents, and resources the receiving agent MUST read before starting work. Use full paths.]
|
|
87
|
+
|
|
88
|
+
**Core Documents:**
|
|
89
|
+
- **Specification:** `[path/to/specification.md]`
|
|
90
|
+
- **Status:** `[path/to/STATUS.md]`
|
|
91
|
+
|
|
92
|
+
**Key Conversation Summaries:**
|
|
93
|
+
- `[path/to/conversation_summary_1.md]`
|
|
94
|
+
- `[path/to/conversation_summary_2.md]`
|
|
95
|
+
|
|
96
|
+
**Relevant Seeds or Skills:**
|
|
97
|
+
- `[path/to/seed.md]`
|
|
98
|
+
- `[path/to/skill.md]`
|
|
99
|
+
|
|
100
|
+
**Pattern Files / Code Examples:**
|
|
101
|
+
- `[path/to/pattern_file_1.tsx]`
|
|
102
|
+
- `[path/to/pattern_file_2.go]`
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## 3. Task Definition
|
|
107
|
+
|
|
108
|
+
[A clear and unambiguous definition of the task to be performed. If this is an implementation agent handoff, this section should contain the full implementation prompt.]
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## 4. Definition of Done
|
|
113
|
+
|
|
114
|
+
[How will we know the receiving agent's work is complete? This must be a list of binary, testable success criteria.]
|
|
115
|
+
|
|
116
|
+
- [ ] [Success Criterion 1]
|
|
117
|
+
- [ ] [Success Criterion 2]
|
|
118
|
+
- [ ] [Success Criterion 3]
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## 5. Constraints & Boundaries
|
|
123
|
+
|
|
124
|
+
[What are the explicit constraints on the receiving agent's work?]
|
|
125
|
+
|
|
126
|
+
- **DO NOT** modify files outside of the specified scope.
|
|
127
|
+
- **DO NOT** make architectural decisions without consulting [Sending Agent Name].
|
|
128
|
+
- **MUST** follow the patterns established in the provided pattern files.
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## 6. Next Steps (After Completion)
|
|
133
|
+
|
|
134
|
+
[What happens after the receiving agent is done? Who takes the next handoff?]
|
|
135
|
+
|
|
136
|
+
- Upon completion, notify [Next Agent Name] and hand off the results for the next phase (e.g., QA, documentation).
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
## V. Handoff Checklist (for Sending Agent)
|
|
142
|
+
|
|
143
|
+
- [ ] **Is the Objective a single, clear sentence?**
|
|
144
|
+
- [ ] **Are all links in the Required Context section valid and pointing to the correct files?**
|
|
145
|
+
- [ ] **Is the Task Definition unambiguous and complete?**
|
|
146
|
+
- [ ] **Is the Definition of Done a list of testable, binary criteria?**
|
|
147
|
+
- [ ] **Are the Constraints clear and explicit?**
|
|
148
|
+
- [ ] **Is the next step after completion clearly defined?**
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## VI. Best Practices
|
|
153
|
+
|
|
154
|
+
- **No Implicit Context:** If it's not in the handoff package, it doesn't exist. Never assume the receiving agent knows something.
|
|
155
|
+
- **Over-communicate:** It is better to provide too much context than too little.
|
|
156
|
+
- **The Receiver is the Gatekeeper:** Empower the receiving agent to reject incomplete handoffs. This maintains quality across the ecosystem.
|
|
157
|
+
- **Standardize Handoff Locations:** Create a `handoffs/` directory in each project to store these packages, creating a clear audit trail.
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## OpenClaw Tool Integration
|
|
161
|
+
|
|
162
|
+
When running inside the Dojo Genesis plugin:
|
|
163
|
+
|
|
164
|
+
1. **Start** by calling `dojo_get_context` to retrieve full project state, history, and artifacts
|
|
165
|
+
2. **During** the skill, follow the workflow steps documented above
|
|
166
|
+
3. **Save** outputs using `dojo_save_artifact` with the `artifacts` output directory
|
|
167
|
+
4. **Update** project state by calling `dojo_update_state` to record skill completion and any phase transitions
|
|
168
|
+
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "dojo-genesis-plugin-handoff-protocol",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Hand off work between agents cleanly",
|
|
5
|
+
"author": "dojo-genesis",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"permissions": [],
|
|
8
|
+
"entry": "SKILL.md",
|
|
9
|
+
"tags": ["dojo-genesis", "orchestration", "agents", "coordination"],
|
|
10
|
+
"models": ["claude-*", "gpt-*", "gemini-*"],
|
|
11
|
+
"minOpenClawVersion": "2026.1.0"
|
|
12
|
+
}
|