Installs into .claude/skills of the current project.
Are you the author of Milestone Logging?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/moeennehzati-milestone-logging)
---
name: milestone-logging
description: Use when starting or completing substantive agent work that needs durable, role-labelled progress records and optional run recovery.
---
<!-- BEGIN BLUEPRINT INTERFACES -->
> Generated from `blueprint.yaml`. Do not edit this block by hand.
Executable Interfaces:
Send the required `caller` (caller skill), `interface`, `version`, and `arguments`; optional `dry_run` defaults to false. Compact uses ordered `positionals` plus an option mapping; ordered raw argv uses `positionals: []` plus every argv token in list `options`. Never mix forms.
- `milestone-logging._rtx.interface.list-sessions` — List known milestone sessions and label counts as log files.
- Caller: `milestone-logging`
- Version: 1
- Security level: 0
- Alternative: `list-sessions`
Arguments JSON (replace labels with actual values). Omit optional positionals and options that are not needed.
{"options": {}, "positionals": [], "stdin": null}
Required options: []; positional arity: 0..0; stdin: forbidden
- `milestone-logging._rtx.interface.read-run-json` — Return one durable run as structured JSON with all retained typed metadata.
- Caller: `milestone-logging`
- Version: 1
- Security level: 0
- Alternative: `read-run-json`
Arguments JSON (replace labels with actual values). Omit optional positionals and options that are not needed.
{"options": {}, "positionals": ["SAFE_RUN_ID"], "stdin": null}
Required options: []; positional arity: 1..1; stdin: forbidden
- `milestone-logging._rtx.interface.record-completion` — Append completion with session-retained typed metadata and an optional additive run mirror; RESULT is limited to 256 serialized JSON bytes, including quotes and escaping, to keep each JSONL record within its fixed 3,800-byte budget.
- Caller: `milestone-logging`
- Version: 1
- Security level: 2
- Alternative: `record-completion`
Arguments JSON (replace labels with actual values). Omit optional positionals and options that are not needed.
{"options": {"--attempt": "NON_NEGATIVE_INTEGER", "--event": "EVENT", "--evidence": "PATH", "--role": "NONEMPTY_ROLE", "--run": "SAFE_RUN_ID", "--state": "STATE", "--step": "NON_NEGATIVE_INTEGER", "--task": "TASK"}, "positionals": ["RESULT"], "stdin": null}
Required options: ["--role"]; positional arity: 1..1; stdin: forbidden
- `milestone-logging._rtx.interface.record-progress` — Append progress with typed metadata retained in the session; DOING and PREV are each limited to 256 serialized JSON bytes, including quotes and escaping, to keep each JSONL record within its fixed 3,800-byte budget; run only adds identity fields and an identical journal mirror.
- Caller: `milestone-logging`
- Version: 1
- Security level: 2
- Alternative: `record-progress`
Arguments JSON (replace labels with actual values). Omit optional positionals and options that are not needed.
{"options": {"--attempt": "NON_NEGATIVE_INTEGER", "--event": "EVENT", "--evidence": "PATH", "--role": "NONEMPTY_ROLE", "--run": "SAFE_RUN_ID", "--state": "STATE", "--step": "NON_NEGATIVE_INTEGER", "--task": "TASK"}, "positionals": ["DOING", "PREV"], "stdin": null}
Required options: ["--role"]; positional arity: 1..2; stdin: forbidden
- `milestone-logging._rtx.interface.run-path` — Validate a run identifier and print its journal path without appending.
- Caller: `milestone-logging`
- Version: 1
- Security level: 0
- Alternative: `run-path`
Arguments JSON (replace labels with actual values). Omit optional positionals and options that are not needed.
{"options": {}, "positionals": ["SAFE_RUN_ID"], "stdin": null}
Required options: []; positional arity: 1..1; stdin: forbidden
- `milestone-logging._rtx.interface.session-path` — Print the selected session path without appending.
- Caller: `milestone-logging`
- Version: 1
- Security level: 0
- Alternative: `session-path`
Arguments JSON (replace labels with actual values). Omit optional positionals and options that are not needed.
{"options": {}, "positionals": [], "stdin": null}
Required options: []; positional arity: 0..0; stdin: forbidden
- `milestone-logging._rtx.interface.show-latest-session` — Render the latest session and all retained typed metadata; optional slow adds annotations only.
- Caller: `milestone-logging`
- Version: 1
- Security level: 0
- Alternative: `show-latest-session`
Arguments JSON (replace labels with actual values). Omit optional positionals and options that are not needed.
{"options": {"--slow": "POSITIVE_DECIMAL_SECONDS"}, "positionals": [], "stdin": null}
Required options: []; positional arity: 0..0; stdin: forbidden
- `milestone-logging._rtx.interface.show-run` — Render one durable run as text with all retained typed metadata.
- Caller: `milestone-logging`
- Version: 1
- Security level: 0
- Alternative: `show-run`
Arguments JSON (replace labels with actual values). Omit optional positionals and options that are not needed.
{"options": {}, "positionals": ["SAFE_RUN_ID"], "stdin": null}
Required options: []; positional arity: 1..1; stdin: forbidden
- `milestone-logging._rtx.interface.show-session` — Render one exact session and retained typed metadata; optional slow adds annotations only.
- Caller: `milestone-logging`
- Version: 1
- Security level: 0
- Alternative: `show-session`
Arguments JSON (replace labels with actual values). Omit optional positionals and options that are not needed.
{"options": {"--slow": "POSITIVE_DECIMAL_SECONDS"}, "positionals": ["SESSION"], "stdin": null}
Required options: []; positional arity: 1..1; stdin: forbidden
<!-- END BLUEPRINT INTERFACES -->
Skill: milestone-logging
Use `record-progress` before the first substantive action and before each distinct work item; use `record-completion` at completion. Both require `--role`. Progress names the work starting now and optionally how the preceding piece ended; completion takes one closing result.
Tool calls and Dispatcher timing are recorded mechanically. Record semantic intent, decisions, blockers, and outcomes only; never log a milestone merely to announce or recap a tool call.
If one recording invocation fails, report that exact failure once and continue the task; do not invent a record or retry blindly.
To report the current session path, invoke `session-path`; for a durable run path, invoke `run-path` with its ID. Neither path interface appends.
Typed fields are always retained in the session record. Add `--run ID` only when work must outlive the session; it adds run/session/agent identity and an identical run-journal mirror without changing other field effects.
For diagnostics, select exactly one explicit interface: `list-sessions`, `show-latest-session`, `show-session`, `show-run`, or `read-run-json`. Omit `--slow` for no annotations; a positive finite threshold adds annotations only.