Agent skill

Flow Next Memory Migrate

by gmickel in gmickel/flow-next

Migrate legacy flat .flow/memory files to the categorized YAML schema.

MITAuto-check: notesAgent Workflows

Install Flow Next Memory Migrate

skills CLI
$ npx skills add gmickel/flow-next --skill flow-next-memory-migrate -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install gmickel/flow-next flow-next-memory-migrate --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/gmickel/flow-next.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/flow-next/codex/skills/flow-next-memory-migrate .claude/skills/flow-next-memory-migrate && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
flow-next-memory-migrate
GitHub stars
707
Token cost
~2.5k tokens
SKILL.md length
1,224 words
Files
5 (incl. references)
Skills in repo
43
Repo updated
First seen
Licence
MIT

At a glance

Migrate legacy flat .flow/memory files to the categorized YAML schema.

  • Works in 5 steps: Detect & enumerate — run flowctl memory… → Classify (one entry per prompt turn) —… → Write categorized entries — invoke… → …
  • Asked to migrate flow memory
  • SKILL.md covers Preamble, Mode Detection, Interaction Principles… and Subagent dispatch (mostly N/A), plus 3 more sections
  • Calls git

What it does

Flow Next Memory Migrate is an agent skill from gmickel/flow-next. Migrate legacy flat .flow/memory files to the categorized YAML schema. One-time ceremony. Use when asked to migrate flow memory.

Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including reference files (for example `agents/openai.yaml`, `phases.md` and `references/cleanup.md`).

It sits in Agent Workflows. The repository describes itself as: Faster than your agent alone. And better. A workflow plugin that takes a bug, idea or ticket to a verified pull request: specs, cross-model review by risk, live QA, receipts in… The licence is MIT.

When your agent uses it

  • Asked to migrate flow memory

Example prompts

  • “/flow-next-memory-migrate”

Requirements

  • Python 3
  • Pre-approved tools (allowed-tools): Read, Bash, Grep, Glob, Write, Edit, Task

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Detect & enumerate — run flowctl memory list-legacy --json, check _migrated/ for prior runs, apply scope hint, decide interaction path.
  2. Classify (one entry per prompt turn) — for each entry: read title + body + filename context, default to mechanical (track, category)…
  3. Write categorized entries — invoke flowctl memory add --track --category --title "..." --body-file per classified entry. Slug uniqueness…
  4. Verify + Report — re-read newly created entries, print summary (legacy files processed, entries migrated, overrides, needs-review).
  5. Optional cleanup — interactive: ask whether to rename originals to .flow/memory/_migrated/.bak. Autofix: default-decline + surface as…

What it can do on your machine

Read from SKILL.md and the folder at commit 09e291e. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Bash
    • Grep
    • Glob
    • Write
    • Edit
    • Task

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Flow Next Memory Migrate loads about 2.5k tokens when it runs, and up to ~3.1k if it reads all its reference files. Until then it costs about 38 tokens; SKILL.md has 1,224 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~38
When it runs · the whole SKILL.md, loaded when a task matches
~2.5k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~3.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Read, Bash, Grep, Glob, Write, Edit, Task

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from gmickel/flow-next at commit 09e291e, republished under its MIT licence (© gmickel). 1,224 words, ~2,503 tokens.

Download SKILL.mdSave it as .claude/skills/flow-next-memory-migrate/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.
name
flow-next-memory-migrate
description
Migrate legacy flat .flow/memory files to the categorized YAML schema. One-time ceremony. Use when asked to migrate flow memory.
allowed-tools
Read, Bash, Grep, Glob, Write, Edit, Task
user-invocable
false

/flow-next:memory-migrate — agent-native legacy migration

Older flow-next versions stored memory as three flat markdown files: .flow/memory/pitfalls.md, conventions.md, decisions.md. Each held lessons with ad-hoc headings and no schema, either separated by --- or appended under ## <date> <source> [<type>] headers; memory list-legacy returns one entry per lesson in both formats. The categorized schema (track / category / module / tags / status frontmatter, one entry per file). Existing flat files persisted but became invisible to memory list, memory search, and flow-next-audit because there's no frontmatter to scope or stale-flag.

This skill IS the migration. The host agent (Claude Code / Codex / Droid) reads each legacy entry, applies the mechanical default (track, category) from the source filename, overrides only when the entry's content warrants, and writes a categorized entry via flowctl memory add. Optional autofix mode accepts every mechanical default and marks ambiguous entries as needs-review in the report.

There is no Python classifier subprocess, no codex/copilot dispatch, no fast-model probability scoring. The host agent is already an LLM with full repo context and does the work directly. flowctl provides only thin parsing + persistence plumbing (memory list-legacy --json, existing memory add).

