@dp-pcs/ogp 0.3.3 → 0.4.3
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 +317 -61
- package/dist/cli/completion.d.ts +5 -0
- package/dist/cli/completion.d.ts.map +1 -0
- package/dist/cli/completion.js +148 -0
- package/dist/cli/completion.js.map +1 -0
- package/dist/cli/config.d.ts +3 -0
- package/dist/cli/config.d.ts.map +1 -0
- package/dist/cli/config.js +207 -0
- package/dist/cli/config.js.map +1 -0
- package/dist/cli/expose.d.ts.map +1 -1
- package/dist/cli/expose.js +20 -13
- package/dist/cli/expose.js.map +1 -1
- package/dist/cli/federation.d.ts +14 -0
- package/dist/cli/federation.d.ts.map +1 -1
- package/dist/cli/federation.js +347 -23
- package/dist/cli/federation.js.map +1 -1
- package/dist/cli/project.d.ts +4 -3
- package/dist/cli/project.d.ts.map +1 -1
- package/dist/cli/project.js +34 -24
- package/dist/cli/project.js.map +1 -1
- package/dist/cli/setup.d.ts +23 -0
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +560 -32
- package/dist/cli/setup.js.map +1 -1
- package/dist/cli.js +358 -35
- package/dist/cli.js.map +1 -1
- package/dist/daemon/agent-comms.d.ts.map +1 -1
- package/dist/daemon/agent-comms.js +15 -10
- package/dist/daemon/agent-comms.js.map +1 -1
- package/dist/daemon/heartbeat.d.ts +22 -0
- package/dist/daemon/heartbeat.d.ts.map +1 -0
- package/dist/daemon/heartbeat.js +119 -0
- package/dist/daemon/heartbeat.js.map +1 -0
- package/dist/daemon/intent-registry.d.ts.map +1 -1
- package/dist/daemon/intent-registry.js +19 -10
- package/dist/daemon/intent-registry.js.map +1 -1
- package/dist/daemon/keypair.d.ts +1 -0
- package/dist/daemon/keypair.d.ts.map +1 -1
- package/dist/daemon/keypair.js +151 -18
- package/dist/daemon/keypair.js.map +1 -1
- package/dist/daemon/message-handler.d.ts.map +1 -1
- package/dist/daemon/message-handler.js +30 -16
- package/dist/daemon/message-handler.js.map +1 -1
- package/dist/daemon/notify.d.ts +19 -0
- package/dist/daemon/notify.d.ts.map +1 -1
- package/dist/daemon/notify.js +376 -73
- package/dist/daemon/notify.js.map +1 -1
- package/dist/daemon/openclaw-bridge.d.ts +34 -0
- package/dist/daemon/openclaw-bridge.d.ts.map +1 -0
- package/dist/daemon/openclaw-bridge.js +261 -0
- package/dist/daemon/openclaw-bridge.js.map +1 -0
- package/dist/daemon/peers.d.ts +21 -0
- package/dist/daemon/peers.d.ts.map +1 -1
- package/dist/daemon/peers.js +125 -20
- package/dist/daemon/peers.js.map +1 -1
- package/dist/daemon/projects.d.ts +9 -6
- package/dist/daemon/projects.d.ts.map +1 -1
- package/dist/daemon/projects.js +30 -20
- package/dist/daemon/projects.js.map +1 -1
- package/dist/daemon/server.d.ts +17 -0
- package/dist/daemon/server.d.ts.map +1 -1
- package/dist/daemon/server.js +188 -77
- package/dist/daemon/server.js.map +1 -1
- package/dist/shared/config.d.ts +52 -1
- package/dist/shared/config.d.ts.map +1 -1
- package/dist/shared/config.js +18 -11
- package/dist/shared/config.js.map +1 -1
- package/dist/shared/framework-detection.d.ts +31 -0
- package/dist/shared/framework-detection.d.ts.map +1 -0
- package/dist/shared/framework-detection.js +91 -0
- package/dist/shared/framework-detection.js.map +1 -0
- package/dist/shared/help.d.ts +5 -0
- package/dist/shared/help.d.ts.map +1 -0
- package/dist/shared/help.js +281 -0
- package/dist/shared/help.js.map +1 -0
- package/dist/shared/meta-config.d.ts +44 -0
- package/dist/shared/meta-config.d.ts.map +1 -0
- package/dist/shared/meta-config.js +89 -0
- package/dist/shared/meta-config.js.map +1 -0
- package/dist/shared/migration.d.ts +57 -0
- package/dist/shared/migration.d.ts.map +1 -0
- package/dist/shared/migration.js +255 -0
- package/dist/shared/migration.js.map +1 -0
- package/docs/CLI-REFERENCE.md +1361 -0
- package/docs/GETTING-STARTED.md +953 -0
- package/docs/MIGRATION.md +202 -0
- package/docs/MULTI-FRAMEWORK-DEMO.md +352 -0
- package/docs/MULTI-FRAMEWORK-DESIGN.md +378 -0
- package/docs/MULTI-FRAMEWORK-IMPL.md +197 -0
- package/docs/case-studies/CRASH_RESOLUTION_20260407.md +190 -0
- package/docs/case-studies/OpenClaw_Hermes_Status_Report_20260407.md +142 -0
- package/docs/case-studies/OpenClaw_Stability_Fix_Summary.md +209 -0
- package/docs/case-studies/README.md +40 -0
- package/docs/case-studies/crash_observations.md +250 -0
- package/docs/cloudflare-named-tunnel-setup.md +126 -0
- package/docs/federation-flow.md +27 -37
- package/docs/hermes-implementation-checklist.md +4 -0
- package/docs/project-intent-testing.md +97 -0
- package/docs/quickstart.md +12 -4
- package/docs/rendezvous.md +13 -14
- package/docs/scopes.md +13 -13
- package/package.json +12 -6
- package/scripts/completion.bash +123 -0
- package/scripts/completion.zsh +372 -0
- package/scripts/install-skills.js +19 -1
- package/scripts/test-migration-execute.js +74 -0
- package/scripts/test-migration.js +42 -0
- package/scripts/test-project-intents.mjs +614 -0
- package/skills/ogp/SKILL.md +197 -64
- package/skills/ogp-agent-comms/SKILL.md +107 -41
- package/skills/ogp-expose/SKILL.md +183 -25
- package/skills/ogp-project/SKILL.md +110 -88
|
@@ -1,28 +1,33 @@
|
|
|
1
1
|
---
|
|
2
2
|
skill_name: ogp-project
|
|
3
|
-
version: 2.
|
|
3
|
+
version: 2.2.0
|
|
4
4
|
description: >
|
|
5
5
|
Tool-agnostic project collaboration for AI assistants. Users keep their own tools
|
|
6
6
|
(Linear, Jira, Obsidian, GitHub, iCloud, local files — anything). This skill makes
|
|
7
7
|
agents aware of what each collaborator's agent knows and where it lives, so agents
|
|
8
|
-
can query each other
|
|
9
|
-
Supports project creation with context interviews, freeform
|
|
10
|
-
|
|
8
|
+
can query each other through OGP project boundaries rather than making the human
|
|
9
|
+
relay information. Supports project creation with context interviews, freeform
|
|
10
|
+
activity logging, project-topic agent-comms, and cross-peer queries.
|
|
11
11
|
trigger: >
|
|
12
12
|
Use when the user wants to create, manage, log to, or summarize OGP projects.
|
|
13
|
-
ALSO use proactively
|
|
14
|
-
|
|
13
|
+
ALSO use proactively when project context is clearly relevant — check local project
|
|
14
|
+
state first and query peer agents when that would reduce human relay or duplicate
|
|
15
|
+
work. Triggers on natural logging phrases like
|
|
15
16
|
"remember this for project X", "account for this", "make note of", "track this",
|
|
16
17
|
"jot this down", "save this to", "document this" when a project context is active or named.
|
|
17
|
-
The goal is to
|
|
18
|
-
|
|
18
|
+
The goal is to reduce human-as-messenger friction while preserving federation and
|
|
19
|
+
project boundaries.
|
|
19
20
|
requires:
|
|
20
21
|
bins:
|
|
21
22
|
- ogp
|
|
22
23
|
state_paths:
|
|
24
|
+
- ~/.ogp-meta/config.json
|
|
23
25
|
- ~/.ogp/config.json
|
|
24
26
|
- ~/.ogp/projects.json
|
|
25
27
|
- ~/.ogp/peers.json
|
|
28
|
+
- ~/.ogp-hermes/config.json
|
|
29
|
+
- ~/.ogp-hermes/projects.json
|
|
30
|
+
- ~/.ogp-hermes/peers.json
|
|
26
31
|
install: npm install -g @dp-pcs/ogp
|
|
27
32
|
docs: https://github.com/dp-pcs/ogp
|
|
28
33
|
---
|
|
@@ -35,6 +40,7 @@ The OGP daemon must be installed and configured. If you see errors like 'ogp: co
|
|
|
35
40
|
npm install -g @dp-pcs/ogp
|
|
36
41
|
ogp-install-skills
|
|
37
42
|
ogp setup
|
|
43
|
+
ogp config show
|
|
38
44
|
ogp start
|
|
39
45
|
```
|
|
40
46
|
|
|
@@ -42,6 +48,8 @@ ogp start
|
|
|
42
48
|
|
|
43
49
|
**Note on Multi-Agent Routing (OGP 0.2.28+):** When `notifyTargets` is configured in `~/.ogp/config.json`, project-related federation messages can be routed to specific agents. Each agent can have its own project context and policies.
|
|
44
50
|
|
|
51
|
+
**Note on Multi-Framework Mode:** Projects are framework-local. Use `ogp --for openclaw ...` or `ogp --for hermes ...` consistently so you query and log to the intended state directory.
|
|
52
|
+
|
|
45
53
|
Full documentation: https://github.com/dp-pcs/ogp
|
|
46
54
|
|
|
47
55
|
|
|
@@ -49,22 +57,30 @@ Full documentation: https://github.com/dp-pcs/ogp
|
|
|
49
57
|
|
|
50
58
|
## The Core Idea
|
|
51
59
|
|
|
52
|
-
|
|
60
|
+
Federation is the base relationship in OGP. A project is an optional collaboration boundary layered on top of that federation.
|
|
61
|
+
|
|
62
|
+
People work differently. One person tracks tasks in Linear, keeps notes in GitHub, stores files locally. Another uses a different issue tracker, writes in Obsidian, stores files in iCloud. The project model is meant to let both people keep those tools while their agents exchange high-level project context through OGP.
|
|
63
|
+
|
|
64
|
+
The important distinction is that a project is **not** "everyone must use the same repo" and **not** "share everything verbatim." It is a bounded context for collaboration:
|
|
53
65
|
|
|
54
|
-
|
|
66
|
+
- log high-level facts such as decisions, progress, blockers, questions, and important context
|
|
67
|
+
- let agents ask each other about that context over federation
|
|
68
|
+
- preserve visibility boundaries when project membership is broader than pairwise federation
|
|
69
|
+
|
|
70
|
+
That means a project can include multiple collaborators even when they are not all federated with each other. OGP should help each side coordinate through their own agent and tools, not force a full mesh of shared systems.
|
|
55
71
|
|
|
56
72
|
The human-as-messenger problem:
|
|
57
73
|
> Coworker wants to know something → asks you → you ask your agent → agent finds answer → you tell coworker
|
|
58
74
|
|
|
59
|
-
What this skill
|
|
60
|
-
> Coworker's agent asks your agent → answer flows back
|
|
75
|
+
What this skill is aiming for:
|
|
76
|
+
> Coworker's agent asks your agent about project context → answer flows back with the right policy and boundaries
|
|
61
77
|
|
|
62
78
|
---
|
|
63
79
|
|
|
64
80
|
## When to Use
|
|
65
81
|
|
|
66
82
|
- User wants to create a new OGP project with contextual setup
|
|
67
|
-
-
|
|
83
|
+
- User is about to start work on something project-related and it is worth checking local or peer project context first
|
|
68
84
|
- User expresses logging intent: "add this to project X", "log that", "remember this", "track this", etc.
|
|
69
85
|
- User asks about project status, activity, or what a collaborator has been working on
|
|
70
86
|
- A peer agent sends a query about something in your project context
|
|
@@ -80,44 +96,49 @@ What this skill enables:
|
|
|
80
96
|
|
|
81
97
|
### 2. Freeform Activity Logging
|
|
82
98
|
- Monitors for logging intent (any natural phrasing)
|
|
83
|
-
- Logs decisions, progress, blockers, context — all queryable later
|
|
84
|
-
- Auto-registers project ID as agent-comms topic for
|
|
99
|
+
- Logs high-level decisions, progress, blockers, questions, and context — all queryable later
|
|
100
|
+
- Auto-registers project ID as agent-comms topic for approved peers who are explicit project members
|
|
85
101
|
|
|
86
|
-
### 3.
|
|
87
|
-
- Before starting project-related work,
|
|
88
|
-
-
|
|
89
|
-
-
|
|
102
|
+
### 3. Project-Aware Coordination Workflow
|
|
103
|
+
- Before starting project-related work, the agent should consider checking local state first
|
|
104
|
+
- If the question or task depends on collaborator context, query the relevant peer agent on the project topic
|
|
105
|
+
- Surface "heads up — your collaborator already logged something relevant" moments when they are actually found
|
|
90
106
|
|
|
91
107
|
### 4. Peer Response Policy Awareness
|
|
92
108
|
- Peer agents have their own response policies (auto-answer vs. escalate to human)
|
|
93
109
|
- Your agent respects those policies and adjusts behavior accordingly
|
|
94
110
|
- This preserves each user's autonomy over how their agent handles interruptions
|
|
95
111
|
|
|
96
|
-
### 5. Cross-Peer
|
|
97
|
-
-
|
|
98
|
-
-
|
|
112
|
+
### 5. Cross-Peer Querying
|
|
113
|
+
- Query peer project state when that context would help answer a question or avoid duplicate work
|
|
114
|
+
- Summarize the relevant result for the user instead of dumping raw logs by default
|
|
115
|
+
|
|
116
|
+
### 6. Current Implementation Boundary
|
|
117
|
+
- The CLI and daemon currently provide project CRUD, contribution logging, peer project queries, and project-topic agent-comms
|
|
118
|
+
- The "check peers before starting work" behavior is a workflow expectation for the agent using this skill, not a daemon-enforced guarantee
|
|
119
|
+
- Multi-party project visibility rules are still evolving; do not assume that project membership automatically implies transitive sharing between peers
|
|
99
120
|
|
|
100
121
|
---
|
|
101
122
|
|
|
102
|
-
##
|
|
123
|
+
## Suggested Pre-Task Check
|
|
103
124
|
|
|
104
|
-
|
|
125
|
+
Use this flow when project context is likely to matter. Treat it as recommended agent behavior, not as a guaranteed runtime mechanism.
|
|
105
126
|
|
|
106
|
-
Whenever the user expresses intent to start work on something project-related,
|
|
127
|
+
Whenever the user expresses intent to start work on something project-related, consider this flow before starting:
|
|
107
128
|
|
|
108
129
|
### Step 1: Check local project state
|
|
109
130
|
```bash
|
|
110
131
|
# Quick scan of recent activity
|
|
111
|
-
ogp project query <project-id> --limit 20
|
|
132
|
+
ogp --for openclaw project query <project-id> --limit 20
|
|
112
133
|
|
|
113
134
|
# Check for anything on this specific topic
|
|
114
|
-
ogp project query <project-id> --search "<keywords from user's intent>"
|
|
135
|
+
ogp --for openclaw project query <project-id> --search "<keywords from user's intent>"
|
|
115
136
|
```
|
|
116
137
|
|
|
117
|
-
### Step 2: Query peer agents
|
|
138
|
+
### Step 2: Query relevant peer agents
|
|
118
139
|
```bash
|
|
119
|
-
#
|
|
120
|
-
ogp federation agent <peer-id> <project-id> "My user is about to start working on <what they said>. Anything I should know before we begin?"
|
|
140
|
+
# Ask the specific collaborator whose context is likely to matter
|
|
141
|
+
ogp --for openclaw federation agent <peer-id> <project-id> "My user is about to start working on <what they said>. Anything I should know before we begin?"
|
|
121
142
|
```
|
|
122
143
|
|
|
123
144
|
### Step 3: Surface findings
|
|
@@ -135,7 +156,7 @@ ogp federation agent <peer-id> <project-id> "My user is about to start working o
|
|
|
135
156
|
User: "Let's start working on the companion app"
|
|
136
157
|
|
|
137
158
|
Agent (internally):
|
|
138
|
-
1. ogp project query my-project --search "companion app"
|
|
159
|
+
1. ogp --for openclaw project query my-project --search "companion app"
|
|
139
160
|
→ Found: "User B flagged companion app as out of scope in v1" (decision, 3 days ago)
|
|
140
161
|
|
|
141
162
|
Agent (to user): "Before you dive in — there's a note in the project from 3 days ago:
|
|
@@ -147,8 +168,8 @@ Want to check with them first, or are you overriding that?"
|
|
|
147
168
|
User: "Let's start working on the companion app"
|
|
148
169
|
|
|
149
170
|
Agent (internally):
|
|
150
|
-
1. ogp project query my-project --search "companion app" → nothing found
|
|
151
|
-
2. ogp federation agent peer-b my-project "My user is about to start on the companion app. Anything I should know?"
|
|
171
|
+
1. ogp --for openclaw project query my-project --search "companion app" → nothing found
|
|
172
|
+
2. ogp --for openclaw federation agent peer-b my-project "My user is about to start on the companion app. Anything I should know?"
|
|
152
173
|
→ Peer agent responds: "No conflicts. Bob hasn't touched that area."
|
|
153
174
|
|
|
154
175
|
Agent: [starts working — no announcement needed]
|
|
@@ -170,16 +191,16 @@ When your agent queries a peer agent, the peer agent responds according to its o
|
|
|
170
191
|
**Configuring your own response policy** (how YOUR agent handles incoming queries):
|
|
171
192
|
```bash
|
|
172
193
|
# See current policies
|
|
173
|
-
ogp agent-comms policies
|
|
194
|
+
ogp --for openclaw agent-comms policies
|
|
174
195
|
|
|
175
196
|
# Auto-answer project queries (full detail)
|
|
176
|
-
ogp agent-comms add-topic <peer-id> <project-id> --level full
|
|
197
|
+
ogp --for openclaw agent-comms add-topic <peer-id> <project-id> --level full
|
|
177
198
|
|
|
178
199
|
# Escalate to human before answering
|
|
179
|
-
ogp agent-comms add-topic <peer-id> <project-id> --level escalate
|
|
200
|
+
ogp --for openclaw agent-comms add-topic <peer-id> <project-id> --level escalate
|
|
180
201
|
|
|
181
202
|
# Summary only
|
|
182
|
-
ogp agent-comms add-topic <peer-id> <project-id> --level summary
|
|
203
|
+
ogp --for openclaw agent-comms add-topic <peer-id> <project-id> --level summary
|
|
183
204
|
```
|
|
184
205
|
|
|
185
206
|
Response levels:
|
|
@@ -202,7 +223,7 @@ If the user skips questions, that's fine — the agent operates in generalized m
|
|
|
202
223
|
|
|
203
224
|
### Step 1: Create the project
|
|
204
225
|
```bash
|
|
205
|
-
ogp project create <project-id> <name> --description "<description>"
|
|
226
|
+
ogp --for openclaw project create <project-id> <name> --description "<description>"
|
|
206
227
|
```
|
|
207
228
|
|
|
208
229
|
### Step 2: Run the interview
|
|
@@ -214,7 +235,7 @@ Ask these questions conversationally — not as a form. Let the user's answers l
|
|
|
214
235
|
**Q1: How do you track tasks for this project?**
|
|
215
236
|
*(e.g. Linear, Jira, GitHub Issues, Trello, a text file, nothing formal)*
|
|
216
237
|
|
|
217
|
-
- If answered → `ogp project contribute <id> context.tools "Tasks tracked in: <answer>"`
|
|
238
|
+
- If answered → `ogp --for openclaw project contribute <id> context.tools "Tasks tracked in: <answer>"`
|
|
218
239
|
- Agent behavior unlocked: When a peer agent asks about tasks/issues/tickets, search here first. If the tool has an API or CLI, offer to query it directly.
|
|
219
240
|
- Example agent behavior: *"Stan's agent is asking what's in your backlog for this project. I can check Linear for you — want me to pull the open items?"*
|
|
220
241
|
- If skipped → agent notes task tracking is unspecified; will only know what's been logged manually
|
|
@@ -224,7 +245,7 @@ Ask these questions conversationally — not as a form. Let the user's answers l
|
|
|
224
245
|
**Q2: Where do you keep notes or docs for this project?**
|
|
225
246
|
*(e.g. Obsidian vault at ~/notes/project-x, Notion, GitHub wiki, Apple Notes, Google Docs, a local folder)*
|
|
226
247
|
|
|
227
|
-
- If answered → `ogp project contribute <id> context.notes "<location>"`
|
|
248
|
+
- If answered → `ogp --for openclaw project contribute <id> context.notes "<location>"`
|
|
228
249
|
- Agent behavior unlocked: When a peer asks about ideas, decisions, meeting notes, or any written context — go look there first before saying "I don't know."
|
|
229
250
|
- Example agent behavior: *"Before I answer Stan's question about the API design, let me check your Obsidian vault..."*
|
|
230
251
|
- If skipped → agent can only surface what's been explicitly logged to the project
|
|
@@ -234,7 +255,7 @@ Ask these questions conversationally — not as a form. Let the user's answers l
|
|
|
234
255
|
**Q3: Is there a code repository?**
|
|
235
256
|
*(e.g. GitHub URL, GitLab, local git repo path)*
|
|
236
257
|
|
|
237
|
-
- If answered → `ogp project contribute <id> context.repository "<url or path>"`
|
|
258
|
+
- If answered → `ogp --for openclaw project contribute <id> context.repository "<url or path>"`
|
|
238
259
|
- Agent behavior unlocked: When peer asks about code, architecture, or recent commits — check the repo. Can run `git log`, search files, check open PRs.
|
|
239
260
|
- If skipped → agent won't know where code lives
|
|
240
261
|
|
|
@@ -243,7 +264,7 @@ Ask these questions conversationally — not as a form. Let the user's answers l
|
|
|
243
264
|
**Q4: Where do you store files for this project?**
|
|
244
265
|
*(e.g. ~/Documents/project-x, iCloud Drive, Google Drive, Dropbox, S3 bucket)*
|
|
245
266
|
|
|
246
|
-
- If answered → `ogp project contribute <id> context.workspace "<path or location>"`
|
|
267
|
+
- If answered → `ogp --for openclaw project contribute <id> context.workspace "<path or location>"`
|
|
247
268
|
- Agent behavior unlocked: When peer asks about assets, specs, or anything file-based — look here.
|
|
248
269
|
- If skipped → agent won't look for files outside the project log
|
|
249
270
|
|
|
@@ -252,9 +273,9 @@ Ask these questions conversationally — not as a form. Let the user's answers l
|
|
|
252
273
|
**Q5: Is anyone else working on this with you?**
|
|
253
274
|
*(peer IDs, names, or email addresses of collaborators)*
|
|
254
275
|
|
|
255
|
-
- If answered → `ogp project contribute <id> context.collaborators "<names/peer-ids>"`
|
|
256
|
-
- Agent behavior unlocked: Know who to ping during pre-task checks
|
|
257
|
-
- Also offer: *"Want me to send them a federation invite?"* — if yes, run `ogp project request-join <peer-id> <project-id> <name>`
|
|
276
|
+
- If answered → `ogp --for openclaw project contribute <id> context.collaborators "<names/peer-ids>"`
|
|
277
|
+
- Agent behavior unlocked: Know who to ping during pre-task checks and whose agent to query when looking for context.
|
|
278
|
+
- Also offer: *"Want me to send them a federation invite?"* — if yes, run `ogp --for openclaw project request-join <peer-id> <project-id> <name>`
|
|
258
279
|
- If skipped → no peer checks until collaborators are added later
|
|
259
280
|
|
|
260
281
|
---
|
|
@@ -262,7 +283,7 @@ Ask these questions conversationally — not as a form. Let the user's answers l
|
|
|
262
283
|
**Q6: Anything else I should know about this project?**
|
|
263
284
|
*(free text — constraints, deadlines, important context, tools not covered above)*
|
|
264
285
|
|
|
265
|
-
- If answered → `ogp project contribute <id> context "<free text>"`
|
|
286
|
+
- If answered → `ogp --for openclaw project contribute <id> context "<free text>"`
|
|
266
287
|
- This catches anything the structured questions missed
|
|
267
288
|
- If skipped → fine, move on
|
|
268
289
|
|
|
@@ -282,7 +303,7 @@ After the interview, summarize what you now know:
|
|
|
282
303
|
👥 Collaborators: <answer or "none yet">
|
|
283
304
|
|
|
284
305
|
For anything I don't know yet, you can tell me later and I'll update the project context.
|
|
285
|
-
I'll
|
|
306
|
+
I'll use this context when project questions come up and can check it before starting related work.
|
|
286
307
|
```
|
|
287
308
|
|
|
288
309
|
> **Why this matters:** The `context.*` entries do two jobs. They tell peer agents where your stuff lives (so they know what to ask you about). And they tell YOUR agent where to actually look when answering questions — not just what's been logged to `projects.json`.
|
|
@@ -296,17 +317,17 @@ I'll check this context before starting any work on this project.
|
|
|
296
317
|
### Explicit Project Logging
|
|
297
318
|
| User Input | Action |
|
|
298
319
|
|------------|--------|
|
|
299
|
-
| "add/log/save/put/track this to [project]" | `ogp project contribute <id> context "<summary>"` |
|
|
300
|
-
| "remember for [project] that..." | `ogp project contribute <id> context "<summary>"` |
|
|
301
|
-
| Decision made during conversation | `ogp project contribute <id> decision "<summary>"` |
|
|
302
|
-
| Blocker encountered | `ogp project contribute <id> blocker "<summary>"` |
|
|
303
|
-
| Work completed | `ogp project contribute <id> progress "<summary>"` |
|
|
320
|
+
| "add/log/save/put/track this to [project]" | `ogp --for openclaw project contribute <id> context "<summary>"` |
|
|
321
|
+
| "remember for [project] that..." | `ogp --for openclaw project contribute <id> context "<summary>"` |
|
|
322
|
+
| Decision made during conversation | `ogp --for openclaw project contribute <id> decision "<summary>"` |
|
|
323
|
+
| Blocker encountered | `ogp --for openclaw project contribute <id> blocker "<summary>"` |
|
|
324
|
+
| Work completed | `ogp --for openclaw project contribute <id> progress "<summary>"` |
|
|
304
325
|
|
|
305
326
|
### No Project Specified
|
|
306
327
|
If logging intent is clear but no project named:
|
|
307
328
|
```
|
|
308
329
|
📝 I can log this for you. Which project?
|
|
309
|
-
Active: [list from `ogp project list`]
|
|
330
|
+
Active: [list from `ogp --for openclaw project list`]
|
|
310
331
|
Or name a new one to create it.
|
|
311
332
|
```
|
|
312
333
|
|
|
@@ -331,20 +352,20 @@ When a peer agent sends a query to your project topic, your agent should:
|
|
|
331
352
|
**Searching your context to answer:**
|
|
332
353
|
```bash
|
|
333
354
|
# Search project contributions
|
|
334
|
-
ogp project query <project-id> --search "<keywords>"
|
|
355
|
+
ogp --for openclaw project query <project-id> --search "<keywords>"
|
|
335
356
|
|
|
336
357
|
# Check specific context entries
|
|
337
|
-
ogp project query <project-id> --type context.notes
|
|
338
|
-
ogp project query <project-id> --type context.repository
|
|
339
|
-
ogp project query <project-id> --type decision
|
|
358
|
+
ogp --for openclaw project query <project-id> --type context.notes
|
|
359
|
+
ogp --for openclaw project query <project-id> --type context.repository
|
|
360
|
+
ogp --for openclaw project query <project-id> --type decision
|
|
340
361
|
|
|
341
362
|
# Recent activity
|
|
342
|
-
ogp project query <project-id> --limit 20
|
|
363
|
+
ogp --for openclaw project query <project-id> --limit 20
|
|
343
364
|
```
|
|
344
365
|
|
|
345
366
|
**Replying to a peer query:**
|
|
346
367
|
```bash
|
|
347
|
-
ogp federation agent <peer-id> <project-id> "<your answer>"
|
|
368
|
+
ogp --for openclaw federation agent <peer-id> <project-id> "<your answer>"
|
|
348
369
|
```
|
|
349
370
|
|
|
350
371
|
---
|
|
@@ -354,44 +375,44 @@ ogp federation agent <peer-id> <project-id> "<your answer>"
|
|
|
354
375
|
### Project Management
|
|
355
376
|
```bash
|
|
356
377
|
# Create project
|
|
357
|
-
ogp project create <id> <name> [--description "..."]
|
|
378
|
+
ogp --for openclaw project create <id> <name> [--description "..."]
|
|
358
379
|
|
|
359
380
|
# Join existing project
|
|
360
|
-
ogp project join <id> [name] [--create] [--description "..."]
|
|
381
|
+
ogp --for openclaw project join <id> [name] [--create] [--description "..."]
|
|
361
382
|
|
|
362
383
|
# List all projects
|
|
363
|
-
ogp project list
|
|
384
|
+
ogp --for openclaw project list
|
|
364
385
|
|
|
365
386
|
# Get project status
|
|
366
|
-
ogp project status <id>
|
|
387
|
+
ogp --for openclaw project status <id>
|
|
367
388
|
```
|
|
368
389
|
|
|
369
390
|
### Contributions & Logging
|
|
370
391
|
```bash
|
|
371
392
|
# Add contribution
|
|
372
|
-
ogp project contribute <id> <type> <summary> [--metadata '{"key":"value"}']
|
|
393
|
+
ogp --for openclaw project contribute <id> <type> <summary> [--metadata '{"key":"value"}']
|
|
373
394
|
|
|
374
395
|
# Query contributions
|
|
375
|
-
ogp project query <id> [--type <type>] [--search <text>] [--limit <n>]
|
|
376
|
-
#
|
|
396
|
+
ogp --for openclaw project query <id> [--type <type>] [--search <text>] [--limit <n>]
|
|
397
|
+
# Prefer --type. --topic remains a compatibility alias.
|
|
377
398
|
```
|
|
378
399
|
|
|
379
400
|
### Cross-Peer Collaboration
|
|
380
401
|
```bash
|
|
381
402
|
# Request to join peer's project
|
|
382
|
-
ogp project request-join <peer-id> <project-id> <name>
|
|
403
|
+
ogp --for openclaw project request-join <peer-id> <project-id> <name>
|
|
383
404
|
|
|
384
405
|
# Send contribution to peer project
|
|
385
|
-
ogp project send-contribution <peer-id> <project-id> <type> <summary>
|
|
406
|
+
ogp --for openclaw project send-contribution <peer-id> <project-id> <type> <summary>
|
|
386
407
|
|
|
387
408
|
# Query peer project contributions
|
|
388
|
-
ogp project query-peer <peer-id> <project-id> [--
|
|
409
|
+
ogp --for openclaw project query-peer <peer-id> <project-id> [--type <type>] [--limit <n>]
|
|
389
410
|
|
|
390
411
|
# Get peer project status
|
|
391
|
-
ogp project status-peer <peer-id> <project-id>
|
|
412
|
+
ogp --for openclaw project status-peer <peer-id> <project-id>
|
|
392
413
|
|
|
393
414
|
# Send agent-to-agent message on project topic
|
|
394
|
-
ogp federation agent <peer-id> <project-id> "<message>"
|
|
415
|
+
ogp --for openclaw federation agent <peer-id> <project-id> "<message>"
|
|
395
416
|
```
|
|
396
417
|
|
|
397
418
|
---
|
|
@@ -445,32 +466,32 @@ Peer activity:
|
|
|
445
466
|
### Peer Agent Not Responding
|
|
446
467
|
```bash
|
|
447
468
|
# Check peer is online
|
|
448
|
-
ogp federation ping <peer-alias>
|
|
469
|
+
ogp --for openclaw federation ping <peer-alias>
|
|
449
470
|
|
|
450
471
|
# Check agent-comms policies
|
|
451
|
-
ogp agent-comms policies <peer-id>
|
|
472
|
+
ogp --for openclaw agent-comms policies <peer-id>
|
|
452
473
|
|
|
453
474
|
# Check activity log
|
|
454
|
-
ogp agent-comms activity <peer-id>
|
|
475
|
+
ogp --for openclaw agent-comms activity <peer-id>
|
|
455
476
|
```
|
|
456
477
|
|
|
457
478
|
### Project Not Found
|
|
458
479
|
```bash
|
|
459
|
-
ogp project list
|
|
460
|
-
ogp project status-peer <peer-id> <project-id>
|
|
480
|
+
ogp --for openclaw project list
|
|
481
|
+
ogp --for openclaw project status-peer <peer-id> <project-id>
|
|
461
482
|
```
|
|
462
483
|
|
|
463
484
|
### Logging Failures
|
|
464
485
|
```bash
|
|
465
|
-
ogp project status <project-id>
|
|
466
|
-
ogp status
|
|
486
|
+
ogp --for openclaw project status <project-id>
|
|
487
|
+
ogp --for openclaw status
|
|
467
488
|
```
|
|
468
489
|
|
|
469
490
|
### Cross-Peer Issues
|
|
470
491
|
```bash
|
|
471
|
-
ogp federation list --status approved
|
|
472
|
-
ogp federation scopes <peer-id>
|
|
473
|
-
ogp federation send <peer-id> message '{"text":"ping"}'
|
|
492
|
+
ogp --for openclaw federation list --status approved
|
|
493
|
+
ogp --for openclaw federation scopes <peer-id>
|
|
494
|
+
ogp --for openclaw federation send <peer-id> message '{"text":"ping"}'
|
|
474
495
|
```
|
|
475
496
|
|
|
476
497
|
---
|
|
@@ -480,16 +501,17 @@ ogp federation send <peer-id> message '{"text":"ping"}'
|
|
|
480
501
|
**Data Flow:**
|
|
481
502
|
```
|
|
482
503
|
User says something project-related
|
|
483
|
-
→ Agent
|
|
484
|
-
→ Agent
|
|
485
|
-
→ Surfaces conflicts/info before
|
|
486
|
-
→ Logs outcomes (ogp project contribute)
|
|
487
|
-
→
|
|
504
|
+
→ Agent may check local project state (ogp --for <framework> project query)
|
|
505
|
+
→ Agent may ping relevant peer agents (ogp --for <framework> federation agent)
|
|
506
|
+
→ Surfaces relevant conflicts/info before or during work
|
|
507
|
+
→ Logs outcomes (ogp --for <framework> project contribute)
|
|
508
|
+
→ Shares or queries peer context through project-aware federation flows when appropriate
|
|
488
509
|
```
|
|
489
510
|
|
|
490
511
|
**The tool-agnostic principle:**
|
|
491
512
|
The project doesn't care what tools you use. `context.notes`, `context.repository`, `context.tools` are just text. If you keep notes in Obsidian, that's in `context.notes`. If your peer uses GitHub wikis, that's in their `context.notes`. Peer agents read each other's context entries and know where to look — or know what to ask.
|
|
492
513
|
|
|
493
514
|
**Storage:**
|
|
494
|
-
- `~/.ogp/projects.json` —
|
|
495
|
-
- `~/.ogp/peers.json` — peer identities and federation state
|
|
515
|
+
- `~/.ogp/projects.json` / `~/.ogp-hermes/projects.json` — project data and contributions per framework
|
|
516
|
+
- `~/.ogp/peers.json` / `~/.ogp-hermes/peers.json` — peer identities and federation state per framework
|
|
517
|
+
- `~/.ogp-meta/config.json` — enabled frameworks and default selection
|