Create and edit pi-flows flows and agents from the main session.

MITAuto-check passed

Install Edit Flow

skills CLI
$ npx skills add BlackBeltTechnology/pi-agent-dashboard --skill edit-flow -a claude-code

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

GitHub CLI
$ gh skill install BlackBeltTechnology/pi-agent-dashboard edit-flow --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/BlackBeltTechnology/pi-agent-dashboard.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.pi/skills/edit-flow .claude/skills/edit-flow && 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
edit-flow
GitHub stars
315
Token cost
~2.3k tokens
SKILL.md length
789 words
Files
2
Skills in repo
66
Repo updated
First seen
Licence
MIT

At a glance

Create and edit pi-flows flows and agents from the main session.

  • Works in 5 steps: Clarify what the user wants the flow to… → Call flow_agents with op: "list" to see… → For each role not already covered,… → …
  • The user wants to create a new flow
  • SKILL.md covers Workflow, Agent files (.md), Model references and Flow files (.yaml), plus 2 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Edit Flow is an agent skill from BlackBeltTechnology/pi-agent-dashboard. Create and edit pi-flows flows and agents from the main session. Use when the user wants to create a new flow, add or change an agent, or edit an existing flow/agent. Covers agent frontmatter, flow YAML, step types, model references, the flowagents and flowwrite tools, write locations, and how to fix validation errors.

Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `SKILL.md.AGENTS.md`).

The repository describes itself as: Real-time web dashboard for pi coding-agent sessions. Multi-session view, live chat mirroring, integrated terminal, diff viewer, pi-flows execution, and mobile-first remote… The licence is MIT.

When your agent uses it

  • The user wants to create a new flow
  • Change an agent
  • Edit an existing flow/agent

Example prompts

  • “/edit-flow”

Workflow steps

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

  1. Clarify what the user wants the flow to do. Ask if it is unclear.
  2. Call flow_agents with op: "list" to see existing agents and their inputs, outputs, and source_type. Reuse built-in/local agents where they…
  3. For each role not already covered, author a purpose-built agent with flow_agents op: "write". Do not repurpose infrastructure agents…
  4. Author the flow with flow_write. Wire every declared input. Fix any validation diagnostics and retry.
  5. Tell the user the resulting command name (/:).

What it can do on your machine

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

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are yaml and markdown).

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

  • Network

    No URLs in SKILL.md.

    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

Edit Flow loads about 2.3k tokens when it runs. Until then it costs about 83 tokens; SKILL.md has 789 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~83
When it runs · the whole SKILL.md, loaded when a task matches
~2.3k

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 passed

The automated check found no risky patterns in SKILL.md.

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 BlackBeltTechnology/pi-agent-dashboard at commit e23e533, republished under its MIT licence (© BlackBeltTechnology). 789 words, ~2,290 tokens.

Download SKILL.mdSave it as .claude/skills/edit-flow/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
edit-flow
description
Create and edit pi-flows flows and agents from the main session. Use when the user wants to create a new flow, add or change an agent, or edit an existing flow/agent. Covers agent frontmatter, flow YAML, step types, model references, the flow_agents and flow_write tools, write locations, and how to fix validation errors.
disable-model-invocation
false

Edit Flow

