@rubytech/create-realagent 1.0.842 → 1.0.843

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.
@@ -77,37 +77,36 @@ Using the lean pattern from `references/lean-pattern.md`, compose:
77
77
 
78
78
  Show the user the complete SKILL.md content and each reference file. Ask them to review.
79
79
 
80
- ## Step 7: Save to Memory
80
+ ## Step 7: Save the Skill as a Plugin File
81
81
 
82
- Use `memory-write` to save the composed skill to the knowledge graph:
82
+ Use `store-skill` to write the composed skill to disk as part of an admin-managed plugin. The tool computes the path internally — supply the names and content only.
83
+
84
+ Pick a `pluginName` that groups related operator-authored skills (e.g. `beacons-skills`, `my-utils`). Reuse the same `pluginName` across calls so the skill joins existing operator skills under one plugin. If this is the first skill in a new plugin, the tool creates the `PLUGIN.md` automatically.
83
85
 
84
86
  ```
85
- memory-write({
86
- labels: ["CreativeWork"],
87
- properties: {
88
- title: "Skill: {name}",
89
- abstract: "{full SKILL.md content including frontmatter}"
90
- }
87
+ store-skill({
88
+ pluginName: "{kebab-case plugin name}",
89
+ skillName: "{kebab-case skill name}",
90
+ description: "{the one-sentence description from Step 1}",
91
+ publicEmbed: false,
92
+ body: "{SKILL.md body content WITHOUT frontmatter — activation conditions, behaviour rules, references index}",
93
+ references: [
94
+ { filename: "{kebab-case-name}.md", content: "{full reference body}" }
95
+ ]
91
96
  })
92
97
  ```
93
98
 
94
- If the skill has reference files, save each as a separate `CreativeWork` node:
99
+ Set `publicEmbed: true` only when the user wants this skill surfaced to the public agent. Default to `false` for admin-only skills.
95
100
 
96
- ```
97
- memory-write({
98
- labels: ["CreativeWork"],
99
- properties: {
100
- title: "Skill Reference: {name}/{filename}",
101
- abstract: "{full reference file content}"
102
- }
103
- })
104
- ```
101
+ `references` is optional — pass `[]` (or omit) when the skill has no detailed procedures or templates.
105
102
 
106
103
  ## Step 8: Confirm
107
104
 
108
105
  Tell the user:
109
106
 
110
- > "Your skill has been saved to memory. I can recall it when the situation matches. You can update it at any timejust ask me to edit the skill."
107
+ > "Your skill is saved on disk as part of the `{pluginName}` plugin and is active right now for the admin agent. I can use it when the situation matches. To edit it later, ask me to update the skill I'll re-run `store-skill` with the new content."
108
+
109
+ If `publicEmbed: true`, add: "It will surface in the public agent on the next session start."
111
110
 
112
111
  ---
113
112
 
@@ -90,6 +90,16 @@ Tell {{productName}}:
90
90
 
91
91
  Ask {{productName}}: "What plugins do I have?" or "List my plugins."
92
92
 
93
+ ## Operator-Authored Plugins (skill-builder output)
94
+
95
+ Skills you create at runtime through the admin `skill-builder` skill are saved on disk as their own plugin under `data/accounts/{accountId}/plugins/{pluginName}/`. The admin agent calls `mcp__admin__store-skill`, which composes `PLUGIN.md` (on first call) and `skills/{skillName}/SKILL.md` plus any reference files. The agent supplies `pluginName`, `skillName`, `description`, `publicEmbed`, `body`, and optional references — the path is computed by the tool, never by the agent.
96
+
97
+ These operator-authored plugins survive reinstall because the installer's wipe zone excludes `data/`. At admin session start the platform mirrors `data/accounts/{accountId}/plugins/*` into the runtime plugins directory so the same `parsePluginFrontmatter` / `assemblePublicPluginContent` / `loadEmbeddedPlugins` loaders that read shipped and premium plugins also pick up operator-authored ones — no special-case loader path. The admin agent sees every operator skill by default; per-skill `publicEmbed: true|false` controls which skills surface to the public agent.
98
+
99
+ To edit an operator-authored skill later, ask {{productName}} to update it — the admin agent re-runs `store-skill` for the same `pluginName`/`skillName` and the new content overwrites in place. To remove one, delete the directory under `data/accounts/{accountId}/plugins/{pluginName}/skills/{skillName}/` (or the whole plugin) — the next session start re-mirrors the remaining skills only.
100
+
101
+ `pluginName` collisions with shipped plugin names are refused by `store-skill` with a structured error. See [.docs/agents.md](../../../../.docs/agents.md) § "Operator-authored skills as plugin files" for the full contract.
102
+
93
103
  ## Brand Templating (for plugin and skill authors)
94
104
 
95
105
  Skill content, plugin manifests, agent templates, and reference files reference the operator-visible brand name only via the literal `{{productName}}` placeholder. The platform substitutes from `brand.json.productName` at read time — Maxy installs render `Maxy`, Real Agent installs render `Real Agent`, all from the same source content.