Osop Log
by @archie0125
Generate OSOP session log — creates .osop workflow and .osoplog.yaml execution record
clawhub install osop-log📖 About This Skill
name: osop-log description: Generate OSOP session log — creates .osop workflow and .osoplog.yaml execution record version: 1.2.0 emoji: "\U0001F4DD" homepage: https://osop.ai argument-hint: [short description of what was done] metadata: openclaw: requires: bins: - bash config: - ~/.osop/config.yaml install: [] always: false user-invocable: true disable-model-invocation: false
OSOP Session Logger
You just completed a task. Now produce a structured session log.
What to create
1. sessions/YYYY-MM-DD- — workflow definition
2. sessions/YYYY-MM-DD- — execution record
Create the sessions/ directory if it doesn't exist.
Task description
$ARGUMENTS
.osop format
osop_version: "1.0"
id: "session-"
name: ""
description: "<1-2 sentence summary>"
version: "1.0.0"
tags: [claude-code, ]nodes:
- id: ""
type: "" # human, agent, mcp, cli, api, cicd, git, db, docker, infra, system, event, gateway, data, company, department
subtype: "" # Optional: llm, explore, plan, worker, tool, test, commit, rest, etc.
name: ""
description: ""
security:
risk_level: ""
edges:
- from: ""
to: ""
mode: "sequential" # sequential, parallel, conditional, fallback, error, spawn, etc.
.osoplog.yaml format
osoplog_version: "1.0"
run_id: ""
workflow_id: ""
mode: "live"
status: "COMPLETED"trigger:
type: "manual"
actor: "user"
timestamp: ""
started_at: ""
ended_at: ""
duration_ms:
runtime:
agent: "claude-code"
model: ""
node_records:
- node_id: ""
node_type: ""
attempt: 1
status: "COMPLETED"
started_at: ""
ended_at: ""
duration_ms:
outputs:
tools_used:
- { tool: "", calls: }
reasoning:
question: ""
selected: ""
confidence: <0.0-1.0>
result_summary: "<1-2 sentence summary>"
Node type mapping
| Action | type | subtype |
|---|---|---|
| Read/explore files | mcp | tool |
| Edit/write files | mcp | tool |
| Shell commands | cli | script |
| Run tests | cicd | test |
| Git operations | git | commit / branch / pr |
| Analyze/reason | agent | llm |
| Search codebase | mcp | tool |
| Ask user | human | input |
| User reviews | human | review |
| Spawn sub-agent | agent | explore / plan / worker |
| API calls | api | rest |
Sub-agent tracking
If you spawned sub-agents, use parent on child nodes and spawn edge:
nodes:
- id: "coordinator"
type: "agent"
subtype: "coordinator"
- id: "explore_1"
type: "agent"
subtype: "explore"
parent: "coordinator"
edges:
- from: "coordinator"
to: "explore_1"
mode: "spawn"