Skip to content

v3.3.0

Latest

Choose a tag to compare

@github-actions github-actions released this 29 Aug 07:25

Added

  • Hermes/OpenClaw adapter — first-class support for the Hermes Agent desktop app and OpenClaw framework. 68 modules emit native ~/.hermes/skills/100xprism/<slug>/SKILL.md config with a strict ≤57-char description budget (enforced by hermes_description() guard, with frontmatter override). Auto-detected on install/update, never touches machines without Hermes. Mirrors the Claude Code adapter's reconciliation pattern: manifest-guarded add/update/prune, PRISM_SKILLS/slim support, resolver catalog for on-demand loading, user-skill isolation (only 100xprism/ category managed). New 100xprism hermes CLI subcommand for manual sync.

Changed

  • AGENTS.md / README.md updated: module must now work across all 5 adapters (Claude Code · Cursor · Codex · Pi · Hermes/OpenClaw).
  • Documentation site (gh-pages): title/meta/JSON-LD/FAQ/emit-support table all list Hermes/OpenClaw as the 5th supported tool; token-observability table honestly marked "not yet supported" for Hermes.

Added

  • 100xprism pack — external skill packs, ownership-tracked install/remove/sync for Claude Code, with a pack registry, schema validation, and a detection engine (Databricks is the first pack). Prefers the upstream vendor CLI where one exists and falls back to per-platform installers otherwise. Pack sync and detection are wired into install, update, and uninstall. (#103)
  • Lean cross-tool token observability. Lean must-have defaults with on-demand resolver routing across Claude Code, Cursor, Codex, and Pi; honest cross-tool token reporting with exact / best-effort / activity-only measurement labels instead of a single unqualified number. (#104)
  • audit and optimize subcommands, context-footprint budgets, and managed-only cleanup for plugins and hooks. (#104)
  • Pi package support, cache accounting, independent reviewer enforcement, and fail-closed security hooks. (#104)

Fixed

  • Ownership state is tracked as an obligation set, not a ranked status. A pack's installed components (commands, plugins, platform artifacts) are independent obligations — each can be owned, partially owned, or already removed — rather than a single linear status that could silently regress or resurrect completed removals. Removal is now driven from ownership, not from a status label, so uninstall never discards removal state or re-issues a command that was already cleaned up. (#103)
  • Nested owned shapes (owned.plugins, per-platform values) are validated on both the JS (uninstall.js) and Python (packs.py) removal paths, including sparse/legacy state written by older installs. (#103)
  • Obligations render as human-readable text in user-facing output instead of a raw Python list repr. (#103)

Install / upgrade:

# New install
bash -c "$(curl -fsSL https://raw.githubusercontent.com/rajitsaha/100xprism/main/install.sh)"

# Existing users
~/100xprism/update.sh