@rubytech/create-maxy-code 0.1.326 → 0.1.327

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-maxy-code",
3
- "version": "0.1.326",
3
+ "version": "0.1.327",
4
4
  "description": "Install Maxy — AI for Productive People",
5
5
  "bin": {
6
6
  "create-maxy-code": "./dist/index.js"
@@ -27,8 +27,15 @@ describe("isAdminSeat", () => {
27
27
  });
28
28
  });
29
29
  describe("CONTENT_PRODUCER_AUTHORING_SKILLS", () => {
30
- it("is exactly the three content-producer-invoked authoring/render/publish skills", () => {
31
- expect([...CONTENT_PRODUCER_AUTHORING_SKILLS].sort()).toEqual(["a4-print-documents", "professional-document", "publish-site"].sort());
30
+ it("is the render/publish authoring skills plus the consulting prose deliverables", () => {
31
+ expect([...CONTENT_PRODUCER_AUTHORING_SKILLS].sort()).toEqual([
32
+ "a4-print-documents",
33
+ "decision-memo",
34
+ "narrative-builder",
35
+ "pitch-deck",
36
+ "professional-document",
37
+ "publish-site",
38
+ ].sort());
32
39
  });
33
40
  it("excludes admin-invoked skills (unzip-attachment, deck-pages)", () => {
34
41
  // unzip-attachment SKILL.md: "Invoked by the admin agent directly".
@@ -1 +1 @@
1
- {"version":3,"file":"admin-authoring-skill-gate.test.js","sourceRoot":"","sources":["../../src/__tests__/admin-authoring-skill-gate.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admin-authoring-skill-gate.test.js","sourceRoot":"","sources":["../../src/__tests__/admin-authoring-skill-gate.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare const CONTENT_PRODUCER_AUTHORING_SKILL_SLUGS: readonly ["professional-document", "a4-print-documents", "publish-site"];
1
+ export declare const CONTENT_PRODUCER_AUTHORING_SKILL_SLUGS: readonly ["professional-document", "a4-print-documents", "publish-site", "decision-memo", "narrative-builder", "pitch-deck"];
2
2
  //# sourceMappingURL=content-producer-authoring-skills.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"content-producer-authoring-skills.d.ts","sourceRoot":"","sources":["../src/content-producer-authoring-skills.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,sCAAsC,0EAIzC,CAAC"}
1
+ {"version":3,"file":"content-producer-authoring-skills.d.ts","sourceRoot":"","sources":["../src/content-producer-authoring-skills.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,sCAAsC,8HAOzC,CAAC"}
@@ -5,15 +5,25 @@
5
5
  // per line and do not reformat to multi-slug lines without updating that parser
6
6
  // (platform/scripts/lib/admin-skills-bootstrap.sh).
7
7
  //
8
- // These three skills are content-producer-owned: the admin seat must dispatch
8
+ // These skills are content-producer-owned: the admin seat must dispatch
9
9
  // content-producer (Agent tool, subagent_type content-producer) rather than
10
10
  // load or author them from its own seat. Each carries the same membership in
11
11
  // its SKILL.md "Invoked from specialists:content-producer" declaration, so the
12
12
  // generator's declaration scan already excludes them; this list is the gate's
13
13
  // compiled-in guard against a declaration regression.
14
+ //
15
+ // The first three are the original render/publish/print authoring skills. The
16
+ // last three are the management-consulting prose deliverables: their output is
17
+ // finished external-facing prose, so they compose on content-producer (the
18
+ // authoring seat, which carries plainly + prose-craft + voice-retrieve-
19
+ // conditioning). The 19 management-consulting analysis-framework skills stay
20
+ // admin-run and are not listed here.
14
21
  export const CONTENT_PRODUCER_AUTHORING_SKILL_SLUGS = [
15
22
  "professional-document",
16
23
  "a4-print-documents",
17
24
  "publish-site",
25
+ "decision-memo",
26
+ "narrative-builder",
27
+ "pitch-deck",
18
28
  ];
19
29
  //# sourceMappingURL=content-producer-authoring-skills.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"content-producer-authoring-skills.js","sourceRoot":"","sources":["../src/content-producer-authoring-skills.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,gFAAgF;AAChF,+EAA+E;AAC/E,8EAA8E;AAC9E,gFAAgF;AAChF,oDAAoD;AACpD,EAAE;AACF,8EAA8E;AAC9E,4EAA4E;AAC5E,6EAA6E;AAC7E,+EAA+E;AAC/E,8EAA8E;AAC9E,sDAAsD;AACtD,MAAM,CAAC,MAAM,sCAAsC,GAAG;IACpD,uBAAuB;IACvB,oBAAoB;IACpB,cAAc;CACN,CAAC"}
1
+ {"version":3,"file":"content-producer-authoring-skills.js","sourceRoot":"","sources":["../src/content-producer-authoring-skills.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,gFAAgF;AAChF,+EAA+E;AAC/E,8EAA8E;AAC9E,gFAAgF;AAChF,oDAAoD;AACpD,EAAE;AACF,wEAAwE;AACxE,4EAA4E;AAC5E,6EAA6E;AAC7E,+EAA+E;AAC/E,8EAA8E;AAC9E,sDAAsD;AACtD,EAAE;AACF,8EAA8E;AAC9E,+EAA+E;AAC/E,2EAA2E;AAC3E,wEAAwE;AACxE,6EAA6E;AAC7E,qCAAqC;AACrC,MAAM,CAAC,MAAM,sCAAsC,GAAG;IACpD,uBAAuB;IACvB,oBAAoB;IACpB,cAAc;IACd,eAAe;IACf,mBAAmB;IACnB,YAAY;CACJ,CAAC"}
@@ -3,7 +3,7 @@ name: content-producer
3
3
  description: "Author professional business documents (proposal, report, brief, memo, plan, case study, brochure), render PDFs, generate images, and publish static websites. Delegate when the operator asks for a written document, a PDF render, a generated image, or to publish a prepared website."
4
4
  summary: "Produces visual output from your graph: generates images, renders pages to PDF, and hosts static websites you upload as a zip."
5
5
  model: claude-opus-4-8[1m]
6
- tools: Bash, Read, Edit, Write, MultiEdit, Skill, mcp__plugin_memory_memory__memory-search, mcp__plugin_replicate_replicate__image-generate, mcp__plugin_browser_browser__browser-render, mcp__plugin_browser_browser__browser-navigate, mcp__plugin_browser_browser__browser-evaluate, mcp__plugin_browser_browser__browser-resize, mcp__plugin_browser_browser__browser-screenshot, mcp__plugin_browser_browser__browser-pdf-save, mcp__plugin_admin_admin__plugin-read, mcp__plugin_admin_admin__public-hostname, mcp__plugin_admin_admin__publish-site
6
+ tools: Bash, Read, Edit, Write, MultiEdit, Skill, mcp__plugin_memory_memory__memory-search, mcp__plugin_writer-craft_writer-craft__voice-retrieve-conditioning, mcp__plugin_replicate_replicate__image-generate, mcp__plugin_browser_browser__browser-render, mcp__plugin_browser_browser__browser-navigate, mcp__plugin_browser_browser__browser-evaluate, mcp__plugin_browser_browser__browser-resize, mcp__plugin_browser_browser__browser-screenshot, mcp__plugin_browser_browser__browser-pdf-save, mcp__plugin_admin_admin__plugin-read, mcp__plugin_admin_admin__public-hostname, mcp__plugin_admin_admin__publish-site
7
7
  ---
8
8
 
9
9
  # Content Producer
@@ -67,6 +67,8 @@ The method is McKinsey-inspired in the public sense of the term — crisp framin
67
67
  | `decision-memo` | An executive needs a clear written recommendation, not a deck |
68
68
  | `pitch-deck` | The engagement needs a deck: a new-business or credentials pitch, a client findings or recommendation deck, or a thought-leadership deck — each in the operator's own voice |
69
69
 
70
+ `decision-memo`, `narrative-builder`, and `pitch-deck` produce finished external-facing prose, so they are composed by `specialists:content-producer` (the authoring seat, which carries `plainly`, `prose-craft`, and `voice-retrieve-conditioning`). The admin seat delegates them from the first point rather than drafting them inline. The other skills run on the admin seat as analysis frameworks.
71
+
70
72
  ## When to Activate
71
73
 
72
74
  The user is doing client-engagement or in-house strategy work and wants to:
@@ -5,6 +5,8 @@ description: Produces concise executive decision memos with recommendation, cont
5
5
 
6
6
  # Decision Memo
7
7
 
8
+ Invoked from `specialists:content-producer`. A decision memo is finished external-facing prose, so it composes on the content-producer seat (which carries `plainly` and `voice-retrieve-conditioning`). The admin seat delegates it from the first point: the admin is refused this skill and dispatches content-producer (Agent tool, `subagent_type: content-producer`).
9
+
8
10
  ## When To Use
9
11
 
10
12
  Use this skill when the user needs a written recommendation that helps executives make a decision without a long deck.
@@ -17,6 +19,13 @@ Write answer-first. Give the decision-maker the recommendation, why it is right,
17
19
 
18
20
  A finished memo rests on a clear read of its audience, the decision in front of them, and the action required. It carries the recommendation and the strongest evidence for it, the options that were considered and why they lost, and the risks, mitigations, economics, and next steps that follow. The draft stays concise and survives a stress-test against the objections an executive will raise. The order in which you assemble these is yours to judge; what the memo must contain is not.
19
21
 
22
+ ## Prose pipeline (runs before any memo prose is drafted)
23
+
24
+ The memo goes out under the business name, so its prose runs through plain English and the house voice before the first sentence.
25
+
26
+ 1. **Plain English.** The first prose action is `skill-load skillName=plainly`. Apply it to every line: the recommendation, the options table, the body. Recursive plain English, no consulting jargon.
27
+ 2. **Voice mirror (hard gate).** Before drafting, call `voice-retrieve-conditioning` with `format: "article"`, `length: "long"`, `scope: "org"`, and `topic` set to the decision's domain. The tool emits its own `[voice-retrieve] …` line. Gate on `status`: on **`ok`**, condition every line on the returned style card and exemplars, then draft. On **`no-data` | `error`**, stop and emit no fabricated prose: tell the operator the voice is not established and offer to establish it (the voice-mirror skill) or to supply the prose for the skill to structure and plainly-polish. Emit `[decision-memo] voice-gate status=<ok|no-data|error> action=<conditioned|stopped|operator-prose>`.
28
+
20
29
  ## Output Format
21
30
 
22
31
  ```markdown
@@ -5,6 +5,8 @@ description: Builds executive strategy narratives using Pyramid Principle, SCQA,
5
5
 
6
6
  # Narrative Builder
7
7
 
8
+ Invoked from `specialists:content-producer`. An executive narrative is finished external-facing prose (headlines and storyline that go in front of a board), so it composes on the content-producer seat (which carries `plainly` and `voice-retrieve-conditioning`). The admin seat delegates it from the first point: the admin is refused this skill and dispatches content-producer (Agent tool, `subagent_type: content-producer`).
9
+
8
10
  ## When To Use
9
11
 
10
12
  Use this skill when the recommendation is mostly known but the story needs to land quickly with executives, boards, investors, or leadership teams.
@@ -22,6 +24,13 @@ Lead with the answer, structure support in a pyramid, and anticipate the questio
22
24
  5. Prepare hostile questions and answers.
23
25
  6. Produce an executive-ready narrative outline.
24
26
 
27
+ ## Prose pipeline (runs before any narrative prose is drafted)
28
+
29
+ The narrative goes out under the business name, so its headlines and body run through plain English and the house voice before the first line.
30
+
31
+ 1. **Plain English.** The first prose action is `skill-load skillName=plainly`. Apply it to every headline and the body. Recursive plain English, no consulting jargon.
32
+ 2. **Voice mirror (hard gate).** Before drafting, call `voice-retrieve-conditioning` with `format: "article"`, `length: "long"`, `scope: "org"`, and `topic` set to the recommendation's domain. The tool emits its own `[voice-retrieve] …` line. Gate on `status`: on **`ok`**, condition every headline and line on the returned style card and exemplars, then draft. On **`no-data` | `error`**, stop and emit no fabricated prose: tell the operator the voice is not established and offer to establish it (the voice-mirror skill) or to supply the prose for the skill to structure and plainly-polish. Emit `[narrative-builder] voice-gate status=<ok|no-data|error> action=<conditioned|stopped|operator-prose>`.
33
+
25
34
  ## Output Format
26
35
 
27
36
  ```markdown
@@ -24,7 +24,7 @@ Pick the mode from the brief. All three live in this one skill.
24
24
 
25
25
  ## Where this runs
26
26
 
27
- This skill composes on the **admin seat**. The voice tools it depends on are admin-allowlisted, so a specialist cannot run the voice gate. The output of this skill is a **render brief**: the composed slide content (action titles, body, charts, footnotes) plus the style card and exemplars from the voice mirror. The admin agent hands that brief to `specialists:content-producer`, which renders it through `slides:deck-system` and exports the PDF. This skill writes no renderer and runs no browser tool.
27
+ Invoked from `specialists:content-producer`. The admin seat delegates the deck from the first point: it is refused this skill and dispatches content-producer (Agent tool, `subagent_type: content-producer`). Everything then happens on the one seat. content-producer carries `voice-retrieve-conditioning`, loads `plainly`, and holds the render tools, so the method, the voice gate, the prose, and the render all run together: it calls `voice-retrieve-conditioning` directly, gates inline (below), composes the slides, and renders through `slides:deck-system`, exporting the PDF via the existing path. There is no separate render brief and no admin-seat composition.
28
28
 
29
29
  ## The method (all three modes)
30
30
 
@@ -118,7 +118,7 @@ The deck composes the outputs of the other consulting skills. Numbers come from
118
118
 
119
119
  ## Render handoff
120
120
 
121
- When `slides` is enabled, the render path is `slides:deck-system`: it carries 25 HTML components, the design tokens, the themes, and the PDF export. Hand `content-producer` the composed render brief and let it render through `deck-system`; the PDF exports via the existing path. There is no new renderer.
121
+ When `slides` is enabled, the render path is `slides:deck-system`: it carries 25 HTML components, the design tokens, the themes, and the PDF export. content-producer renders the composed slides through `deck-system` on the same seat; the PDF exports via the existing path. There is no new renderer.
122
122
 
123
123
  When `slides` is not enabled, say so and fall back to the always-present `admin:deck-pages` format spec for a slide-based PDF. Never return a blank turn because a dependency is absent.
124
124
 
@@ -17,9 +17,11 @@ The skill is built on five deterministic MCP tools served by the `writer-craft`
17
17
  | `voice-record-feedback` | When the operator edits an agent draft, write a `:VoiceEdit {originalText, editedText, intent, occurredAt, format}-[:FEEDBACK_FOR]->(:VoiceProfile {format})` node. The `intent` field is a Haiku-summarised diff. |
18
18
  | `voice-ingest-session-text` | Write operator turns from the current session as `:Message {format:'text', authorshipMode:'human-only'}` corpus nodes. The agent reads its own operator turns from context and passes them as `turns`. Deduplicates via `contentHash`. Invoked on demand when the operator asks to capture this session's voice. |
19
19
 
20
- ## Surface — admin only, never delegated
20
+ ## Surface — establishment is admin-only; conditioning is shared with the drafting seat
21
21
 
22
- All five tools are admin-allowlisted (`embed: ["admin"]`); they exist only on the admin agent's tool surface. No specialist carries them, by design `format` and `authorshipMode` are editorial choices the operator makes, so voice-mirror is an operator-interactive admin flow, not a step a specialist runs unattended.
22
+ The four **establishment** tools (`voice-tag-content`, `voice-distil-profile`, `voice-ingest-session-text`, `voice-record-feedback`) are admin-allowlisted and exist only on the admin agent's tool surface. No specialist carries them, by design: `format` and `authorshipMode` are editorial choices the operator makes, so building and curating a voice profile is an operator-interactive admin flow, not a step a specialist runs unattended.
23
+
24
+ `voice-retrieve-conditioning` is different. It is the **drafting-time** conditioning tool: a drafting skill calls it to pull the style card and exemplars and condition its prose. It is on the admin surface and is also carried by `specialists:content-producer` (the authoring seat, which holds `plainly` and `prose-craft`), so voice-conditioned drafting can run on whichever seat composes the prose. The consulting prose deliverables (`decision-memo`, `narrative-builder`, `pitch-deck`) compose on content-producer and condition there. The split that holds: the operator curates voice with the four establishment tools on the admin seat; any drafting seat only retrieves it.
23
25
 
24
26
  This matters most right after an ingest. When a specialist (the librarian) files a document and the operator then asks to tag it — "mark that as me / human-only / marketing-copy" — the tagging is yours to run, not the specialist's. The specialist cannot call `voice-tag-content` and will hand back the created node's identifier instead. Take that id and run `voice-tag-content` here. If the id is not in context (a later turn, the librarian's return scrolled off), fall back to the unknown-authorship query in the backfill flow below to find the just-filed node. Never route the tag back into a specialist; a specialist reporting "voice-tag-content is not in my tools" is the boundary working as intended, not a failure to escalate.
25
27