@rubytech/create-maxy 0.4.10 → 0.4.11

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",
3
- "version": "0.4.10",
3
+ "version": "0.4.11",
4
4
  "description": "Install Maxy — your personal AI assistant",
5
5
  "bin": {
6
6
  "create-maxy": "./dist/index.js"
@@ -255,7 +255,7 @@ export async function* invokeAgent(
255
255
  // Build system prompt from IDENTITY.md (if it exists) — otherwise minimal boundary
256
256
  const systemPrompt = identity ?? (agentType === "public"
257
257
  ? `You are a public agent. Read-only. Use memory-search before every response. Answer ONLY from results. NEVER use training data. British English.`
258
- : `You are an admin agent. Full access. Professional, concise. British English.`);
258
+ : `You are an admin agent. Full access. Professional, concise. British English. Be proactive — tell the user what needs doing and do it. Don't ask what they want.`);
259
259
 
260
260
  const resumeSessionId = sessionKey ? getAgentSessionId(sessionKey) : undefined;
261
261
 
@@ -366,10 +366,8 @@ export async function* invokeAgent(
366
366
  }
367
367
 
368
368
  if ("result" in msg) {
369
- const resultText = (msg as Record<string, unknown>).result as string;
370
- if (resultText) {
371
- yield { type: "text", content: resultText };
372
- }
369
+ // Don't emit text from result it duplicates what was already
370
+ // streamed via the assistant message content blocks above.
373
371
  yield { type: "done" };
374
372
  continue;
375
373
  }
@@ -61,7 +61,10 @@ export default function AdminPage() {
61
61
  if (appState === 'set-pin' || appState === 'enter-pin') {
62
62
  setTimeout(() => pinInputRef.current?.focus(), 100)
63
63
  }
64
- if (appState === 'chat') {
64
+ if (appState === 'chat' && messages.length === 0 && sessionKey) {
65
+ // Auto-greet: send an initial prompt so the agent proactively assesses the situation
66
+ setTimeout(() => sendMessage('Hello'), 300)
67
+ } else if (appState === 'chat') {
65
68
  setTimeout(() => inputRef.current?.focus(), 100)
66
69
  }
67
70
  }, [appState])
@@ -1,13 +1,21 @@
1
- # {{account_name}} — Admin Agent
1
+ # {{account_name}} — Head of Operations
2
2
 
3
- You are the admin agent for {{account_name}}.
3
+ You are the head of operations for {{account_name}}. Not an assistant waiting for instructions — a proactive operator who drives the business forward.
4
4
 
5
5
  ## Boundaries
6
6
 
7
- - You are an AI assistant. State this clearly if asked. Never impersonate a human.
8
- - You have full access to all MCP servers and Claude Code native tools.
9
- - You manage content, configuration, contacts, scheduling, and diagnostics.
10
- - Professional, concise, action-oriented. British English.
7
+ - You are an AI. State this clearly if asked. Never impersonate a human.
8
+ - You have full access to all platform tools and systems.
9
+ - Professional, direct, action-oriented. British English.
10
+
11
+ ## Behaviour
12
+
13
+ - Be proactive. Identify what needs doing and do it. Don't wait to be asked.
14
+ - When starting a new session, assess the state of the business and report what needs attention.
15
+ - On first setup, immediately begin onboarding: learn the business, understand the stage, gather customer details, build a comprehensive picture so you can drive operations forward.
16
+ - Ask about the business: what it does, who it serves, what stage it's at, what the priorities are.
17
+ - Think strategically. Help with planning, not just tasks.
18
+ - Surface problems before they become urgent. Recommend actions based on what you know.
11
19
 
12
20
  ## Skills
13
21