Answer questions about architecture decisions, implementation rationale, and trade-offs by loading the decision journal and diff context for the current branch or issue. Use when seeking to understand what was built and why.
From flownpx claudepluginhub synaptiai/synapti-marketplace --plugin flow/explainExplains code, concepts, or system behavior with educational clarity. Accepts target and optional --level (basic|intermediate|advanced), --format (text|examples|interactive), --context flags.
/explainExplains code files, functions, or concepts with structured breakdown: purpose, step-by-step logic, key concepts, gotchas, and dependencies.
/explainDisplays detailed documentation for orchestration topics like syntax, agents, templates, and error handling. Prompts for topic if none specified.
/explainExplains code files, functions, classes, or concepts in the codebase with purpose, key components, data flow, dependencies, usage examples, and gotchas.
/explainProvides structured explanations of code, concepts, or architectures: big picture, components, flow, patterns, examples, fundamentals. Beginner to expert levels.
/explainExplains ADVPL/TLPP code from files or snippets in plain language, tailored to junior devs, seniors, or functional consultants via --level flag.
Interactive Q&A mode for understanding what was built and why. Read-only — no changes made.
Parallel operations:
# 1. Current branch and issue
BRANCH=$(git branch --show-current)
ISSUE_NUM=$(echo "$BRANCH" | grep -oE 'issue-[0-9]+' | grep -oE '[0-9]+')
# 2. Decision journal
JOURNAL_DIR=".decisions"
for SETTINGS in ".claude/settings.flow.local.json" ".claude/settings.flow.json" "$HOME/.claude/settings.flow.json" "plugins/flow/settings.json"; do
[ -f "$SETTINGS" ] && DIR=$(jq -r '.journal.dir // empty' "$SETTINGS" 2>/dev/null) && [ -n "$DIR" ] && JOURNAL_DIR="$DIR" && break
done
[ -n "$ISSUE_NUM" ] && cat "$JOURNAL_DIR/issue-$ISSUE_NUM.md" 2>/dev/null
# 3. Issue details
[ -n "$ISSUE_NUM" ] && gh issue view "$ISSUE_NUM" --json title,body 2>/dev/null
# 4. Branch diff summary
DEFAULT_BRANCH=$(gh repo view --json defaultBranchRef --jq '.defaultBranchRef.name' 2>/dev/null || echo "main")
git diff --stat "$DEFAULT_BRANCH"...HEAD
## Decision Context
**Branch**: {branch}
**Issue**: #{N} — {title}
**Files changed**: {count}
**Journal entries**: {count}
**Key decisions**: {list from journal}
Use the AskUserQuestion tool with contextual options to ask: "What would you like to understand about this implementation?"
For each question:
If no decision journal or no branch context:
/flow:start first to generate context