@rubytech/create-realagent-code 0.1.146 → 0.1.147

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rubytech/create-realagent-code",
3
- "version": "0.1.146",
3
+ "version": "0.1.147",
4
4
  "description": "Install Real Agent — Built for agents. By agents.",
5
5
  "bin": {
6
6
  "create-realagent-code": "./dist/index.js"
@@ -129,7 +129,6 @@ Tools are available via the `admin` MCP server.
129
129
  | Plain-English explanation | User asks to explain, define, or pre-empts ("explain in plain English", "what does X mean", "define X", "I don't understand", "what is this"), or admin is about to return a reply containing a term not in the operator's prior turn | `skills/plainly/SKILL.md` |
130
130
  | Manage admin users | User asks to add, remove, or list admins on this account, or change an admin PIN | `skills/admin-user-management/SKILL.md` |
131
131
  | Session reset / continue / resume | User asks to clear the session, start fresh, continue the last session, or pick up where they left off | `skills/session-management/SKILL.md` |
132
- | Commitment follow-through | A `<commitment-detected>` block appears in the prompt; the owner has just made a commitment that needs a backing mechanism | `skills/commitment-followthrough/SKILL.md` |
133
132
  | Show or download a file | User asks to view, attach, or download a file or document, or the current turn produces a document the owner needs to review | `skills/file-presentation/SKILL.md` |
134
133
  | Upgrade Maxy | User asks to upgrade, update, install the latest version, or accepts an upgrade offer | `skills/upgrade/SKILL.md` |
135
134
 
@@ -294,7 +294,7 @@ write_transcript "$T_RELEASE" \
294
294
  "assistant|hello|" \
295
295
  "user|/end|" \
296
296
  "assistant|running retrospective|" \
297
- "assistant||tool_use:session-retrospective-mark-complete"
297
+ "assistant||tool_use:mcp__admin__session-retrospective-mark-complete"
298
298
  ENV_REL=$(envelope_for "$OP_ID" "$T_RELEASE")
299
299
  : > "$REQ_LOG"
300
300
  run_hook "admin" "" "$ENV_REL"
@@ -325,7 +325,7 @@ fi
325
325
  T_OTHER=$(mktemp); TMPFILES+=("$T_OTHER")
326
326
  write_transcript "$T_OTHER" \
327
327
  "user|/end|" \
328
- "assistant||tool_use:session-retrospective-mark-complete"
328
+ "assistant||tool_use:mcp__admin__session-retrospective-mark-complete"
329
329
  # Active gate inspects only T_ACTIVE (no sentinel inside).
330
330
  T_ACTIVE=$(mktemp); TMPFILES+=("$T_ACTIVE")
331
331
  write_transcript "$T_ACTIVE" "user|/end|"
@@ -20,7 +20,10 @@
20
20
  #
21
21
  # Sentinel detection. Completion is recognised by greping the operator's
22
22
  # own JSONL (transcript_path on the Stop envelope) for a `tool_use` block
23
- # whose `name` is exactly `session-retrospective-mark-complete`. The
23
+ # whose `name` is exactly `mcp__admin__session-retrospective-mark-complete`
24
+ # — that is the prefixed form Claude Code writes for MCP tools in the
25
+ # JSONL; the unprefixed name only appears in the operator-facing
26
+ # instruction text below. The
24
27
  # sentinel-grep doubles as the re-entry guard: every Stop that fires after
25
28
  # the agent's sentinel call sees the sentinel and exits 0 with
26
29
  # `gate-released`, so the agent's wrap-up turn never re-blocks.
@@ -128,12 +131,12 @@ fi
128
131
  # 1. The latest end-intent token in the most recent real-user message,
129
132
  # or empty if no real user message matches.
130
133
  # 2. Whether any `tool_use` block in the transcript names the sentinel
131
- # tool `session-retrospective-mark-complete`.
134
+ # tool `mcp__admin__session-retrospective-mark-complete`.
132
135
  # Output one line: <intent-token-or-empty>\t<sentinel-present-yes|no>
133
136
  INSPECTION=$(TRANSCRIPT_PATH="$TRANSCRIPT_PATH" python3 - <<'PY'
134
137
  import os, json
135
138
 
136
- SENTINEL_TOOL = "session-retrospective-mark-complete"
139
+ SENTINEL_TOOL = "mcp__admin__session-retrospective-mark-complete"
137
140
  INTENT_TOKENS = ("/end", "/archive", "end session", "archive this session")
138
141
 
139
142
  def is_real_user(rec):
@@ -71,7 +71,7 @@ When you receive a turn beginning with `[system: <name>-stop-hook]`:
71
71
  2. Execute that single `Task` dispatch. Do not paraphrase the prompt, do not respond conversationally, do not ask the operator for clarification, do not surface the dispatch in chat.
72
72
  3. When the subagent returns its one-line summary, emit a single space character and stop. The Stop hook's next fire will inspect the transcript, see the dispatch you just performed, and allow the stop.
73
73
 
74
- These directives are never operator-driven. The `database-operator` specialist in particular, when dispatched via `post-turn-graph-pass.sh` (Task 412), runs as a background graph pass that the operator does not see; the dispatch prompt carries `<conversation>` and `<prior-writes>` blocks and you must forward both verbatim.
74
+ These directives are never operator-driven. The `database-operator` specialist in particular, when dispatched via `post-turn-graph-pass.sh` (Task 412), runs as a background graph pass that the operator does not see; the dispatch prompt carries the conversation and prior-writes blocks and you must forward both verbatim.
75
75
 
76
76
  ## SOUL.md
77
77
 
@@ -1,60 +0,0 @@
1
- ---
2
- name: commitment-followthrough
3
- description: "Handles the platform-detected commitment signal: offers to track or automate the commitment, waits for owner confirmation, then picks the right backing mechanism (scheduled event, task, or workflow). Loads when the system prompt contains a `<commitment-detected>` block."
4
- ---
5
-
6
- # Commitment follow-through
7
-
8
- This skill activates when the platform identifies that the owner has just made a commitment: something they said they would do. The skill's job is to offer the right backing mechanism, wait for the owner's confirmation, then create it. Without a backing mechanism, a commitment is a broken promise; with one, the agent can hold the owner to their word.
9
-
10
- ## The trigger
11
-
12
- A `<commitment-detected>` block appears in the system prompt. The block names what the platform classifier extracted: the commitment text, the suggested mechanism (scheduled event, task, or workflow), and any time, recipient, or topic the classifier inferred.
13
-
14
- ## How to offer
15
-
16
- Surface a brief, conversational offer. Name the commitment, name the suggested mechanism, and ask the owner to confirm, modify, or dismiss. One or two sentences. Not a form. Not a list of options. Examples:
17
-
18
- - "I'll set a reminder for Tuesday morning to chase the Acme invoice. Confirm?"
19
- - "Want me to create a task for the photo brief so it doesn't slip?"
20
- - "Shall I schedule the weekly check-in with Daniel on Mondays at 9?"
21
-
22
- ## Never act without confirmation
23
-
24
- The owner must say "yes" or give specifics before any tool call. If they dismiss ("no thanks", "I'll handle it"), acknowledge briefly and continue with whatever they were discussing. Do not re-offer for the same commitment.
25
-
26
- If they modify ("make it next Monday instead"), incorporate the changes and confirm before creating.
27
-
28
- ## The two-rule discipline
29
-
30
- This skill is the operator's side of the two-rule contract on commitments.
31
-
32
- 1. **You never state a future commitment** ("I'll flag", "I'll check", "I'll remind") **without immediately creating the mechanism to fulfil it.** A commitment without a backing mechanism is a broken promise.
33
- 2. **When the owner makes a commitment, offer to back it with a mechanism**, but do not create it without confirmation.
34
-
35
- Rule 1 is yours; rule 2 is this skill's job.
36
-
37
- ## Picking the mechanism
38
-
39
- Use the most appropriate tool:
40
-
41
- - `schedule-event` for time-bound reminders (every Monday, on Tuesday, by Friday).
42
- - `work-create` for open-ended obligations (chase X, finish Y, prepare Z).
43
- - `workflow-create` for multi-step processes that recur (monthly close-out, new-instruction onboarding).
44
-
45
- ## Verify executor capabilities before promising a workflow
46
-
47
- Before committing to build a workflow, check that every step maps to a capability the executor actually has. Tool steps need the named plugin and tool to exist. Agentic LLM steps (steps that browse, click, fill forms, or interact with external systems) need the relevant MCP server command available in `PATH`. If a step requires a capability that does not exist, say so upfront: do not promise a workflow you cannot build. The owner can either narrow the scope or wait for the capability to ship.
48
-
49
- ## After creation
50
-
51
- Tell the owner what was created (task ID, scheduled event time, workflow name) so they have something they can reference, modify, or cancel later. Then resume the conversation.
52
-
53
- ## Failure modes
54
-
55
- - **`<commitment-detected>` block names a mechanism that does not exist** (e.g. `workflow-create` while workflows are not enabled on this account). Surface the gap and offer the next-best mechanism.
56
- - **Owner approves but the create tool fails.** Surface the error literally. Do not silently substitute a different mechanism.
57
-
58
- ## What this skill does not do
59
-
60
- It does not detect commitments itself; the platform does that and injects the block. It does not act on the owner's behalf without explicit confirmation. It does not create mechanisms for commitments the owner did not actually make; if the platform's classification looks wrong, ignore the block and continue.