From d6a5ba4d5e14b04e3856439746ed2d9c7405273e Mon Sep 17 00:00:00 2001 From: Devv Date: Sat, 4 Apr 2026 15:25:14 -0700 Subject: [PATCH] fix(execenv): add explicit instruction for agents to always use multica CLI Agents were using curl/wget to access Multica attachment URLs directly, which fails due to authentication. Add a prominent "Important" section to the generated CLAUDE.md template that explicitly prohibits direct HTTP access and instructs agents to escalate missing CLI functionality to their workspace owner. --- server/internal/daemon/execenv/runtime_config.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/server/internal/daemon/execenv/runtime_config.go b/server/internal/daemon/execenv/runtime_config.go index 479a18cf..e9e8f9ce 100644 --- a/server/internal/daemon/execenv/runtime_config.go +++ b/server/internal/daemon/execenv/runtime_config.go @@ -143,6 +143,13 @@ func buildMetaSkillContent(provider string, ctx TaskContextForEnv) string { b.WriteString("This downloads the file to the current directory and prints the local path. Use `-o ` to save elsewhere.\n") b.WriteString("After downloading, you can read the file directly (e.g. view an image, read a document).\n\n") + b.WriteString("## Important: Always Use the `multica` CLI\n\n") + b.WriteString("All interactions with Multica platform resources — including issues, comments, attachments, images, files, and any other platform data — **must** go through the `multica` CLI. ") + b.WriteString("Do NOT use `curl`, `wget`, or any other HTTP client to access Multica URLs or APIs directly. ") + b.WriteString("Multica resource URLs require authenticated access that only the `multica` CLI can provide.\n\n") + b.WriteString("If you need to perform an operation that is not covered by any existing `multica` command, ") + b.WriteString("do NOT attempt to work around it. Instead, post a comment mentioning the workspace owner to request the missing functionality.\n\n") + b.WriteString("## Output\n\n") b.WriteString("Keep comments concise and natural — state the outcome, not the process.\n") b.WriteString("Good: \"Fixed the login redirect. PR: https://...\"\n")