You are creating and editing pi-flows flows and agents directly in this session. Two tools do the writing (both validate before writing and return diagnostics on failure):

  • flow_agents — op: "list" returns the agent catalog; op: "write" validates and writes an agent .md to .pi/flows/agents/<name>.md (filename derived from the agent's frontmatter name).
  • flow_write — namespace (default custom), name, content. Validates and writes a flow to .pi/flows/flows/<namespace>/<name>.yaml, which auto-registers as the /<namespace>:<name> command.

These tools derive their write locations from the discovery convention — there is no raw path. Writing to a name that already exists overwrites it (that is how you edit).

The edit-flow tools are off by default. They are active only when flows.editFlow: true is set in .pi/settings.json (project, when trusted) or ~/.pi/agent/settings.json (global). If flow_agents/flow_write are not available, tell the user to enable that setting and restart the session.

Workflow

  1. Clarify what the user wants the flow to do. Ask if it is unclear.
  2. Call flow_agents with op: "list" to see existing agents and their inputs, outputs, and source_type. Reuse built-in/local agents where they fit.
  3. For each role not already covered, author a purpose-built agent with flow_agents op: "write". Do not repurpose infrastructure agents (flow-decision, project-context-reader) for unrelated tasks.
  4. Author the flow with flow_write. Wire every declared input. Fix any validation diagnostics and retry.
  5. Tell the user the resulting command name (/<namespace>:<name>).

Editing an existing flow/agent = read the current file, change it, then write it back with the same tool and the same name/namespace.

Agent files (.md)

YAML frontmatter + Markdown body (the system prompt).

markdown
---
name: code-reviewer
description: Reviews source code for quality and correctness
model: @coding
thinking: medium
tools: read, grep, find
inputs:
  - research_context
outputs:
  - name: findings
    description: Categorized issues found
  - name: verdict
    description: "pass" or "fail"
access:
  read:
    - "src/**"
  write:
    - "src/**"
  bash:
    deny:
      - "rm -rf *"
card:
  label: "Reviewer"
  metric: "default"
architect:
  use_when: "User wants code reviewed for quality"
  produces: "A findings report and a pass/fail verdict"
  depends_on: "An implementer must have produced code"
  domain: "review"
---

# System Prompt

You are a code reviewer. Task: ${{task}}
Context: ${{input.research_context}}
FieldRequiredNotes
nameYesUnique. Filename = <name>.md. Referenced as agent: <name> in steps.
descriptionYesOne line. Shown in catalog.
modelYesSee Model references.
toolsYesComma-separated. Guard blocks anything not listed. Standard: read, write, edit, grep, find, ls, bash, ask_user, skill_read.
thinkingNooff/minimal/low/medium/high/xhigh. Overrides any :level suffix in model.
skillsNoComma-separated skill names injected into the prompt.
inputsNoNames → ${{input.NAME}} in the prompt. Flow step must wire each one.
outputsNoNames (or {name, description} objects). Become finish parameters and ${{result.STEP.NAME}} downstream.
interactiveNotrue allows mid-task UI prompts. Default false.
outputNoOutput file hint (display only).
accessNoread/write glob allowlists; bash.deny command patterns. * = segment, ** = any depth.
cardNolabel, metric (default/files/tests/custom), role.
architectNouse_when/produces/depends_on/domain metadata surfaced in flow_agents op: list.

Model references

The model: field accepts three forms. Prefer @role. Use the other two when a specific model is required regardless of role config, or when the user explicitly asks for a non-role model.

FormExampleWhen
@role (preferred)model: @codingDefault. Resolves via the active role→model map (/roles). Built-in roles: @planning, @coding, @fast, @architect.
provider/model[:thinking]model: anthropic/claude-haiku-4-5:highA specific provider+model is required; optional :thinking suffix sets the thinking level.
bare model-idmodel: claude-haiku-4-5A specific model id with no provider qualifier; thinking comes from the thinking: field or none.

A thinking: field always overrides any :thinking suffix in model.

Flow files (.yaml)

yaml
name: my-flow              # REQUIRED
description: What it does   # REQUIRED
max_concurrent: 3          # optional (default 4)
task_required: true        # optional — prompt for task if invoked with no args
task_prompt: "Task:"       # optional

steps:
  - id: research
    agent: code-reviewer
    task: Review ${{task}}

name is the frontmatter name; the command name comes from the on-disk location (namespace/name you pass to flow_write). Every step needs a unique id. Step type is usually inferred from which fields are present; set type: explicitly when ambiguous.

Show full SKILL.md (361 more words)Show less
Step types
  1. agent — dispatch an agent.
    yaml
    - id: impl
      agent: implementer
      task: Implement ${{task}}
      blockedBy: [research]
      inputs:
        ctx: ${{result.research.summary}}
      on_complete: verify     # optional cross-segment jump
      on_error: handler        # optional
  2. fork — user (or agent: in autonomous mode) picks a branch.
    yaml
    - id: choose
      type: fork
      question: Which strategy?
      options: [Fast, Full]
      branches: { Fast: fast-impl, Full: full-impl }
      agent: flow-decision     # autonomous-mode decider
      allowCustom: false
      multiSelect: false
    Branch keys must match options exactly.
  3. conditional — presence/absence of a result field.
    yaml
    - id: has-gaps
      type: conditional
      check: research.artifacts   # stepId.field
      present: gap-filler
      absent: finalize
  4. agent-decision — agent calls finish({ branch }) to choose.
    yaml
    - id: complexity
      type: agent-decision
      agent: analyzer
      task: Simple or complex?
      branches: { simple: quick, complex: thorough }
  5. agent-loop-decision — loop back or exit.
    yaml
    - id: should-fix
      type: agent-loop-decision
      agent: flow-decision
      task: Iteration ${{loop.should-fix.iteration}}/${{loop.should-fix.max}}. ${{result.verify.summary}}
      loop_target: fixer       # jump back
      exit_target: done        # continue forward
      max_iterations: 3
  6. flow-ref — delegate to another flow file.
    yaml
    - id: sub
      type: flow-ref
      path: "project/changes/*/exec.yaml"   # glob ok
      on_complete: verify
Template variables

Expanded in task, inputs values, and question. Not validated — a typo silently becomes empty string.

  • ${{task}} — the user task.
  • ${{input.NAME}} — input wired into this step.
  • ${{result.STEP_ID.status|summary|artifacts|files|fullOutput|OUTPUTNAME}} — STEP_ID is the step id, not the agent name.
  • ${{loop.STEP_ID.iteration|max}} — loop counters.

Wire data between steps via inputs: (agent declares names in frontmatter, step supplies values). Prefix an input value with file:// to inject file content verbatim; that file's producer step must be in blockedBy.

Write locations (discovery)

ContentToolLands at
Agentflow_agents op: write.pi/flows/agents/<name>.md
Flowflow_write.pi/flows/flows/<namespace>/<name>.yaml → /<namespace>:<name>

Project-local definitions (.pi/flows/) override package and built-in ones.

Fixing validation errors

Both tools validate before writing. On failure they return { written: false, diagnostics: [...] } and write nothing. Read each diagnostic's message and suggestion, fix the content, and call the tool again. Common cases:

  • Missing required field (name, description, model, tools for agents; name, description for flows) → add it.
  • "Agent not in catalog" → the flow references an agent that does not exist. Create it with flow_agents op: write, then retry flow_write.
  • Unwired declared input → add the missing key to the step's inputs: block.
  • Unknown tool in tools: → use a valid tool name (see the standard list above) or an extension-registered tool name.
  • Invalid YAML → fix indentation/quoting; re-validate.

© BlackBeltTechnology, 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 1 other file in .pi/skills/edit-flow of BlackBeltTechnology/pi-agent-dashboard.

  • SKILL.md
  • SKILL.md.AGENTS.md

Open the folder on GitHubat commit e23e533

Compare with similar skills

Edit Flow 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.

Edit Flow compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Edit Flow this skillBlackBeltTechnology/pi-agent-dashboard315—~2.3kAutomated safety check: PassMIT
Kotlin Coroutines Flowsaffaan-m/ECC275k4 repos~2kAutomated safety check: PassMIT
Kotlin Coroutines Flowsaffaan-m/ECC275k—~1.7kAutomated safety check: PassMIT
Channel Message Flowsopenclaw/openclaw392k1 repos~306Automated safety check: PassMIT
Login Flownexu-io/open-design100k—~334Automated safety check: PassApache-2.0
Project Flow Opsaffaan-m/ECC275k3 repos~787Automated safety check: PassMIT

Similar skills

  • Kotlin Coroutines and Flow patterns for Android and KMP — structured concurrency, Flow operators, StateFlow, error handling, and testing.

    275k GitHub starsUsed in 4 repos~2k tokens
    DevelopmentAuto-check passed
  • Android および KMP 向けの Kotlin コルーチンと Flow パターン — 構造化並行性、Flow オペレーター、StateFlow、エラーハンドリング、テスト。

    275k GitHub stars~1.7k tokensUpdated 3 days ago
    MobileAuto-check passed
  • Channel Message Flows

    openclaw/openclaw

    A skill your agent uses when running QA Lab channel message flow evidence.

    392k GitHub starsUsed in 1 repo~306 tokens
    Auto-check passed
  • Login Flow

    nexu-io/open-design

    Mobile login and authentication flow screens. An agent skill from nexu-io/open-design.

    100k GitHub stars~334 tokensUpdated today
    Backend & APIsAuto-check passed
  • Project Flow Ops

    affaan-m/ECC

    Operate execution flow across GitHub and Linear by triaging issues and pull requests, linking active work, and keeping GitHub public-facing while Linear remains the internal execution layer.

    275k GitHub starsUsed in 3 repos~787 tokens
    DevelopmentAuto-check passed
  • Wireframe Mobile Flow

    nexu-io/open-design

    A lo-fi multi-screen MOBILE flow wireframe — three or four phone frames laid out in a row on a board, showing a connected user flow (Onboarding → Home feed → Item detail → Confirm).

    100k GitHub stars~1k tokensUpdated today
    Frontend & DesignAuto-check passed

More from BlackBeltTechnology/pi-agent-dashboard

All 66 skills in this repo
  • Browser

    BlackBeltTechnology/pi-agent-dashboard

    Browser automation via the agent-browser CLI. An agent skill from BlackBeltTechnology/pi-agent-dashboard.

    315 GitHub starsUsed in 1 repo~2k tokens
    Auto-check passed
  • Pi Dashboard

    BlackBeltTechnology/pi-agent-dashboard

    Monitor and control the pi-dashboard server. An agent skill from BlackBeltTechnology/pi-agent-dashboard.

    315 GitHub starsUsed in 1 repo~2.2k tokens
    Auto-check passed
  • CI Troubleshoot

    BlackBeltTechnology/pi-agent-dashboard

    Diagnose failed GitHub Actions runs for pi-agent-dashboard: the 11-file workflow taxonomy, affected-test selection, the release pipeline, known failure modes, and how to read gh run logs and…

    315 GitHub stars~3.5k tokensUpdated today
    Auto-check passed
  • Debug Dashboard

    BlackBeltTechnology/pi-agent-dashboard

    Diagnose problems in the running pi-agent-dashboard system: server.log, /api/health, bridge WebSocket connectivity, vitest triage, known-issue FAQ entries.

    315 GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • Implement

    BlackBeltTechnology/pi-agent-dashboard

    Disciplined implementation in pi-agent-dashboard: the rebuild matrix (extension→reload, server→restart, client→build+restart, openspec-apply→full rebuild) plus the project's code discipline rules.

    315 GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Session To Guideline

    BlackBeltTechnology/pi-agent-dashboard

    Turn a pi session into a Markdown "how-we-did-it" collaboration guideline: reads the session's JSONL transcript and synthesizes a reusable playbook of which prompts worked, what had to be steered…

    315 GitHub stars~3.2k tokensUpdated today
    Auto-check passed

Questions about Edit Flow

What does Edit Flow do?

Create and edit pi-flows flows and agents from the main session. Edit Flow is an agent skill from BlackBeltTechnology/pi-agent-dashboard. Create and edit pi-flows flows and agents from the main session.

When should I use Edit Flow?

Edit Flow fits situations like: the user wants to create a new flow; change an agent; edit an existing flow/agent.

How do I install Edit Flow in Claude Code?

Run `npx skills add BlackBeltTechnology/pi-agent-dashboard --skill edit-flow -a claude-code`. Or copy the skill folder (.pi/skills/edit-flow in BlackBeltTechnology/pi-agent-dashboard) into .claude/skills/edit-flow in your project. Claude Code loads it when a task matches its description.

How do I install Edit Flow in Codex?

Run `npx skills add BlackBeltTechnology/pi-agent-dashboard --skill edit-flow -a codex`. Or copy the skill folder (.pi/skills/edit-flow in BlackBeltTechnology/pi-agent-dashboard) into .agents/skills/edit-flow in your project. Codex loads it when a task matches its description.

Can I use Edit Flow 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 BlackBeltTechnology/pi-agent-dashboard --skill edit-flow -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/edit-flow, .gemini/skills/edit-flow, .github/skills/edit-flow and .opencode/skills/edit-flow in your project.

What does Edit Flow need to run?

SKILL.md names no scripts, command-line tools or credentials: Edit Flow is instructions for the agent only.

Does Edit Flow access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Edit Flow safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Edit Flow use?

Edit Flow 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 Edit Flow use?

About 2.3k tokens (SKILL.md is roughly 9.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Edit Flow?

Skills that share tags, products or a category with Edit Flow: Kotlin Coroutines Flows (affaan-m/ECC, 275k stars), Kotlin Coroutines Flows (affaan-m/ECC, 275k stars), Channel Message Flows (openclaw/openclaw, 392k stars) and Login Flow (nexu-io/open-design, 100k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Edit Flow?

BlackBeltTechnology (a GitHub organization) maintains it in BlackBeltTechnology/pi-agent-dashboard, which has 315 GitHub stars. The repository holds 66 skills in this directory. The repository was last updated on October 8, 2026.

Source: BlackBeltTechnology/pi-agent-dashboard on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.