openup-log-run
Create traceability logs (markdown + JSONL) for the current agent run
Best use case
openup-log-run is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Create traceability logs (markdown + JSONL) for the current agent run
Teams using openup-log-run should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/openup-log-run/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How openup-log-run Compares
| Feature / Agent | openup-log-run | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Create traceability logs (markdown + JSONL) for the current agent run
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Log Run
Create traceability logs for the current agent run. **Call only AFTER all changes are committed** (logs require actual commit SHAs).
> **Scribe step** — this entire skill is mechanical. Delegate to the
> `openup-scribe` agent (Agent tool, subagent_type: "openup-scribe"). You
> determine the values; the scribe only writes. Brief it with:
>
> ```
> Agent(subagent_type="openup-scribe", description="Write agent run log",
> prompt="Write a traceability log entry.
> Branch: [branch]. Commits: [sha list]. Phase: [phase]. Task: [task_id].
> Start: [ts]. End: [ts]. Files changed: [list].
> 1. Create docs/agent-logs/YYYY/MM/DD/<timestamp>-agent-<branch>.md
> with the run metadata, commits, and key decisions listed below: [decisions].
> 2. Append a JSONL record to docs/agent-logs/agent-runs.jsonl.
> Report: paths created and JSONL record written.")
> ```
>
> Collect the commit SHAs and metadata yourself (they require git commands), then
> hand off the write operations to the scribe.
## Prerequisites
- `git status --porcelain` returns empty (all changes committed)
- Commit SHAs are available for reference
## Process
### 1. Generate Run ID
If `$ARGUMENTS[run_id]` is not provided, generate: `YYYY-MM-DDTHH:MM:SSZ-agent-branch`
### 2. Collect Run Metadata
- Branch: `git branch --show-current`
- Trunk: detect via `origin/HEAD`, fallback `main`/`master`
- Start/end timestamps
- Phase from `docs/project-status.md`
- Commits: `git log --oneline <since>...HEAD`
### 3. Create Markdown Log
Create `docs/agent-logs/YYYY/MM/DD/<timestamp>-<agent>-<branch>.md` with:
- Run metadata (branch, trunk, timestamps)
- Roles assumed and switches
- Tasks performed (one per primary-role task boundary)
- Commit SHAs created during run
- Consulting-role usage
- Key decisions/assumptions + doc links
- Initial instructions/prompt (verbatim)
### 4. Append JSONL Entry
Append to `docs/agent-logs/agent-runs.jsonl`:
```json
{"run_id":"<id>","agent":"claude","branch":"<branch>","trunk":"<trunk>","start":"<ts>","end":"<ts>","phase":"<phase>","iteration_goals":["..."],"prompt_hash":"sha256:...","md_log_path":"<path>","tasks":[{"role":"<role>","objective":"<obj>","start":"<ts>","end":"<ts>","commits":["<sha>"],"docs_updated":["<path>"],"consulting_roles":["<role>"]}],"decisions":["<path>"],"notes":"<summary>"}
```
### 5. Record the log gate
Once the markdown log and JSONL record are written, flip the iteration-state gate (no-op if there is no active `.openup/state.json`):
```bash
python3 scripts/openup-state.py set-gate log_written true 2>/dev/null || true
```
### 6. Verify
- Markdown log exists and is readable
- JSONL entry is valid JSON
- Commit SHAs referenced actually exist
- All required fields are populated
## Common Errors
| Error | Cause | Solution |
|-------|-------|----------|
| Uncommitted changes | Files not committed | `git add -A && git commit` first |
| Invalid JSONL | JSON format error | Verify syntax before appending |
| Missing commits | No commits for run | Verify run is complete |
| Directory not found | docs/agent-logs/ missing | Create directory structure first |
## References
- Traceability Logging SOP: `docs-eng-process/agent-workflow.md`
## See Also
- [openup-complete-task](../complete-task/SKILL.md) - Calls this skill automatically
- [openup-start-iteration](../start-iteration/SKILL.md) - Logs iteration startRelated Skills
openup-transition
Initialize and manage Transition phase activities - deploy to users
openup-tdd-workflow
Guide Test-Driven Development cycle adapted for AI agents with a pragmatic approach
openup-sync-spec
Back-propagate pure refactors to stale artifacts; classify the diff, refuse behaviour-changes, propose targeted edits for approval (read-only by default)
openup-start-iteration
Begin a new OpenUP iteration with proper phase context and task selection
openup-shared-vision
Create shared technical vision for team alignment
openup-retrospective
Generate iteration retrospective with feedback and action items
openup-request-input
Create an input request document for asynchronous stakeholder communication
openup-readiness
Compute the change-folder dependency DAG and print READY/BLOCKED/collision report for PM intake
openup-quick-task
Fast iteration mode for small changes - simplified workflow with minimal overhead
openup-plan-feature
Generate iteration plan and roadmap entry for a feature idea
openup-phase-review
Check phase completion criteria and prepare for phase review
openup-orchestrate
Run a full orchestrated iteration — PM decomposes the goal, delegates to specialist roles, collects outputs, and synthesizes results