Read workflow.md for the full phase-by-phase execution. Read phases.md for the (track, category) decision tree with mechanical baseline + override examples.

Read working-rules.md first unless you already have this run; it holds for every step of this skill.

Preamble

CRITICAL: flowctl is BUNDLED — NOT installed globally. which flowctl will fail (expected). Define once; subsequent blocks (here and in workflow.md) use $FLOWCTL:

bash
FLOWCTL="${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"

Inline skill (no context: fork) — plain-text numbered prompt must stay reachable across phases. Subagents can't call plain-text numbered prompts (Claude Code issues #12890, #34592). Phase 1 (Classify) needs user choice on ambiguous entries in interactive mode; Phase 4 (Cleanup) needs consent before renaming originals.

Mode Detection

Parse $ARGUMENTS for the literal token mode:autofix. If present, strip it from the arguments — the remainder is the scope hint (a legacy filename like pitfalls.md to narrow the run, or empty to migrate all).

bash
RAW_ARGS="$ARGUMENTS"
MODE="interactive"
if [[ "$RAW_ARGS" == *"mode:autofix"* ]]; then
  MODE="autofix"
  # Strip token, collapse whitespace, trim.
  SCOPE_HINT=$(printf "%s" "$RAW_ARGS" | sed 's/mode:autofix//' | tr -s ' ' | sed 's/^ //;s/ $//')
else
  SCOPE_HINT="$RAW_ARGS"
fi
ModeWhenBehavior
Interactive (default)User is at the terminalAsk via plain-text numbered prompt when an entry's content suggests overriding the mechanical default; confirm Phase 4 cleanup; show triage summary before writes
Autofix (mode:autofix in arguments)Autonomous or batch usageNo user questions. Apply mechanical defaults for every entry. Override only when the agent has high-confidence evidence from the entry body. Mark genuinely ambiguous entries as needs-review in the report. Default-decline Phase 4 cleanup. Print full report
Autofix mode rules
  • No user questions. Never call the plain-text numbered prompt.
  • Process every legacy entry in scope. No scope-narrowing question. If no scope hint was provided, migrate all three legacy files.
  • Mechanical default wins on borderline. Override only when the entry body unambiguously points at a different (track, category) (e.g. an entry titled "race condition in worker pool" inside pitfalls.md clearly warrants bug/runtime-errors over the mechanical bug/build-errors).
  • Ambiguous → mechanical default + log as needs-review. Genuine "could be A or B" cases take the mechanical default and surface in the report so the user can re-classify later.
  • Default-decline Phase 4 cleanup. Originals stay in place. Surface the rename suggestion as a recommendation in the report.
  • Always print the full report. The report is the sole deliverable — there is no user to ask follow-ups.

Interaction Principles (interactive mode only)

In autofix mode, skip user questions entirely and apply the rules above.

In interactive mode, follow these principles:

Ask the user via plain text. Render the options below as a numbered list 1. … N., followed by a final option N+1. Other — type your own answer. Print the question, then the numbered list, then stop and wait for the user's next message before continuing. Parse the reply as: a bare number 1–N+1 → that option; the literal text of an option label → that option; free text after Other → custom answer.

  • Ask via plain-text numbered prompt. Never silently skip the question.
  • Prefer multiple choice when natural options exist.
  • Lead with the recommended option (always the mechanical default unless the body warrants otherwise) and a one-sentence rationale.
  • Do not ask the user to make decisions before the entry has been read — Phase 1 reads first, asks second.
  • Group obvious mechanical-default migrations together for batched confirmation. Present overrides and ambiguous cases one at a time.

The goal is automated migration with human oversight on judgment calls — not a question for every entry.

Show full SKILL.md (511 more words)Show less

Subagent dispatch (mostly N/A)

This skill runs almost entirely on the main thread. Phase 1's "one entry per prompt turn" rule means classification iterates serially in the orchestrator — there is no investigation step independent enough to dispatch in parallel. Cross-platform tool naming (Task on Claude Code, spawn_agent on Codex, platform-equivalent on Droid) is documented here only for the rare case where the agent needs to spawn a focused investigation subagent (e.g. resolving an ambiguous override by reading a referenced file): keep such dispatches read-only (Read / Grep / Glob), do not let subagents call flowctl memory add directly, and merge results back on the main thread before Phase 2.

