Skip to main content

Module skill

Module skill 

Source
Expand description

v0.7.0 Cluster E API-2 (issue #767) — ai-memory skill <subcommand> CLI surface.

Closes the CLI/HTTP parity gap surfaced by the v0.7.0 6-reviewer audit: the L1-5 Agent Skills substrate landed with seven MCP tools (memory_skill_*) but zero CLI subcommands and zero HTTP routes, so HTTP-daemon operators and shell-driven workflows could not interact with skills at all. This module adds the CLI surface; the matching HTTP routes live in src/handlers/http.rs.

Each subcommand delegates to the same substrate handler the MCP dispatch already uses (re-exported as crate::mcp::handle_skill_*). No business logic is re-implemented here — the CLI is a clap-shaped thin client over the existing handlers, so MCP / CLI / HTTP share a single source of truth for skill semantics.

Verb mapping (CLI → MCP tool name):

  • ai-memory skill registermemory_skill_register
  • ai-memory skill listmemory_skill_list
  • ai-memory skill getmemory_skill_get
  • ai-memory skill resourcememory_skill_resource
  • ai-memory skill exportmemory_skill_export
  • ai-memory skill promotememory_skill_promote_from_reflection
  • ai-memory skill composememory_skill_compositional_context

All seven mirror the MCP tool surface 1:1. No new MCP tools land here — the MCP surface stays at whatever Profile::full().expected_tool_count() reports (canonical SSOT in src/profile.rs; pinned by profile_full_matches_registry_all).

Structs§

ComposeArgs
ai-memory skill compose
ExportArgs
ai-memory skill export
GetArgs
ai-memory skill get
ListArgs
ai-memory skill list
PromoteArgs
ai-memory skill promote
RegisterArgs
ai-memory skill register — accepts EITHER --manifest <folder-or-file> OR --inline <text>.
ResourceArgs
ai-memory skill resource
SkillArgs
Top-level ai-memory skill <subcommand> argument struct.

Enums§

SkillAction
ai-memory skill ... sub-subcommands. One per MCP memory_skill_* tool so the CLI surface is parity-checkable by name.

Functions§

run
Dispatch entry-point called from daemon_runtime::run.