Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Export RepoPrompt context to a markdown file for review with an external LLM (ChatGPT, Claude web, etc.). Use when you want Carmack-level review but prefer an external model. Triggers on "export context", "export for external review", "export plan for ChatGPT", "export impl review context", "review with an external model", "export review context".
.claude/skills/gmickel-flow-next-export-context/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-06 | ✗→✓ | ▲ Improved | -26% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 28% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 62% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 24% | 0% |
| case-14 | ✗→✓ | ▲ Improved | -31% | 0% |
Build RepoPrompt context and export to a markdown file for use with external LLMs (ChatGPT Pro, Claude web, etc.).
Use case: When you want Carmack-level review but prefer to use an external model.
CRITICAL: flowctl is BUNDLED — NOT installed globally. which flowctl will fail (expected). Define once; subsequent blocks use $FLOWCTL:
bashFLOWCTL="${CODEX_HOME:-$HOME/.codex}/scripts/flowctl" [ -x "$FLOWCTL" ] || FLOWCTL="<plugin-root>/scripts/flowctl" # <plugin-root> = the directory two levels above this skill's SKILL.md file (the harness gave you that file's absolute path when the skill loaded); substitute it literally [ -x "$FLOWCTL" ] || FLOWCTL=".flow/bin/flowctl"
Arguments: $ARGUMENTS Format: <type> <target> [focus areas]
Types:
plan <spec-id> - Export plan review contextimpl - Export implementation review context (current branch)This skill is phrase-triggered (no slash command) — invoke it by asking in natural language; the host agent parses <type> <target> [focus areas] from the request.
Examples:
bashREPO_ROOT="$(git rev-parse --show-toplevel 2>/dev/null || pwd)"
Parse arguments to determine if this is a plan or impl export.
For plan export:
bash$FLOWCTL show <spec-id> --json $FLOWCTL cat <spec-id>
For impl export:
bashgit branch --show-current git log main..HEAD --oneline 2>/dev/null || git log master..HEAD --oneline git diff main..HEAD --name-only 2>/dev/null || git diff master..HEAD --name-only
basheval "$($FLOWCTL rp setup-review --repo-root "$REPO_ROOT" --summary "<summary based on type>" --create)"
bash$FLOWCTL rp select-get --window "$W" --tab "$T" # Add relevant files $FLOWCTL rp select-add --window "$W" --tab "$T" <files>
Path-persistence rule: bash vars do not survive across prompt turns. The prompt path is composed once as a literal and typed verbatim in every block that touches it — ${TMPDIR:-/tmp}/flow-export-prompt-<target>-<agent-chosen 4-char suffix>.md. A run that carries the path in a shell variable across prompt turns has broken this: the later block writes to an empty path.
Build the prompt by deterministic composition — the handoff is captured via redirection, never pasted into a heredoc; only the static review criteria (same criteria as plan-review or impl-review) are typed, once, in the quoted heredoc:
bashPROMPT_FILE="${TMPDIR:-/tmp}/flow-export-prompt-<target>-<suffix>.md" # literal path # 1. Builder handoff — captured via redirection, never re-typed $FLOWCTL rp prompt-get --window "$W" --tab "$T" > "$PROMPT_FILE" # 2. Review criteria (static, quoted heredoc — same criteria block as # plan-review or impl-review, per the export type) cat >> "$PROMPT_FILE" << 'EOF' <review criteria — static block> EOF $FLOWCTL rp prompt-set --window "$W" --tab "$T" --message-file "$PROMPT_FILE"
$PROMPT_FILE names the same literal path in all three commands above.flowctl rp prompt-get. A run that reconstructs that content inside a heredoc has broken this.bashOUTPUT_FILE=~/Desktop/review-export-$(date +%Y%m%d-%H%M%S).md $FLOWCTL rp prompt-export --window "$W" --tab "$T" --out "$OUTPUT_FILE" open "$OUTPUT_FILE"
Exported review context to: $OUTPUT_FILE
The file contains:
- Full file tree with selected files marked
- Code maps (signatures/structure)
- Complete file contents
- Review prompt with Carmack-level criteria
Paste into ChatGPT Pro, Claude web, or your preferred LLM.
After receiving feedback, return here to implement fixes.This skill is manual-only. It produces no receipts and no status updates, so an autonomous Ralph invocation is declined rather than served — a run that reports success to a Ralph caller has broken this.
flowctl rp prompt-export to a timestamped output file, and told the user that exact path plus what the file contains.Other measured skills in the registry, with their headline benchmark lift.