Forbidden

  • Migrating files outside MEMORY_LEGACY_FILES (pitfalls.md, conventions.md, decisions.md at .flow/memory/ root). Any other .md at the memory root is user data — leave it alone.
  • Migrating entries inside categorized directories (.flow/memory/{bug,knowledge}/<category>/*.md). Those are already migrated; re-running on them is a bug.
  • Auto-deleting legacy flat files. Phase 4 renames originals to .flow/memory/_migrated/<filename>.bak for traceability — never rm. User can git rm later if they want.
  • Inventing flowctl subcommands beyond the shipped memory list-legacy. Phase 2 writes via existing flowctl memory add. Mechanical map is documented in phases.md so the agent doesn't need to call a flowctl helper for it.
  • Batch-classifying multiple entries in a single prompt turn. Phase 1 enforces one entry per prompt turn. Agents under context pressure batch-classify in-prompt and silently skip entries (practice-scout flagged this real failure mode).
  • Setting context: fork — plain-text numbered prompt must stay reachable.
  • Re-running on already-migrated files. Phase 0 checks .flow/memory/_migrated/<filename>.bak and skips with an "already migrated" log line.

Workflow

Execute the phases in workflow.md in order:

  1. Detect & enumerate — run flowctl memory list-legacy --json, check _migrated/ for prior runs, apply scope hint, decide interaction path.
  2. Classify (one entry per prompt turn) — for each entry: read title + body + filename context, default to mechanical (track, category), override only with body-driven evidence. Interactive: ask on ambiguity. Autofix: take mechanical default + log needs-review.
  3. Write categorized entries — invoke flowctl memory add --track <t> --category <c> --title "..." --body-file <tmpfile> per classified entry. Slug uniqueness handled by existing helper.
  4. Verify + Report — re-read newly created entries, print summary (legacy files processed, entries migrated, overrides, needs-review).
  5. Optional cleanup — interactive: ask whether to rename originals to .flow/memory/_migrated/<filename>.bak. Autofix: default-decline + surface as recommendation. On first cleanup, write .flow/memory/_migrated/.gitignore containing * (self-ignoring directory pattern). Legacy originals are renamed, never deleted — a run that removed a legacy file has broken this.

Output rules

The full report is the deliverable — print it as markdown to stdout. Do not summarize internally and emit a one-liner.

The report's exact shape lives in one place — workflow.md §3.2 (summary skeleton) and §3.3 (the autofix Applied / Recommended split). Render it from there; this file does not restate it.

What the report must carry either way: files processed, entries migrated, overrides, needs-review, plus per-entry detail (id, source filename, mechanical default, final classification, override rationale) and, for each needs-review entry, why the agent could not decide.

Done when: the full report reached stdout as markdown. A run that summarized internally and emitted a one-liner has broken this.

© gmickel, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 4 other files (references) in plugins/flow-next/codex/skills/flow-next-memory-migrate of gmickel/flow-next.

  • SKILL.md
  • agents/openai.yaml
  • phases.md
  • references/cleanup.md
  • workflow.md

Open the folder on GitHubat commit 09e291e

Compare with similar skills

Flow Next Memory Migrate next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Flow Next Memory Migrate compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Flow Next Memory Migrate this skillgmickel/flow-next707—~2.5kAutomated safety check: NotesMIT
MCP Server Builderanthropics/skills180k64 repos~2.3kAutomated safety check: PassApache-2.0
Hook Development for Claude Code Pluginsanthropics/claude-plugins-official38k11 repos~4.1kAutomated safety check: NotesApache-2.0
Using Superpowersfarm-fe/farm5.6k35 repos~1.4kAutomated safety check: PassMIT
Executing Plans Inlineobra/superpowers296k2 repos~5.1kAutomated safety check: PassMIT
Claude Code Agent Developmentanthropics/claude-plugins-official38k8 repos~2.8kAutomated safety check: PassApache-2.0

Similar skills

  • MCP Server Builder

    anthropics/skills

    Official

    Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.

    180k GitHub starsUsed in 64 repos~2.3k tokens
    Agent WorkflowsAuto-check passed
  • Hook Development for Claude Code Plugins

    anthropics/claude-plugins-official

    Official

    Explains how to write Claude Code plugin hooks, both prompt-based checks and bash commands, for events such as PreToolUse, Stop and SessionStart.

    38k GitHub starsUsed in 11 repos~4.1k tokens
    Agent WorkflowsAuto-check: notes
  • Using Superpowers

    farm-fe/farm

    A skill your agent uses when starting any conversation - establishes how to find and use skills, requiring Skill tool invocation before ANY response including clarifying questions

    5.6k GitHub starsUsed in 35 repos~1.4k tokens
    Agent WorkflowsAuto-check passed
  • Executing Plans Inline

    obra/superpowers

    Has the agent carry out an implementation plan itself, task by task in the current session, keeping a ledger, proving each step with a test and ending with one whole-branch review.

    296k GitHub starsUsed in 2 repos~5.1k tokens
    Agent WorkflowsAuto-check passed
  • Claude Code Agent Development

    anthropics/claude-plugins-official

    Official

    Explains how to write agents for Claude Code plugins: the markdown file with YAML frontmatter, trigger descriptions, model and color settings, and system prompt design.

    38k GitHub starsUsed in 8 repos~2.8k tokens
    Agent WorkflowsAuto-check passed
  • Skill Creator

    Azure/azqr

    Official

    Create new skills, modify and improve existing skills, and measure skill performance.

    795 GitHub starsUsed in 89 repos~8.2k tokens
    Agent WorkflowsAuto-check passed

More from gmickel/flow-next

All 43 skills in this repo
  • Flow Next Resolve PR

    gmickel/flow-next

    Resolve PR review feedback. An agent skill from gmickel/flow-next.

    707 GitHub stars~1.1k tokensUpdated yesterday
    Auto-check passed
  • Flow Next Resolve PR

    gmickel/flow-next

    Resolve PR review feedback — fetch unresolved threads, triage, dispatch per-thread resolver agents, validate, commit, reply + resolve via GraphQL.

    707 GitHub stars~1.1k tokensUpdated yesterday
    Auto-check passed
  • Flow Next

    gmickel/flow-next

    Manage .flow/ tasks and specs. An agent skill from gmickel/flow-next.

    707 GitHub stars~1.6k tokensUpdated yesterday
    Auto-check passed
  • Flow Next Audit

    gmickel/flow-next

    Audit .flow/memory/ entries against the current codebase and decide Keep / Update / Consolidate / Replace / Delete / Harden per entry.

    707 GitHub stars~3.1k tokensUpdated yesterday
    Auto-check: notes
  • Flow Next Capture

    gmickel/flow-next

    Save the current conversation as a source-tagged flow-next spec, then offer review or editing.

    707 GitHub stars~1.9k tokensUpdated yesterday
    Auto-check: notes
  • Flow Next Chart

    gmickel/flow-next

    Decision-map discovery for one oversized unclear idea before capture.

    707 GitHub stars~2.7k tokensUpdated yesterday
    Auto-check: notes

Categories

Questions about Flow Next Memory Migrate

What does Flow Next Memory Migrate do?

Migrate legacy flat .flow/memory files to the categorized YAML schema. Flow Next Memory Migrate is an agent skill from gmickel/flow-next.flow/memory files to the categorized YAML schema.

When should I use Flow Next Memory Migrate?

Flow Next Memory Migrate fits situations like: asked to migrate flow memory.

How do I install Flow Next Memory Migrate in Claude Code?

Run `npx skills add gmickel/flow-next --skill flow-next-memory-migrate -a claude-code`. Or copy the skill folder (plugins/flow-next/codex/skills/flow-next-memory-migrate in gmickel/flow-next) into .claude/skills/flow-next-memory-migrate in your project. Claude Code loads it when a task matches its description.

How do I install Flow Next Memory Migrate in Codex?

Run `npx skills add gmickel/flow-next --skill flow-next-memory-migrate -a codex`. Or copy the skill folder (plugins/flow-next/codex/skills/flow-next-memory-migrate in gmickel/flow-next) into .agents/skills/flow-next-memory-migrate in your project. Codex loads it when a task matches its description.

Can I use Flow Next Memory Migrate in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add gmickel/flow-next --skill flow-next-memory-migrate -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/flow-next-memory-migrate, .gemini/skills/flow-next-memory-migrate, .github/skills/flow-next-memory-migrate and .opencode/skills/flow-next-memory-migrate in your project.

What does Flow Next Memory Migrate need to run?

Going by SKILL.md and its folder, Flow Next Memory Migrate needs the command-line tools its instructions call (git). Our summary lists: Python 3. Its frontmatter pre-approves these tools: Read, Bash, Grep, Glob, Write, Edit, Task.

Does Flow Next Memory Migrate access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Flow Next Memory Migrate safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Flow Next Memory Migrate use?

Flow Next Memory Migrate is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Flow Next Memory Migrate use?

About 2.5k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 598 tokens, read only when the agent opens those files.

What are the alternatives to Flow Next Memory Migrate?

Skills that share tags, products or a category with Flow Next Memory Migrate: MCP Server Builder (anthropics/skills, 180k stars), Hook Development for Claude Code Plugins (anthropics/claude-plugins-official, 38k stars), Using Superpowers (farm-fe/farm, 5.6k stars) and Executing Plans Inline (obra/superpowers, 296k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Flow Next Memory Migrate?

gmickel (a GitHub user) maintains it in gmickel/flow-next, which has 707 GitHub stars. The repository holds 43 skills in this directory. The repository was last updated on October 7, 2026.

Source: gmickel/flow-next on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.