diff --git a/skills/basecamp/SKILL.md b/skills/basecamp/SKILL.md index 94a5fb71..c5e9f1eb 100644 --- a/skills/basecamp/SKILL.md +++ b/skills/basecamp/SKILL.md @@ -91,12 +91,13 @@ Full CLI coverage: 189 tracked in-scope endpoints across todos, cards, messages, 2. **Parse URLs first** with `basecamp url parse ""` to extract IDs 3. **Comments are flat** - reply to parent recording, not to comments 4. **Check context** via `.basecamp/config.json` before assuming project -5. **Content fields accept Markdown and @mentions** — message body and comment content accept Markdown syntax; the CLI converts to HTML automatically. Use Markdown formatting (lists, bold, links, code blocks, tables) for rich content. Four mention syntaxes are available (prefer deterministic for agents): +5. **Content fields accept Markdown, and most accept @mentions** — the CLI converts these rich-text fields from Markdown to HTML: message bodies, document bodies, comment content, todo descriptions, card bodies, schedule entry descriptions, upload descriptions, check-in answers and notes. Two rich-text fields are sent as written, so give them HTML: todolist descriptions and gauge needle descriptions. Chat is different again: `chat post` sends plain text unless you pass `--content-type text/html` or the line carries a mention. Use Markdown formatting (lists, bold, links, code blocks, tables) for rich content. @mentions resolve in message bodies, comment content, card bodies, schedule descriptions and chat lines — not in todo descriptions, documents, uploads, check-ins or notes. Four mention syntaxes are available (prefer deterministic for agents): - **`[@Name](mention:SGID)`** — zero API calls, embeds SGID directly (preferred for agents) - **`[@Name](person:ID)`** — one API call, resolves person ID to SGID via pingable set - **`@sgid:VALUE`** — inline SGID embed for pipeline composability - **`@Name` / `@First.Last`** — fuzzy name resolution (may be ambiguous) - For todos, documents, and cards, content is sent as-is — use plain text or HTML directly. + + Raw HTML is also accepted, but it is all-or-nothing per field: a tag the CLI detects as HTML (`

`, `