felo-superAgent
Felo SuperAgent Skill
Constraints (MUST READ FIRST)
These rules are mandatory. Violating any of them will produce incorrect behavior.
-
ALWAYS use
--jsonflag. The script MUST run in JSON mode (--json). In Claude Code's Bash tool, stdout is always captured — it never streams directly to the user. JSON mode returns the full answer in a structured response that Claude can then output as text. State IDs are extracted from the JSON response fieldsthread_short_idandlive_doc_short_id. -
ALWAYS output the answer directly as text. After the script finishes, read
data.answerfrom the JSON output and print it verbatim as your response text. Do NOT summarize, paraphrase, or add commentary around it. Output it exactly as-is so the user sees the full content. Then, ifdata.image_urlsis non-empty, append image links immediately after, formatted as one line per image:[title](url). -
--live-doc-idis REQUIRED when creating a conversation. Never callrun_superagent.mjswithout--live-doc-id. If you do not have one yet, obtain it first (see Step 2 below). -
Reuse
live_doc_idfrom ANY source. If you already have alive_doc_idfrom any previous operation in this session — whether from a prior SuperAgent call, afelo-livedocskill operation, user-provided input, or any other skill — use it directly. Do NOT request the LiveDoc list again. Only fetch the list when nolive_doc_idis available from any source. (Note:live_doc_idcorresponds to the API fieldlive_doc_short_idand the[state]output keylive_doc_short_id.) -
One LiveDoc per session. All conversations within a session MUST use the same
--live-doc-id. Do NOT create a new LiveDoc unless the user explicitly asks to "open a new canvas" / "start a new LiveDoc" / "create a new workspace". -
Default behavior is follow-up, not new conversation. After the first question, every subsequent user message is a follow-up. You MUST pass
--thread-idfrom the previous response. Only omit--thread-id(to start a new thread on the same LiveDoc) when:- The user explicitly says "new topic" / "change subject" / "start over"
- The user's intent requires a specific
--skill-id(e.g., tweet writing, logo design, product image) and the current thread was not created with that skill — because--skill-idonly takes effect in new conversations