with one click
capture
// Save a memory to Origin in flow. Active capture verb — use proactively when the user states a preference, makes a decision, corrects you, or shares a durable fact. Invoked as `/capture <content>`.
// Save a memory to Origin in flow. Active capture verb — use proactively when the user states a preference, makes a decision, corrects you, or shares a durable fact. Invoked as `/capture <content>`.
Social media scheduling and publishing for AI agents. Use when the user wants to schedule posts, connect social accounts, upload media, or publish campaigns to X, LinkedIn, Instagram, Facebook Pages, TikTok, Discord, Telegram, YouTube, Reddit, WordPress, or Pinterest through SocialClaw.
127 production skills across 10 categories (Security, Deployment, Dev, Business, Content, SEO, Marketing, Product, Automation, Core). Skills auto-load based on your task. Includes localhost dashboard with Agent Runner, Burn Report, and session diary.
Session-start briefing from Origin. Reads the project status file (the /handoff-maintained ledger of Active/Backlog work), then loads identity, preferences, and topic-relevant memories so the agent walks in with context. Surfaces any memories the daemon has flagged for human revision before the session uses them. Invoked as `/brief [topic]`. Call FIRST at session start, before any other Origin verb.
Alias for `/origin:handoff` — symmetric brief/debrief naming. Same behavior: end-of-session ritual that writes session log + project status + granular MCP captures. Invoked as `/debrief`. Use when the user prefers the brief/debrief pair over brief/handoff.
Synthesize wiki pages from related memories. One endpoint, one flow: daemon clusters and synthesizes what it can; agent finishes whatever the daemon couldn't (no LLM or cluster too big). Invoked as `/distill [target]`.
End-of-session ritual. Captures decisions, lessons, gotchas, and open threads. Writes a narrative session log to ~/.origin/sessions/ and stores granular memories via Origin MCP. Previews any unconfirmed captures from the current session before closing. Invoked as `/handoff`.
| name | capture |
| description | Save a memory to Origin in flow. Active capture verb — use proactively when the user states a preference, makes a decision, corrects you, or shares a durable fact. Invoked as `/capture <content>`. |
| argument-hint | <content> |
| allowed-tools | ["mcp__plugin_origin_origin__capture","mcp__plugin_origin_origin__recall","mcp__plugin_origin_origin__create_entity","mcp__plugin_origin_origin__create_relation","mcp__plugin_origin_origin__accept_revision","mcp__plugin_origin_origin__dismiss_revision","Bash"] |
Capture a single memory in the moment. Active verb: agent captures the moment of insight, like a photograph.
Call the origin MCP server's capture tool with the user's content as a
complete, self-contained statement. Attach topic from cwd or the
conversation — don't make the user type it.
capture(content="<args, written as a full sentence with WHY>",
memory_type="<picked from the 6 types>",
entity="<primary entity name, if any>",
space=<inferred>)
memory_type — agent picks one of 6The daemon classifies when a local model or API key is configured. In local memory mode it does not, so the agent picks the type from the content itself. Use this mapping:
| Type | Use for |
|---|---|
identity | Durable facts about the user (role, company, language preference) |
preference | "I prefer X because Y" — a habit, a correction, a stylistic choice |
decision | "Going with A over B because C" — a specific choice with rationale |
lesson | Root cause found, workaround discovered, technical insight earned |
gotcha | Sharp edge, surprising behavior, a thing to watch out for |
fact | Durable info about people, projects, tools — anchor to entity when possible |
If two types fit, pick the one closest to why the memory matters. A
decision also implies a preference, but decision is more specific.
entity — extract the anchorPick the single most important named thing in the content: a person,
project, tool, place. Use the exact name. Example: "Alice prefers TDD
because…" → entity="Alice". If the content has no named anchor,
omit entity.
topic / space inference~/Repos/origin/... → "origin").space when scope is known; if uncertain, run list_spaces
later (post-PR-C) or omit.The MCP capture tool takes a single primary entity. For additional
entities or relations, use the dedicated MCP tools. If the content
names more than one entity, capture the memory first, then for each
additional entity:
create_entity(name="<entity>", entity_type="<person|project|tool|place>")
For a relation between two entities:
create_relation(from_entity="<a>", to_entity="<b>", relation_type="<verb>")
Skip these calls when the daemon has an LLM — its post-ingest enrichment covers extraction.
One capture = one idea. "Prefers TDD" and "Uses pytest" are two captures, not one.
/handoff (multi-item batch)./recall.After capture returns, check response.triggered_revisions and response.auto_superseded.
If auto_superseded is non-empty, the daemon already resolved the contradiction. Surface it as informational:
Note: auto-superseded mem_X. Origin replaced a prior protected memory because
trust=high and similarity > 0.9. No action needed.
No accept/dismiss call required. The revision was applied automatically.
If triggered_revisions is non-empty (and auto_superseded is empty), render an inline block to the user:
Stored mem_new.
This capture topic-matches a protected memory now flagged for revision:
- mem_target_abc
Action: accept (replace original content) | dismiss (drop the revision) | leave (decide later)
Inline verb map:
accept_revision(target_source_id="mem_target_abc")dismiss_revision(target_source_id="mem_target_abc")/briefBoth fields can technically be non-empty in a single response (multiple protected matches), but in practice only one fires per capture: auto_superseded fires when trust=full and similarity > 0.9, triggered_revisions fires otherwise.
If neither field is non-empty, the capture stored cleanly with no conflicts.