Ogp Project
by @dp-pcs
Tool-agnostic project collaboration for AI assistants. Users keep their own tools (Linear, Jira, Obsidian, GitHub, iCloud, local files — anything). This skil...
clawhub install ogp-project📖 About This Skill
skill_name: ogp-project version: 2.1.0 description: > Tool-agnostic project collaboration for AI assistants. Users keep their own tools (Linear, Jira, Obsidian, GitHub, iCloud, local files — anything). This skill makes agents aware of what each collaborator's agent knows and where it lives, so agents can query each other proactively rather than making the human relay information. Supports project creation with context interviews, freeform activity logging, proactive pre-task peer checks, and cross-peer summarization. trigger: > Use when the user wants to create, manage, log to, or summarize OGP projects. ALSO use proactively — before starting any project-related work — to check shared project state and query peer agents. Triggers on natural logging phrases like "remember this for project X", "account for this", "make note of", "track this", "jot this down", "save this to", "document this" when a project context is active or named. The goal is to eliminate human-as-messenger friction: agents surface conflicts and overlaps automatically so users don't have to ask. requires: bins: - ogp state_paths: - ~/.ogp-meta/config.json - ~/.ogp/config.json - ~/.ogp/projects.json - ~/.ogp/peers.json - ~/.ogp-hermes/config.json - ~/.ogp-hermes/projects.json - ~/.ogp-hermes/peers.json install: npm install -g @dp-pcs/ogp docs: https://github.com/dp-pcs/ogp
Prerequisites
The OGP daemon must be installed and configured. If you see errors like 'ogp: command not found', install it first:
npm install -g @dp-pcs/ogp
ogp-install-skills
ogp setup
ogp config show
ogp start
Note on Peer IDs (OGP 0.2.24+): Peers are identified by the first 16 characters of their Ed25519 public key (e.g., 302a300506032b65). This is stable even when their gateway URL changes. You can also reference peers by their alias (the friendly name you assigned during federation).
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.
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.
Full documentation: https://github.com/dp-pcs/ogp
OGP Project Context Management
The Core Idea
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. In the past, collaboration meant forcing everyone onto the same tools.
This skill changes that. Each user keeps their own tools and workflow. Their agent knows what they're working on and where everything lives. When two people collaborate on a project, their agents communicate directly — surfacing conflicts, sharing context, and answering each other's questions — without the human having to relay anything.
The human-as-messenger problem: > Coworker wants to know something → asks you → you ask your agent → agent finds answer → you tell coworker
What this skill enables: > Coworker's agent asks your agent → answer flows back → coworker just knows
When to Use
Core Features
1. Project Creation with Context Interview
context.* contributions — this is how peer agents know what to ask you about2. Freeform Activity Logging
3. Proactive Pre-Task Check ← KEY BEHAVIOR
4. Peer Response Policy Awareness
5. Cross-Peer Summarization
Proactive Pre-Task Check (MANDATORY)
This is the most important behavior in this skill.
Whenever the user expresses intent to start work on something project-related, run this flow BEFORE starting:
Step 1: Check local project state
# Quick scan of recent activity
ogp --for openclaw project query --limit 20Check for anything on this specific topic
ogp --for openclaw project query --search ""
Step 2: Query peer agents
# For each approved peer in the project, ask if they know anything relevant
ogp --for openclaw federation agent "My user is about to start working on . Anything I should know before we begin?"
Step 3: Surface findings
When to trigger this check
Example
User: "Let's start working on the companion app"Agent (internally):
1. ogp --for openclaw project query my-project --search "companion app"
→ Found: "User B flagged companion app as out of scope in v1" (decision, 3 days ago)
Agent (to user): "Before you dive in — there's a note in the project from 3 days ago:
User B's agent logged a decision that companion app is out of scope for v1.
Want to check with them first, or are you overriding that?"
User: "Let's start working on the companion app"Agent (internally):
1. ogp --for openclaw project query my-project --search "companion app" → nothing found
2. ogp --for openclaw federation agent peer-b my-project "My user is about to start on the companion app. Anything I should know?"
→ Peer agent responds: "No conflicts. Bob hasn't touched that area."
Agent: [starts working — no announcement needed]
Peer Response Policy
When your agent queries a peer agent, the peer agent responds according to its owner's configured policy. Your agent should interpret and respect these responses:
| Peer Response | Meaning | Your Agent's Behavior | |--------------|---------|----------------------| | Direct answer | Peer auto-answered | Use the information, proceed | | "I've asked [name] and will follow up" | Peer is escalating to human | Wait for follow-up, or proceed with caveat | | "I don't have permission to share that" | Topic is restricted | Respect it, don't re-ask | | No response / timeout | Peer offline or unavailable | Proceed, note that peer was unavailable |
Configuring your own response policy (how YOUR agent handles incoming queries):
# See current policies
ogp --for openclaw agent-comms policiesAuto-answer project queries (full detail)
ogp --for openclaw agent-comms add-topic --level fullEscalate to human before answering
ogp --for openclaw agent-comms add-topic --level escalateSummary only
ogp --for openclaw agent-comms add-topic --level summary
Response levels:
full — agent answers directly with full contextsummary — agent answers with high-level overview only escalate — agent asks the human before responding ("Stan's agent wants to know about X — should I answer?")off — agent declines to respond on this topicProject Creation with Context Interview
When a project is created, run this conversational interview. It is optional but valuable — the more context captured here, the more useful the agent becomes for both the user and their collaborators.
Two things happen with every answer:
1. It gets logged as a context.* contribution (so peer agents can query it)
2. It shapes how YOUR agent behaves going forward for this project (so you actually use it)
If the user skips questions, that's fine — the agent operates in generalized mode and logs/queries from projects.json only.
Step 1: Create the project
ogp --for openclaw project create --description ""
Step 2: Run the interview
Ask these questions conversationally — not as a form. Let the user's answers lead naturally. Skip any they don't want to answer.
Q1: How do you track tasks for this project? *(e.g. Linear, Jira, GitHub Issues, Trello, a text file, nothing formal)*
ogp --for openclaw project contribute context.tools "Tasks tracked in: " Q2: Where do you keep notes or docs for this project? *(e.g. Obsidian vault at ~/notes/project-x, Notion, GitHub wiki, Apple Notes, Google Docs, a local folder)*
ogp --for openclaw project contribute context.notes "" Q3: Is there a code repository? *(e.g. GitHub URL, GitLab, local git repo path)*
ogp --for openclaw project contribute context.repository "" git log, search files, check open PRs.Q4: Where do you store files for this project? *(e.g. ~/Documents/project-x, iCloud Drive, Google Drive, Dropbox, S3 bucket)*
ogp --for openclaw project contribute context.workspace "" Q5: Is anyone else working on this with you? *(peer IDs, names, or email addresses of collaborators)*
ogp --for openclaw project contribute context.collaborators "" ogp --for openclaw project request-join Q6: Anything else I should know about this project? *(free text — constraints, deadlines, important context, tools not covered above)*
ogp --for openclaw project contribute context "" Step 3: Confirm what was captured
After the interview, summarize what you now know:
✅ Project "" is set up. Here's what I know: 📋 Tasks:
📝 Notes:
💻 Repo:
📁 Files:
👥 Collaborators:
For anything I don't know yet, you can tell me later and I'll update the project context.
I'll check this context before starting any work on this project.
> 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.
Freeform Activity Logging
Detect logging intent from ANY natural phrasing — not just exact keywords.
Explicit Project Logging
| User Input | Action | |------------|--------| | "add/log/save/put/track this to [project]" |ogp --for openclaw project contribute context "" |
| "remember for [project] that..." | ogp --for openclaw project contribute context "" |
| Decision made during conversation | ogp --for openclaw project contribute decision "" |
| Blocker encountered | ogp --for openclaw project contribute blocker "" |
| Work completed | ogp --for openclaw project contribute progress "" |No Project Specified
If logging intent is clear but no project named:📝 I can log this for you. Which project?
Active: [list from ogp --for openclaw project list]
Or name a new one to create it.
Entry Type Selection
progress — work completed, milestones reacheddecision — architectural choices, technology selections, product decisionsblocker — things preventing progress, unresolved dependenciescontext — general notes, meeting takeaways, requirements changessummary — periodic digests, sprint reviewsHandling Incoming Peer Queries
When a peer agent sends a query to your project topic, your agent should:
1. Check your response policy for that peer + topic
2. If full or summary: Search local project state and context, formulate a response, reply via agent-comms
3. If escalate: Ask the user: "Stan's agent is asking about [topic] for project [X]. Here's their question: [question]. Should I answer, and what should I say?"
4. If off: Decline politely
Searching your context to answer:
# Search project contributions
ogp --for openclaw project query --search ""Check specific context entries
ogp --for openclaw project query --type context.notes
ogp --for openclaw project query --type context.repository
ogp --for openclaw project query --type decisionRecent activity
ogp --for openclaw project query --limit 20
Replying to a peer query:
ogp --for openclaw federation agent ""
CLI Command Reference
Project Management
# Create project
ogp --for openclaw project create [--description "..."]Join existing project
ogp --for openclaw project join [name] [--create] [--description "..."]List all projects
ogp --for openclaw project listGet project status
ogp --for openclaw project status
Contributions & Logging
# Add contribution
ogp --for openclaw project contribute [--metadata '{"key":"value"}']Query contributions
ogp --for openclaw project query [--type ] [--search ] [--limit ]
Prefer --type. --topic remains a compatibility alias.
Cross-Peer Collaboration
# Request to join peer's project
ogp --for openclaw project request-join Send contribution to peer project
ogp --for openclaw project send-contribution Query peer project contributions
ogp --for openclaw project query-peer [--type ] [--limit ]Get peer project status
ogp --for openclaw project status-peer Send agent-to-agent message on project topic
ogp --for openclaw federation agent ""
Response Templates
Pre-Task Check — Conflict Found
Before you start — I found something in the project:[Entry type] from [date]: [summary]
Want to proceed anyway, or check with [peer name] first?
Pre-Task Check — Peer Agent Response
Heads up — [peer alias]'s agent says: "[their response]"[Proceed / ask user how to handle based on content]
Logging Confirmation
✅ Logged to [project-name] · [type]
[Summary]
Project Status Summary
📊 [Project Name]🎯 [description]
👥 [member count] members · last active [date]
Recent:
[contributions list]
Peer activity:
[peer summary]
Troubleshooting
Pre-Task Check Returns Nothing
Peer Agent Not Responding
# Check peer is online
ogp --for openclaw federation ping Check agent-comms policies
ogp --for openclaw agent-comms policies Check activity log
ogp --for openclaw agent-comms activity
Project Not Found
ogp --for openclaw project list
ogp --for openclaw project status-peer
Logging Failures
ogp --for openclaw project status
ogp --for openclaw status
Cross-Peer Issues
ogp --for openclaw federation list --status approved
ogp --for openclaw federation scopes
ogp --for openclaw federation send message '{"text":"ping"}'
Implementation Notes
Data Flow:
User says something project-related
→ Agent checks local project state (ogp --for project query)
→ Agent pings peer agents (ogp --for federation agent)
→ Surfaces conflicts/info before starting
→ Logs outcomes (ogp --for project contribute)
→ Federation syncs to peers
The tool-agnostic principle:
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.
Storage:
~/.ogp/projects.json / ~/.ogp-hermes/projects.json — project data and contributions per framework~/.ogp/peers.json / ~/.ogp-hermes/peers.json — peer identities and federation state per framework~/.ogp-meta/config.json — enabled frameworks and default selection⚡ When to Use
💡 Examples
User: "Let's start working on the companion app"Agent (internally):
1. ogp --for openclaw project query my-project --search "companion app"
→ Found: "User B flagged companion app as out of scope in v1" (decision, 3 days ago)
Agent (to user): "Before you dive in — there's a note in the project from 3 days ago:
User B's agent logged a decision that companion app is out of scope for v1.
Want to check with them first, or are you overriding that?"
User: "Let's start working on the companion app"Agent (internally):
1. ogp --for openclaw project query my-project --search "companion app" → nothing found
2. ogp --for openclaw federation agent peer-b my-project "My user is about to start on the companion app. Anything I should know?"
→ Peer agent responds: "No conflicts. Bob hasn't touched that area."
Agent: [starts working — no announcement needed]
⚙️ Configuration
The OGP daemon must be installed and configured. If you see errors like 'ogp: command not found', install it first:
npm install -g @dp-pcs/ogp
ogp-install-skills
ogp setup
ogp config show
ogp start
Note on Peer IDs (OGP 0.2.24+): Peers are identified by the first 16 characters of their Ed25519 public key (e.g., 302a300506032b65). This is stable even when their gateway URL changes. You can also reference peers by their alias (the friendly name you assigned during federation).
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.
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.
Full documentation: https://github.com/dp-pcs/ogp
OGP Project Context Management
📋 Tips & Best Practices
Pre-Task Check Returns Nothing
Peer Agent Not Responding
# Check peer is online
ogp --for openclaw federation ping Check agent-comms policies
ogp --for openclaw agent-comms policies Check activity log
ogp --for openclaw agent-comms activity
Project Not Found
ogp --for openclaw project list
ogp --for openclaw project status-peer
Logging Failures
ogp --for openclaw project status
ogp --for openclaw status
Cross-Peer Issues
ogp --for openclaw federation list --status approved
ogp --for openclaw federation scopes
ogp --for openclaw federation send message '{"text":"ping"}'