Skip to content
Back to skills

Milestone Logging

ASecurity

Use when starting or completing substantive agent work that needs durable, role-labelled progress records and optional run recovery.

  • 4 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 2, 2026
ai-agentsapisecurity

Works with

  • api

Security analysis

A100/100

Pro scans all 12 files and shows the line behind each finding

Scanned September 20, 2026

npx -y skills add MoeenNehzati/famulus --skill milestone-logging --agent claude-code

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.

Security grade badge for Milestone Logging
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/moeennehzati-milestone-logging/badge)](https://www.skillsdirectory.com/skills/moeennehzati-milestone-logging)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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.

Files in this skill

  • SKILL.md2.8 KB
  • _rtx/__init__.py53 B
  • _rtx/_agent_timeline.py16.1 KB
  • _rtx/_milestone_interface.py1.4 KB
  • _rtx/_milestone_writer.py8 KB
  • _rtx/_timeline_interface.py1.4 KB
  • _rtx/blueprint.yaml1.6 KB
  • _rtx/blueprints/rtx-agent-timeline.yaml5.3 KB
  • _rtx/blueprints/rtx-milestone-writer.yaml7.6 KB
  • _rtx/tests/test_milestone_run_journal.py22.2 KB
  • blueprint.yaml1.4 KB
  • blueprints/gateway.yaml2.8 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.