From ai-brain-starter
Synthesizes typed workflow SOP markdown files from merged GitHub PR exports into Meta/Workflows/. Extracts title as name, description/commits/reviews as steps. Trigger /synth-pr-to-sop <pr-path> post-merge.
npx claudepluginhub adelaidasofia/ai-brain-starter<pr-markdown-file-or-folder> [--vault-root PATH] [--dry-run]This skill uses the workspace's default tool permissions.
Turn a merged PR into a typed workflow entry. The PR's title becomes the workflow name. The PR description, commits, and review notes become ordered steps. The result is a single markdown file with `type: workflow` frontmatter that the wiki-maintainer aggregates into a topic page.
Extracts knowledge from GitHub PR comments, reviews, spec context files, and classifies issues to generate structured learnings docs in docs/learnings/. Invoke via /compound after PRs.
Synthesizes resolved Slack thread markdown into typed Meta/ memory entries (decisions, exceptions, workflows). Invoke /synth-thread-to-sop <thread-md-file> for one-time decisions, deviations, or procedures.
Orchestrates documentation workflows from YAML step lists, running skills sequentially with progress state, iterations, confirmations, and JIRA/PR integration.
Share bugs, ideas, or general feedback.
Turn a merged PR into a typed workflow entry. The PR's title becomes the workflow name. The PR description, commits, and review notes become ordered steps. The result is a single markdown file with type: workflow frontmatter that the wiki-maintainer aggregates into a topic page.
After a PR ships that captures a process worth filing. Examples:
The script supports two modes. Pick one before running:
The script extracts headers, bullets, and commit subjects deterministically. Good for PRs that already follow a structured template. Run:
python3 skills/synth-pr-to-sop/synth.py <pr-path> --vault-root <vault>
You (the operator) run this skill from a Claude Code session. The script first runs the heuristic pass and writes a draft. Then Claude reads the PR markdown directly, refines the steps, owners, and edge cases, and writes the final file. No external LLM API call is made by the script. Claude is the LLM, your hands on the keyboard are the operator. This is the default and recommended path.
Argument can be:
External Inputs/GitHub/myrepo/2026-04-30.md)External Inputs/GitHub/myrepo/)If a folder, the script walks every .md file and processes each one. Idempotent: re-running on the same PR overwrites the same Meta/Workflows/<sha8>.md.
python3 skills/synth-pr-to-sop/synth.py <pr-path> --vault-root <vault>
Output:
Meta/Workflows/<sha8>.md (typed workflow file)The <sha8> is the first 8 chars of a sha1 of the PR ID. This makes the file deterministic and re-runnable.
Read the workflow file Claude just wrote. Compare against the source PR. Improve:
name: make it action-orientedsteps: split combined steps, name ownersfailure_modes: add what could go wrongedge_cases: add atypical inputsWrite back with the Edit tool. Do not change the source_pr_id, sha8, or creationDate fields.
python3 -c "import yaml; yaml.safe_load(open('<vault>/Meta/Workflows/<sha8>.md').read().split('---')[1])"
If the YAML parses, the file is valid.
Every workflow file written by this skill has:
type: workflow
name: <extracted>
steps: [...]
source_pr_id: <pr-id>
sha8: <8-char hash>
memory_class: procedural
creationDate: <iso>
provenance:
- source_type: github
source_id: <pr-id>
Optional fields the operator can add: owner, topic, failure_modes, edge_cases, approvals, handoffs.
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 (ProjectAlpha, Project Alpha, projectalpha) 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.