Skills osop-log

Generate OSOP session log — creates .osop workflow and .osoplog.yaml execution record

install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/archie0125/osop-log" ~/.claude/skills/openclaw-skills-osop-log && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/archie0125/osop-log" ~/.openclaw/skills/openclaw-skills-osop-log && rm -rf "$T"
manifest: skills/archie0125/osop-log/SKILL.md
source content

OSOP Session Logger

You just completed a task. Now produce a structured session log.

What to create

  1. sessions/YYYY-MM-DD-<short-desc>.osop
    — workflow definition
  2. sessions/YYYY-MM-DD-<short-desc>.osoplog.yaml
    — execution record

Create the

sessions/
directory if it doesn't exist.

Task description

$ARGUMENTS

.osop format

osop_version: "1.0"
id: "session-<short-description>"
name: "<What you did>"
description: "<1-2 sentence summary>"
version: "1.0.0"
tags: [claude-code, <relevant-tags>]

nodes:
  - id: "<step-id>"
    type: "<node-type>"   # human, agent, mcp, cli, api, cicd, git, db, docker, infra, system, event, gateway, data, company, department
    subtype: "<subtype>"  # Optional: llm, explore, plan, worker, tool, test, commit, rest, etc.
    name: "<Step Name>"
    description: "<What this step does>"
    security:
      risk_level: "<low|medium|high|critical>"

edges:
  - from: "<step-a>"
    to: "<step-b>"
    mode: "sequential"    # sequential, parallel, conditional, fallback, error, spawn, etc.

.osoplog.yaml format

osoplog_version: "1.0"
run_id: "<generate-uuid>"
workflow_id: "<matches .osop id>"
mode: "live"
status: "COMPLETED"

trigger:
  type: "manual"
  actor: "user"
  timestamp: "<ISO timestamp>"

started_at: "<ISO timestamp>"
ended_at: "<ISO timestamp>"
duration_ms: <total ms>

runtime:
  agent: "claude-code"
  model: "<current model>"

node_records:
  - node_id: "<step-id>"
    node_type: "<type>"
    attempt: 1
    status: "COMPLETED"
    started_at: "<ISO>"
    ended_at: "<ISO>"
    duration_ms: <ms>
    outputs:
      <what you produced>
    tools_used:
      - { tool: "<tool-name>", calls: <n> }
    reasoning:
      question: "<what was decided>"
      selected: "<chosen approach>"
      confidence: <0.0-1.0>

result_summary: "<1-2 sentence summary>"

Node type mapping

Actiontypesubtype
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"

Important

  • Be accurate about what tools were used and how many calls
  • Include reasoning for non-obvious decisions
  • Estimate durations based on tool call timing
  • If the task failed, set status to FAILED and include error details
  • View logs at https://osop-editor.vercel.app