Vellum Assistant is a personal AI assistant that remembers information about users, learns their preferences, and takes actions across connected apps. It is intended for people who want an assistant that can manage conversations, unfinished work, and proactive notifications over time. The catalogue skills, hooks, instruction, and setting configure or extend how the assistant works.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add vellum-ai/vellum-assistant --skill conversation-launchergit clone --depth 1 https://github.com/vellum-ai/vellum-assistantWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/vellum-ai/vellum-assistant/conversation-launcher)<a href="https://agentmods.dev/skills/vellum-ai/vellum-assistant/conversation-launcher"><img src="https://agentmods.dev/badge/skills/vellum-ai/vellum-assistant/conversation-launcher/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/vellum-ai/vellum-assistant/conversation-launcher"><img src="https://agentmods.dev/badge/skills/vellum-ai/vellum-assistant/conversation-launcher.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00086 | $0.01073 |
| Opus 5 | $0.00043 | $0.00536 |
| Sonnet 5 | $0.00017 | $0.00215 |
| Haiku 4.5 | $0.00009 | $0.00107 |
Grade A, and why
conversation-launcher scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 96 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Use this skill when you want to offer the user several spin-off conversations from the current one. You render one persistent card. Each button on the card spawns its own seeded conversation in the sidebar. The user can click multiple buttons without losing their place — the origin conversation (this one) keeps focus.
When this fits
- Research branches — "here are three angles to pursue"
- Draft choices — "here are the reply drafts I could write"
- Triaging N items — "here are the five threads with pending replies"
- Pending-reply fan-out — each sender gets their own drafting conversation
When this does NOT fit
- Single-destination pivots — if there's one obvious next conversation, just reply inline or navigate there directly. One button is not a menu.
- Options that share context and should stay in one thread — keep them here.
- Inline Q&A the user can skim in place — answer; don't fan out.
How to render
Emit exactly one ui_show call with a card shaped like this, then end your turn:
{
"surface_type": "card",
"display": "inline",
"persistent": true,
"await_action": false,
"data": {
"title": "<framing headline>",
"body": "<one short sentence framing the choice>"
},
"actions": [
{
"id": "opt-1",
"label": "<short button label>",
"style": "primary",
"data": {
"_action": "launch_conversation",
"title": "<short conversation title>",
"seedPrompt": "<full first-user-message seed>",
"anchorMessageId": "<optional anchor message id from this conversation>"
}
},
{
"id": "opt-2",
"label": "<short button label>",
"style": "secondary",
"data": {
"_action": "launch_conversation",
"title": "<short conversation title>",
"seedPrompt": "<full first-user-message seed>"
}
}
]
}
Field notes:
persistent: truekeeps the card visible after a click so the user can fire more buttons.await_action: falselets the turn end without reserving the interactive-surface slot — the launcher dispatches its action directly, so blocking other surfaces is unnecessary.- Each action's
datamust contain_action: "launch_conversation",title, andseedPrompt.anchorMessageIdis optional — include it when the spawned conversation should thread off a specific message in this one. labelis the button text (short, ≤ 4 words, ≤ 30 chars).titleis the new conversation's sidebar name (3–5 words, specific not generic).seedPromptis the first user message of the new conversation — written in first-person as if the user typed it, with enough context that the new conversation can pick up without re-asking.- Use
style: "primary"for the recommended option (at most one),style: "secondary"for the rest.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 12d ago First seen · 96 lines · 86 tokens per session scan A d3398c58ab1e
conversation-launcher is a skill published in the GitHub repository vellum-ai/vellum-assistant (1,225 stars, last pushed yesterday), licensed MIT. It adds 86 tokens to every session and 1,073 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
lictor-security-check
Pre-release security audit for ANY project — AI-built or hand-written, web or mobile. Scans the codebase for the full range of real-world risks that get apps breached: leaked API & AI-provider keys, exposed configs/secrets, broken auth & access control (IDOR), injection (SQL/XSS/command), SSRF, open databases & cloud…
lictor-rotate
Walks the user through rotating a leaked API key — step by step, provider-specific. Knows the exact URL to visit, the exact button to click, and how to verify the rotation worked. Supports Stripe, OpenAI, Anthropic, Google Cloud / AI Studio, GitHub, AWS, Slack, Supabase, Firebase, Postmark, and generic OAuth providers.
lictor-explain
Takes any security finding, error message, or jargon-heavy security advice and explains it in plain English. Use this when someone is confused by what /lictor-security-check found, or when they got a security warning from another tool and don't understand it.
lictor-fix-it
Applies the fixes recommended by /lictor-security-check, with the user's explicit permission for each change. Walks through findings one at a time, shows the proposed change, gets approval, applies, runs tests if available, and moves on. Some fixes (rotating leaked credentials) require the user to act outside Claude …
continual-learning
Nightly refinement of an existing per-repo review-style prompt using this reviewer's own finding outcomes. Read confirmed (resolved-by-commit / thumbs-up) and dismissed (thumbs-down) findings, promote the bug patterns the team actually fixes, demote the false-positive patterns, reconcile against the current prompt…
ha-logs
A read-only troubleshooting skill for querying Hope Agent’s local SQLite databases, which store logs, conversations, and background-job status.