Skip to content

refactor(myra)!: thin system prompt; config in sibling modules (CL-8380) - #839

Merged
TheGreatAxios merged 2 commits into
mainfrom
cl-8380-myra-thin-prompt
Sep 18, 2026
Merged

TheGreatAxios merged 2 commits into
mainfrom
cl-8380-myra-thin-prompt

Conversation

@TheGreatAxios

Copy link
Copy Markdown
Contributor

Summary

  • agents/myra/src/system-prompt.ts now exports exactly one thing, the prompt string: 29 lines total (was 235), ~22 lines of prose (was ~85). It covers identity, who Myra works for, and how she behaves (concise, asks before external/hard-to-undo effects, uses memory) — no tool listings.
  • Confirmed in vendor/intx/agent/src/agent.ts (resolveTools/resolveDirector) that Interchange passes toolDefinitions to the director alongside systemPrompt independently of the prompt text — tools never need restating in the prompt.
  • Moved ASSISTANT_WORKFLOW_ID/ASSISTANT_STEP_ID to agents/myra/src/workflow-ids.ts and ASSISTANT_TOOL_PACKAGE_PINS to agents/myra/src/tool-packages.ts. index.ts imports from both; package.json gains ./tool-packages and ./workflow-ids export subpaths (browser-safe, same as ./prompt).
  • Updated apps/web/src/myra-deploy.ts's imports to the new subpaths.
  • No test changes needed: agents/myra/test/*.test.ts reference the exported constants, not literal prompt text, so they pass unchanged against the new prompt.

Cut behavioral guidance — skill candidates

This repo has no static, committed SKILL.md files anywhere (verified: skills are per-tenant, git-backed runtime assets created through @corbits/skills' registry/tools, not files in this repo — confirmed no seed/bootstrap path plants one, including the writing-system-prompts skill the old prompt already referenced by name). So the situational guidance cut from the prompt is listed here as follow-up skill candidates rather than committed as files:

  1. Ask-user for enumerable choices — "When interviewing someone with a small set of enumerable options (2-6), use ask_user to show it as an interactive card instead of writing the options out as prose."
  2. Delegation triage — deciding when to answer directly vs. create/hand off to a specialist agent, @mentioning teammates, summarizing delegated results back to the sender, and staying out of threads @-mentioning someone else.
  3. Outcome-to-team discovery — turning a stated outcome into a small proposed specialist team: check list_agents before creating a duplicate, ask only the few facts that can't be inferred, then build (agents, grants, routines) in one pass and report back.
  4. Proactive-teammate offers — noticing a useful next step (a missing connection, a recurring ask worth a routine, a skill worth saving) and offering it once, without turning into an onboarding checklist.
  5. MCP tool discovery — using mcp_list_servers/mcp_list_tools/mcp_read/mcp_call rather than guessing a connected server's tool names or arguments.

Test plan

  • cd agents/myra && bun run typecheck && bun test — 11 pass
  • cd apps/web && bun run typecheck — clean
  • bun run check at repo root — typecheck, lint, fmt:check, test all green (1754 pass, 0 fail)

@linear-code

linear-code Bot commented Sep 18, 2026

Copy link
Copy Markdown

CL-8380

Myra's system prompt restated tools that Interchange already appends
to the model context (vendor/intx/agent's resolveTools/resolveDirector
pass toolDefinitions alongside systemPrompt) and ran ~85 lines of
behavioral prose. Cut it to identity, who it works for, and how it
behaves — everything else moved to sibling modules or is a candidate
skill listed in the PR body.

- system-prompt.ts: one export, the prompt string, ~22 lines of prose
- workflow-ids.ts: ASSISTANT_WORKFLOW_ID / ASSISTANT_STEP_ID
- tool-packages.ts: ASSISTANT_TOOL_PACKAGE_PINS
- package.json exports ./tool-packages and ./workflow-ids subpaths
- apps/web/src/myra-deploy.ts imports from the new subpaths
@TheGreatAxios
TheGreatAxios force-pushed the cl-8380-myra-thin-prompt branch from d523db3 to 3f294af Compare September 18, 2026 01:08
@TheGreatAxios
TheGreatAxios merged commit 75d846b into main Sep 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant