Build the os-me Shell: predict and respond skills, invocation log hook #938

Closed
opened 2026-10-04 20:15:05 +00:00 by jared · 2 comments
Owner

Problem

The os-me plugin requires foundational infrastructure before the skill can execute.

Question

What is the smallest Shell that lets /os-me:predict and /os-me:respond run from any repository and hand control to the Store?

Context

Map: #936

Build plugins/os-me/ in cc-os:

  • Two skills, user-invocable and model-invocable. Each is thin: it states the guardrails from the map, then tells the agent to read the Store's entry file and follow it. predict returns a labeled Prediction. respond returns the response for the agent to act on.
  • Context: the skill's work must stay out of the main context, and the skill must see enough of the conversation. A context: fork skill does not see the conversation. Try these two and keep the one that works: (a) the skill body tells the caller to dispatch an Agent with subagent_type: fork, which inherits the conversation; (b) a fresh agent that gets a short brief plus the session transcript path. Record the choice and the reason in the implementation-status leaf.
  • Hook: PreToolUse on the Skill tool and UserPromptExpansion for the slash command. It appends the session id and transcript path to a queue file in the Store. It does nothing else.
  • Access: one settings entry (additionalDirectories or Read/Edit rules) so the skill works in the Store without prompts. Check how the os-vault skills get access to the vault and do the same.
  • Register the plugin, run bin/refresh-plugins, add the registry line and the implementation-status leaf.

AFK.

## Problem The os-me plugin requires foundational infrastructure before the skill can execute. ## Question What is the smallest Shell that lets `/os-me:predict` and `/os-me:respond` run from any repository and hand control to the Store? ## Context Map: #936 Build `plugins/os-me/` in `cc-os`: - Two skills, user-invocable and model-invocable. Each is thin: it states the guardrails from the map, then tells the agent to read the Store's entry file and follow it. `predict` returns a labeled Prediction. `respond` returns the response for the agent to act on. - Context: the skill's work must stay out of the main context, and the skill must see enough of the conversation. A `context: fork` skill does not see the conversation. Try these two and keep the one that works: (a) the skill body tells the caller to dispatch an Agent with `subagent_type: fork`, which inherits the conversation; (b) a fresh agent that gets a short brief plus the session transcript path. Record the choice and the reason in the implementation-status leaf. - Hook: `PreToolUse` on the `Skill` tool and `UserPromptExpansion` for the slash command. It appends the session id and transcript path to a queue file in the Store. It does nothing else. - Access: one settings entry (`additionalDirectories` or `Read`/`Edit` rules) so the skill works in the Store without prompts. Check how the `os-vault` skills get access to the vault and do the same. - Register the plugin, run `bin/refresh-plugins`, add the registry line and the implementation-status leaf. AFK.
Author
Owner

Started the Shell build on branch os-me (worktree .claude/worktrees/os-me). Ticket #938, map #936.

Started the Shell build on branch `os-me` (worktree .claude/worktrees/os-me). Ticket #938, map #936.
Author
Owner

Resolution

Done: plugins/os-me Shell built and registered: /os-me:predict (user and model invocable) and /os-me:respond (user only), invocation-log hook on PreToolUse(Skill) and UserPromptExpansion, marketplace entry, status leaf. Context mechanism: fork agent first, general-purpose agent with a brief and transcript path as fallback.

Evidence: main 5e3ffbc5; hook tests 5 runs 0 failures; rubocop clean; bin/refresh-plugins lists os-me REFRESHED; two headless invocations loaded the skill and the hook wrote one queue line each.

Follow-ups: none; open points for Jared are listed on #942

## Resolution **Done:** plugins/os-me Shell built and registered: /os-me:predict (user and model invocable) and /os-me:respond (user only), invocation-log hook on PreToolUse(Skill) and UserPromptExpansion, marketplace entry, status leaf. Context mechanism: fork agent first, general-purpose agent with a brief and transcript path as fallback. **Evidence:** main 5e3ffbc5; hook tests 5 runs 0 failures; rubocop clean; bin/refresh-plugins lists os-me REFRESHED; two headless invocations loaded the skill and the hook wrote one queue line each. **Follow-ups:** none; open points for Jared are listed on #942
jared closed this issue 2026-10-04 20:59:18 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
jared/cc-os#938
No description provided.