From ai-brain-starter
Reads a resolved Slack thread markdown export and classifies it as a decision, exception, or workflow, then writes a typed memory entry to Meta/.
How this skill is triggered — by the user, by Claude, or both
Slash command
/ai-brain-starter:synth-thread-to-sop <slack-thread-markdown-file> [--vault-root PATH] [--dry-run]<slack-thread-markdown-file> [--vault-root PATH] [--dry-run]The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Turn a resolved Slack thread into a typed memory entry. The script first classifies the thread (decision, exception, or workflow definition) using deterministic signals, then writes a typed file at the right location with the right schema.
Turn a resolved Slack thread into a typed memory entry. The script first classifies the thread (decision, exception, or workflow definition) using deterministic signals, then writes a typed file at the right location with the right schema.
After a thread reaches a resolution worth filing. Examples:
The script classifies the thread by counting decision-language hits, exception-language hits, and step-language hits. Highest-scoring class wins. Good for clearly structured threads. Run:
python3 skills/synth-thread-to-sop/synth.py <thread-path> --vault-root <vault>
Default and recommended. The script writes a draft. Then Claude reads the source thread, refines the classification if wrong, fills in fields the heuristic missed, and writes the final file. No external LLM API call is made by the script.
The argument is a single Slack thread markdown file. Expected structure (any of these is fine):
External Inputs/Slack/<channel>/<date>.md**user (timestamp):** message linesthread_url, root_ts, or permalinkThe script extracts the thread URL or root timestamp from frontmatter first, then from the body if absent.
python3 skills/synth-thread-to-sop/synth.py <thread-path> --vault-root <vault>
Output (one of):
Meta/Decisions/<sha8>.md if classified as a decisionMeta/Exceptions/<sha8>.md if classified as an exceptionMeta/Workflows/<sha8>.md if classified as a workflowThe <sha8> is the first 8 chars of a sha1 of the thread root ts (or URL if no ts). Idempotent.
If the classification looks wrong, override with --classify-as decision|exception|workflow. Then read the file and improve fields with the Edit tool.
python3 -c "import yaml; yaml.safe_load(open('<vault>/Meta/Decisions/<sha8>.md').read().split('---')[1])"
If the YAML parses, the file is valid.
All entries share these fields:
type: decision | exception | workflow
source_thread_url: <permalink-or-root-ts>
sha8: <8-char hash>
memory_class: episodic (decisions) | procedural (workflows, exceptions)
creationDate: <iso>
entity_ids:
slack: <root-ts>
provenance:
- source_type: slack
source_id: <root-ts>
source_url: <permalink>
Type-specific fields follow the schemas in templates/schemas/.
The script counts hits for each class:
Highest score wins. Ties resolve toward decision (the most common shape). Use --classify-as to override.
When Meta/.entity-aliases.json exists (built by scripts/entity-disambiguator.py), this skill consults it during entity extraction. Each detected mention writes both raw_mention and canonical_entity into the entity_mentions frontmatter list, so downstream queries can group variant spellings under one canonical form. Operator overrides at Meta/entity-aliases-overrides.json always win. When the index is missing, canonical_entity falls back to the raw mention.
--force.confidence: 0.3 and flag for refinement.npx claudepluginhub mycelium-hq/ai-brain-starter --plugin ai-brain-starterIngests recent Slack channel messages into the vault as markdown, resolving threads and creating decision log stubs on trigger keywords. Use for capturing Slack discussions into the knowledge graph.
Captures a chat or email thread from connected ~~chat (Slack, Teams) or ~~email (Gmail, MS365) MCPs and saves it to intake/clippings/ for later review. Invoke via /clip-thread, 'clip this thread', or 'save this Slack thread'.
Captures team discussions, meeting notes, and conversations into structured Markdown files with participants, key points, decisions, action items, and updates monthly YAML indexes.