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…