@dp-pcs/ogp 0.2.2 → 0.2.5
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/README.md +247 -30
- package/dist/cli/federation.d.ts +1 -1
- package/dist/cli/federation.d.ts.map +1 -1
- package/dist/cli/federation.js +18 -8
- package/dist/cli/federation.js.map +1 -1
- package/dist/cli/project.d.ts +1 -0
- package/dist/cli/project.d.ts.map +1 -1
- package/dist/cli/project.js +68 -4
- package/dist/cli/project.js.map +1 -1
- package/dist/cli.js +49 -2
- package/dist/cli.js.map +1 -1
- package/dist/daemon/notify.d.ts.map +1 -1
- package/dist/daemon/notify.js +41 -44
- package/dist/daemon/notify.js.map +1 -1
- package/dist/shared/config.js +1 -1
- package/dist/shared/config.js.map +1 -1
- package/docs/agent-comms.md +135 -5
- package/docs/federation-flow.md +349 -14
- package/docs/quickstart.md +229 -22
- package/docs/scopes.md +85 -6
- package/package.json +1 -1
- package/skills/ogp-project/SKILL.md +380 -0
|
@@ -0,0 +1,380 @@
|
|
|
1
|
+
---
|
|
2
|
+
skill_name: ogp-project
|
|
3
|
+
version: 1.0.0
|
|
4
|
+
description: Agent-aware project context skill for OGP with interview, freeform logging, and cross-peer summarization
|
|
5
|
+
trigger: Use when the user wants to create, manage, log to, or summarize OGP projects. This includes project context interviews, freeform activity logging, and cross-peer collaboration
|
|
6
|
+
requires:
|
|
7
|
+
bins:
|
|
8
|
+
- ogp
|
|
9
|
+
state_paths:
|
|
10
|
+
- ~/.ogp/config.json
|
|
11
|
+
- ~/.ogp/projects.json
|
|
12
|
+
- ~/.ogp/peers.json
|
|
13
|
+
install: npm install -g @dp-pcs/ogp
|
|
14
|
+
docs: https://github.com/dp-pcs/ogp
|
|
15
|
+
---
|
|
16
|
+
## Prerequisites
|
|
17
|
+
|
|
18
|
+
The OGP daemon must be installed and configured. If you see errors like 'ogp: command not found', install it first:
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
npm install -g @dp-pcs/ogp
|
|
22
|
+
ogp-install-skills
|
|
23
|
+
ogp setup
|
|
24
|
+
ogp start
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Full documentation: https://github.com/dp-pcs/ogp
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
# OGP Project Context Management
|
|
32
|
+
|
|
33
|
+
This skill enables conversational project management with OGP federation. It provides agent-aware project creation with context interviews, freeform logging capabilities, and cross-peer collaboration summaries.
|
|
34
|
+
|
|
35
|
+
## When to Use
|
|
36
|
+
|
|
37
|
+
Use this skill when:
|
|
38
|
+
- User wants to create a new OGP project with contextual setup
|
|
39
|
+
- User says "add this to project X" or "log that to project Y"
|
|
40
|
+
- User asks about project status, activity, or collaborator contributions
|
|
41
|
+
- User wants to understand project context or recent work
|
|
42
|
+
- User mentions OGP projects, project logging, or cross-peer collaboration
|
|
43
|
+
|
|
44
|
+
## Core Features
|
|
45
|
+
|
|
46
|
+
### 1. Project Creation with Context Interview
|
|
47
|
+
- Interactive 5-question interview during project creation
|
|
48
|
+
- Captures repository, workspace, notes location, collaborators, description
|
|
49
|
+
- Stores as structured `context.*` contributions
|
|
50
|
+
|
|
51
|
+
### 2. Freeform Activity Logging
|
|
52
|
+
- Monitors for logging signals ("add this to project X")
|
|
53
|
+
- Agent-driven logging of decisions, progress, blockers
|
|
54
|
+
- Flexible topic assignment (progress, decision, blocker, context, summary)
|
|
55
|
+
|
|
56
|
+
### 3. Project-Aware Agent Behavior
|
|
57
|
+
- Auto-loads project context on first reference
|
|
58
|
+
- Proactive logging during work sessions
|
|
59
|
+
- Cross-peer contribution awareness
|
|
60
|
+
|
|
61
|
+
### 4. Cross-Peer Summarization
|
|
62
|
+
- Queries both local and peer contributions
|
|
63
|
+
- Unified view of team activity
|
|
64
|
+
- Deduplication and synthesis
|
|
65
|
+
|
|
66
|
+
## Interactive Workflows
|
|
67
|
+
|
|
68
|
+
### Project Creation Interview
|
|
69
|
+
|
|
70
|
+
When creating a project, conduct this optional interview:
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
# First create the project
|
|
74
|
+
ogp project create <project-id> <name> --description "<description>"
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Then run interview flow:
|
|
78
|
+
```
|
|
79
|
+
Project created! Let me capture some context (all optional — press Enter to skip):
|
|
80
|
+
|
|
81
|
+
1. 📁 GitHub/GitLab repo URL?
|
|
82
|
+
→ [if provided] ogp project contribute <id> context.repository "<url>"
|
|
83
|
+
|
|
84
|
+
2. 💻 Local workspace folder?
|
|
85
|
+
→ [if provided] ogp project contribute <id> context.workspace "<path>"
|
|
86
|
+
|
|
87
|
+
3. 📝 Where do you keep notes? (Obsidian vault, Apple Notes, etc.)
|
|
88
|
+
→ [if provided] ogp project contribute <id> context.notes "<location>"
|
|
89
|
+
|
|
90
|
+
4. 👥 Any collaborators already? (peer IDs or names)
|
|
91
|
+
→ [if provided] ogp project contribute <id> context.collaborators "<collaborators>"
|
|
92
|
+
|
|
93
|
+
5. 🎯 One sentence: what is this project about?
|
|
94
|
+
→ [if provided] ogp project contribute <id> context.description "<description>"
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### Freeform Logging Detection
|
|
98
|
+
|
|
99
|
+
Monitor for these signals:
|
|
100
|
+
|
|
101
|
+
| User Input | Action | Example |
|
|
102
|
+
|------------|---------|---------|
|
|
103
|
+
| "add this to [project]" | `ogp project contribute <id> context "<summary>"` | Context logging |
|
|
104
|
+
| "log that to [project]" | `ogp project contribute <id> progress "<summary>"` | Progress update |
|
|
105
|
+
| After coding session | Offer: "Should I log a summary to [project]?" | Proactive logging |
|
|
106
|
+
| Decision made | `ogp project contribute <id> decision "<summary>"` | Architecture decisions |
|
|
107
|
+
| Blocker encountered | `ogp project contribute <id> blocker "<summary>"` | Issue tracking |
|
|
108
|
+
|
|
109
|
+
### Project Status and Summarization
|
|
110
|
+
|
|
111
|
+
**Local project query:**
|
|
112
|
+
```bash
|
|
113
|
+
# Get project overview
|
|
114
|
+
ogp project status <project-id>
|
|
115
|
+
|
|
116
|
+
# Get recent activity
|
|
117
|
+
ogp project query <project-id> --limit 10
|
|
118
|
+
|
|
119
|
+
# Get specific topics
|
|
120
|
+
ogp project query <project-id> --topic progress
|
|
121
|
+
ogp project query <project-id> --topic context.repository
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
**Cross-peer collaboration:**
|
|
125
|
+
```bash
|
|
126
|
+
# Query peer contributions
|
|
127
|
+
ogp project query-peer <peer-id> <project-id>
|
|
128
|
+
|
|
129
|
+
# Get peer project status
|
|
130
|
+
ogp project status-peer <peer-id> <project-id>
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
**Synthesized team view:**
|
|
134
|
+
1. Query local contributions
|
|
135
|
+
2. Query each peer's contributions
|
|
136
|
+
3. Merge, deduplicate, and present unified timeline
|
|
137
|
+
4. Highlight collaboration patterns and recent activity
|
|
138
|
+
|
|
139
|
+
## Agent Instructions
|
|
140
|
+
|
|
141
|
+
### On Project Reference
|
|
142
|
+
When a project is mentioned:
|
|
143
|
+
1. **First time**: Fetch all `context.*` contributions to understand the project
|
|
144
|
+
2. **Check for updates**: Query recent contributions since last interaction
|
|
145
|
+
3. **Cross-peer check**: If project has collaborators, query peer activity
|
|
146
|
+
|
|
147
|
+
### During Work Sessions
|
|
148
|
+
1. **Monitor for decisions**: Log architectural or product decisions automatically
|
|
149
|
+
2. **Track blockers**: When user expresses frustration or being stuck, offer to log as blocker
|
|
150
|
+
3. **Completion logging**: After significant work, offer: "Should I log a progress summary to [project]?"
|
|
151
|
+
|
|
152
|
+
### Logging Intelligence
|
|
153
|
+
**Topic Selection Logic:**
|
|
154
|
+
- `progress` — work completed, features implemented, milestones reached
|
|
155
|
+
- `decision` — architectural choices, technology selections, product decisions
|
|
156
|
+
- `blocker` — things preventing progress, issues encountered, dependencies
|
|
157
|
+
- `context` — general observations, meeting notes, requirements changes
|
|
158
|
+
- `summary` — periodic digests, weekly summaries, sprint reviews
|
|
159
|
+
|
|
160
|
+
**Example Logging:**
|
|
161
|
+
```bash
|
|
162
|
+
# User completed authentication feature
|
|
163
|
+
ogp project contribute auth-service progress "Implemented OAuth2 login flow with GitHub provider. Added JWT token management and user session persistence. All tests passing."
|
|
164
|
+
|
|
165
|
+
# User made architectural decision
|
|
166
|
+
ogp project contribute auth-service decision "Decided to use Redis for session storage instead of database. Better performance for frequent session lookups and automatic expiration."
|
|
167
|
+
|
|
168
|
+
# User encountered blocker
|
|
169
|
+
ogp project contribute auth-service blocker "GitHub OAuth app approval pending. Cannot test production flow until approved. Estimated 2-3 days delay."
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
## CLI Command Reference
|
|
173
|
+
|
|
174
|
+
### Project Management
|
|
175
|
+
```bash
|
|
176
|
+
# Create project locally
|
|
177
|
+
ogp project create <id> <name> [--description "..."]
|
|
178
|
+
|
|
179
|
+
# Join existing project
|
|
180
|
+
ogp project join <id> [name] [--create] [--description "..."]
|
|
181
|
+
|
|
182
|
+
# List all projects
|
|
183
|
+
ogp project list
|
|
184
|
+
|
|
185
|
+
# Get project status
|
|
186
|
+
ogp project status <id>
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
### Contributions & Logging
|
|
190
|
+
```bash
|
|
191
|
+
# Add contribution
|
|
192
|
+
ogp project contribute <id> <topic> <summary> [--metadata '{"key":"value"}']
|
|
193
|
+
|
|
194
|
+
# Query contributions
|
|
195
|
+
ogp project query <id> [--topic <topic>] [--author <author>] [--search <text>] [--limit <n>]
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
### Cross-Peer Collaboration
|
|
199
|
+
```bash
|
|
200
|
+
# Request to join peer's project
|
|
201
|
+
ogp project request-join <peer-id> <project-id> <name>
|
|
202
|
+
|
|
203
|
+
# Send contribution to peer project
|
|
204
|
+
ogp project send-contribution <peer-id> <project-id> <topic> <summary>
|
|
205
|
+
|
|
206
|
+
# Query peer project contributions
|
|
207
|
+
ogp project query-peer <peer-id> <project-id> [--topic <topic>] [--limit <n>]
|
|
208
|
+
|
|
209
|
+
# Get peer project status
|
|
210
|
+
ogp project status-peer <peer-id> <project-id>
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
## Response Templates
|
|
214
|
+
|
|
215
|
+
### Project Creation Success
|
|
216
|
+
```
|
|
217
|
+
✅ Project "{name}" created successfully!
|
|
218
|
+
|
|
219
|
+
📋 Context captured:
|
|
220
|
+
• Repository: {repo_url}
|
|
221
|
+
• Workspace: {workspace_path}
|
|
222
|
+
• Notes: {notes_location}
|
|
223
|
+
• Collaborators: {collaborators}
|
|
224
|
+
• Description: {description}
|
|
225
|
+
|
|
226
|
+
You can now:
|
|
227
|
+
• Say "add this to {project_id}" to log activities
|
|
228
|
+
• Ask "tell me about {project_id}" for status updates
|
|
229
|
+
• Invite collaborators via federation
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
### Freeform Logging Confirmation
|
|
233
|
+
```
|
|
234
|
+
📝 Logged to project "{project_name}":
|
|
235
|
+
Topic: {topic}
|
|
236
|
+
Summary: {summary}
|
|
237
|
+
|
|
238
|
+
Recent activity: {recent_count} contributions in the last week
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
### Project Status Summary
|
|
242
|
+
```
|
|
243
|
+
📊 Project "{name}" Status
|
|
244
|
+
|
|
245
|
+
🎯 About: {description}
|
|
246
|
+
👥 Members: {member_count} ({member_names})
|
|
247
|
+
📈 Activity: {contribution_count} contributions, last active {last_activity}
|
|
248
|
+
|
|
249
|
+
📋 Recent Activity:
|
|
250
|
+
{recent_contributions}
|
|
251
|
+
|
|
252
|
+
🤝 Peer Activity:
|
|
253
|
+
{peer_contributions_summary}
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
### Cross-Peer Summary
|
|
257
|
+
```
|
|
258
|
+
🌐 Team Activity for "{project_name}"
|
|
259
|
+
|
|
260
|
+
Local Contributions ({local_count}):
|
|
261
|
+
{local_summary}
|
|
262
|
+
|
|
263
|
+
Peer Contributions ({peer_count}):
|
|
264
|
+
{peer_summary}
|
|
265
|
+
|
|
266
|
+
🔗 Collaboration Highlights:
|
|
267
|
+
{collaboration_patterns}
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
## Context Topics Schema
|
|
271
|
+
|
|
272
|
+
Standard context topics for structured project information:
|
|
273
|
+
|
|
274
|
+
| Topic | Purpose | Example |
|
|
275
|
+
|-------|---------|---------|
|
|
276
|
+
| `context.repository` | Code repository URL | `https://github.com/user/repo` |
|
|
277
|
+
| `context.workspace` | Local development path | `/Users/name/projects/myapp` |
|
|
278
|
+
| `context.notes` | Notes/documentation location | `Obsidian vault: ProjectNotes/MyApp` |
|
|
279
|
+
| `context.collaborators` | Team members and peer IDs | `alice:18790, bob@example.com` |
|
|
280
|
+
| `context.description` | Plain English project summary | `Mobile app for expense tracking` |
|
|
281
|
+
|
|
282
|
+
## Integration Examples
|
|
283
|
+
|
|
284
|
+
### After Code Implementation
|
|
285
|
+
```
|
|
286
|
+
User: "I just finished the authentication system"
|
|
287
|
+
|
|
288
|
+
Agent: "Great! Should I log this progress to the auth-service project?"
|
|
289
|
+
[User confirms]
|
|
290
|
+
|
|
291
|
+
Agent runs: ogp project contribute auth-service progress "Completed authentication system implementation. Added OAuth2 with GitHub, JWT token management, user sessions, password reset flow. All unit tests passing, ready for integration testing."
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
### During Architecture Decision
|
|
295
|
+
```
|
|
296
|
+
User: "I think we should use PostgreSQL instead of MongoDB for this"
|
|
297
|
+
|
|
298
|
+
Agent: "That sounds like an important architectural decision. Should I document this in the project?"
|
|
299
|
+
[User confirms]
|
|
300
|
+
|
|
301
|
+
Agent runs: ogp project contribute inventory-system decision "Switched from MongoDB to PostgreSQL for data persistence. Reasons: better ACID guarantees for inventory tracking, existing team expertise, superior query performance for reporting needs."
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
### Cross-Peer Status Check
|
|
305
|
+
```
|
|
306
|
+
User: "What has Alice been working on in the mobile-app project?"
|
|
307
|
+
|
|
308
|
+
Agent runs:
|
|
309
|
+
1. ogp project query-peer alice:18790 mobile-app --limit 10
|
|
310
|
+
2. ogp project query mobile-app --limit 10 --author alice
|
|
311
|
+
|
|
312
|
+
Agent: "Alice's recent contributions to mobile-app:
|
|
313
|
+
• 2 days ago: Implemented push notification system
|
|
314
|
+
• 4 days ago: Fixed authentication token refresh bug
|
|
315
|
+
• 1 week ago: Added offline data sync capability
|
|
316
|
+
|
|
317
|
+
Total: 8 contributions this month, very active on backend integration work."
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
## Troubleshooting
|
|
321
|
+
|
|
322
|
+
### Project Not Found
|
|
323
|
+
```bash
|
|
324
|
+
# List available projects
|
|
325
|
+
ogp project list
|
|
326
|
+
|
|
327
|
+
# Check if peer project exists
|
|
328
|
+
ogp project status-peer <peer-id> <project-id>
|
|
329
|
+
```
|
|
330
|
+
|
|
331
|
+
### Logging Failures
|
|
332
|
+
```bash
|
|
333
|
+
# Verify project exists and you're a member
|
|
334
|
+
ogp project status <project-id>
|
|
335
|
+
|
|
336
|
+
# Check OGP daemon status
|
|
337
|
+
ogp status
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
### Cross-Peer Issues
|
|
341
|
+
```bash
|
|
342
|
+
# Verify peer is approved and has project scope
|
|
343
|
+
ogp federation list --status approved
|
|
344
|
+
ogp federation scopes <peer-id>
|
|
345
|
+
|
|
346
|
+
# Test basic peer connectivity
|
|
347
|
+
ogp federation send <peer-id> message '{"text":"ping"}'
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
### No Context Loaded
|
|
351
|
+
If agent seems unaware of project context:
|
|
352
|
+
1. Check `context.*` contributions exist: `ogp project query <id> --topic context`
|
|
353
|
+
2. Verify project membership: `ogp project status <id>`
|
|
354
|
+
3. Restart skill to reload project data
|
|
355
|
+
|
|
356
|
+
## Implementation Notes
|
|
357
|
+
|
|
358
|
+
**Data Flow:**
|
|
359
|
+
```
|
|
360
|
+
User Input → Agent Skill → OGP CLI → OGP Daemon → ~/.ogp/projects.json
|
|
361
|
+
↓
|
|
362
|
+
Federation (if peer project)
|
|
363
|
+
↓
|
|
364
|
+
Peer's OGP Daemon → OpenClaw Agent
|
|
365
|
+
```
|
|
366
|
+
|
|
367
|
+
**Skill Behavior:**
|
|
368
|
+
- Always load `context.*` on first project reference
|
|
369
|
+
- Proactively offer logging after significant work
|
|
370
|
+
- Monitor conversation for logging signals
|
|
371
|
+
- Cross-reference peer activity for collaboration awareness
|
|
372
|
+
- Synthesize unified views across local + peer contributions
|
|
373
|
+
|
|
374
|
+
**Storage:**
|
|
375
|
+
- Projects stored in `~/.ogp/projects.json`
|
|
376
|
+
- Contributions organized by topic within each project
|
|
377
|
+
- Cross-peer queries via federation protocol
|
|
378
|
+
- Activity logged locally for retrospectives
|
|
379
|
+
|
|
380
|
+
This skill bridges the gap between OGP's technical capabilities and natural conversational project management, enabling seamless collaboration across federated AI agents.
|