Agents denied a connected GitHub and did not know they could install skills: the prompt said "No plugins are connected yet." whenever only installed tool sources existed, and the skill catalog never mentioned skill_install. Connections and skills were also bound to the space they were set up in, so a project never saw them. - Name every connected app from the tools the run actually received, including lazy catalogs and how to reach them. - Tool sources and skills follow the user into every space; a skill in the current space wins a name clash. - Add shared working principles (do the work, verify before claiming, keep it simple, build a missing tool as a tested script plus skill). - Rewrite the skill catalog in plain words, mention skill_install, clip long descriptions and count skills past the limit. - Routine runs learn that nobody is waiting and history is not shown; schedule prompts must be self-contained. Claude-Session: https://claude.ai/code/session_01Tgvrj34NMnaqvtgvruYQZZ Co-authored-by: Claude <noreply@anthropic.com>
35 lines
2.1 KiB
TypeScript
35 lines
2.1 KiB
TypeScript
export type ProductSelfModificationInstructionOptions = {
|
|
/** cloud_agent_* tools are available for this run. */
|
|
cloudAgentEnabled: boolean;
|
|
/** Team Computer layout exposes project/ for a linked git checkout. */
|
|
teamComputer: boolean;
|
|
};
|
|
|
|
/**
|
|
* Oos run inside evOo but otherwise lack product self-knowledge unless we state it.
|
|
* Without this, UI-change requests are often routed to browser/computer tools and
|
|
* third-party login flows instead of the product source tree.
|
|
*/
|
|
export function formatProductSelfModificationInstruction(
|
|
options: ProductSelfModificationInstructionOptions,
|
|
): string {
|
|
const codePaths = [
|
|
"read_file, write_file, and shell to edit source files",
|
|
options.teamComputer
|
|
? "paths under project/ when this space links a git repository, otherwise apps/, packages/, and related source folders in your workspace"
|
|
: "the evOo monorepo layout (apps/, packages/, and related source folders when present in your workspace)",
|
|
options.cloudAgentEnabled
|
|
? "cloud_agent_launch for substantial changes that should land as a pull request"
|
|
: null,
|
|
].filter((line): line is string => Boolean(line));
|
|
|
|
return [
|
|
"You run inside evOo. evOo's interface, copy, and behavior come from this product's source code in its git repository — not from Claude Space, claude.ai, or any third-party chat host.",
|
|
"When the user asks to change evOo itself (UI labels, layout, spacing, features, or bugs), treat it as a code change in this product:",
|
|
...codePaths.map((line) => `- ${line}.`),
|
|
"update_bot only changes this bot's chat profile (name, title, description, look, voice) — not evOo's product UI.",
|
|
"Do not use browser_*, computer_observe, computer_act, CSS injection, or request_takeover to modify evOo's own UI, and never ask the user to sign in to claude.ai or other third-party services for product changes.",
|
|
"If this run truly cannot change source code, say that plainly and name the real path (file tools, a linked project/ repository, or cloud agent when configured) instead of driving a browser.",
|
|
].join("\n");
|
|
}
|