| name | capture |
| description | > Use when this capability is needed. |
/capture
Capture a single memory in the moment. Active verb: agent captures the
moment of insight, like a photograph.
Argument parsing
The /capture skill accepts one optional inline token of the form
space:<name> anywhere in the argument string. Extract it before
treating the rest as content:
raw_args="<the full argument string passed to /capture>"
space_arg="$(printf '%s\n' "$raw_args" | grep -oE 'space:[A-Za-z0-9_-]+' | head -1 | cut -d: -f2)"
content="$(printf '%s\n' "$raw_args" | sed -E 's/[[:space:]]*space:[A-Za-z0-9_-]+[[:space:]]*/ /g' | sed -E 's/^[[:space:]]+|[[:space:]]+$//g')"
If space_arg is non-empty, pass it to the resolver as --arg "$space_arg".
Resolve the active space
Call the bundled resolver:
resolved="$("$CLAUDE_PLUGIN_ROOT/bin/resolve-space.sh" --cwd "$PWD" \
${space_arg:+--arg "$space_arg"} 2>/dev/null)"
space="$(printf '%s\n' "$resolved" | cut -f1)"
source_layer="$(printf '%s\n' "$resolved" | cut -f2)"
Pass space="$space" to the capture MCP tool only when space is
non-empty. Before every capture, also print:
Resolved space: <space> (from <source-layer>)
If space is empty, print:
Resolved space: none (unscoped)
Unknown spaces are not auto-created. Register a new space first with
wenlan spaces add <space>, or omit space to store uncategorized.
How to invoke
Call the wenlan MCP server's capture tool with the user's content as a
complete, self-contained statement. Attach from cwd or the
conversation — don't make the user type it.