Skip to content
Back to skills

Core Abstraction

ASecurity

"Use PocketFlow's core graph runtime: Node, Flow, BatchNode,

  • 247 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 8, 2026
ai-agentsnodeexpressapidatabase

Works with

  • api

Security analysis

A100/100

Pro scans all 5 files and shows the line behind each finding

Scanned September 8, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill core-abstraction --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Core Abstraction?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Core Abstraction
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-core-abstraction/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-core-abstraction)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: core-abstraction
description: "Use PocketFlow's core graph runtime: Node, Flow, BatchNode,
  BatchFlow, async variants, action transitions, retries, fallback, and
  shared-store semantics."
metadata:
  disco-role: operating
disable-model-invocation: true
license: MIT
---

# PocketFlow Core Abstraction

Use this sub-skill when the user asks about PocketFlow's public runtime semantics, a failing flow, or how to express a graph in terms of nodes, actions, shared state, params, batch behavior, or async orchestration.

## What this sub-skill covers

- `BaseNode`, `Node`, `BatchNode`, `Flow`, `BatchFlow`.
- `AsyncNode`, `AsyncBatchNode`, `AsyncParallelBatchNode`, `AsyncFlow`, `AsyncBatchFlow`, `AsyncParallelBatchFlow`.
- The `prep -> exec -> post` lifecycle.
- `>>` default transitions and `- "action" >>` named transitions.
- Retry/fallback behavior and `cur_retry`.
- Flow composition, nested flows, and flow-as-node routing.
- Shared store vs params.
- Batch and parallel semantics, including nested batches.

## What to read first

- [API reference](references/api-reference.md) for signatures and behavior.
- [Workflows](references/workflows.md) for linear, branching, nested, batch, async, and parallel recipes.
- [Troubleshooting](references/troubleshooting.md) for error messages, missing transitions, retry/fallback issues, and async misuse.
- [Core smoke helper](scripts/core_flow_smoke.py) for a deterministic local sanity check.

## Typical user requests

- "Why is my flow ending early?"
- "How do I branch on an action string?"
- "Why does BatchFlow not see my data?"
- "Why is my async node not running?"
- "How do I make a flow inside another flow?"
- "How do retries and fallbacks work?"

## Route map

| Need | Read |
| --- | --- |
| Method signatures, defaults, and runtime rules | `references/api-reference.md` |
| Linear, branching, nested, batch, async, or parallel recipes | `references/workflows.md` |
| Warning messages, failure modes, and repair steps | `references/troubleshooting.md` |
| Fast local runtime check | `scripts/core_flow_smoke.py` |

## Core mental model

### Node
A node is a tiny unit of work with optional `prep`, `exec`, and `post` methods.

- `prep(shared)` reads from the shared store and prepares input.
- `exec(prep_res)` performs the computation and may be retried.
- `post(shared, prep_res, exec_res)` writes results and returns the next action string.

### Flow
A flow orchestrates node transitions.

- Use `node_a >> node_b` for default transitions.
- Use `node_a - "search" >> node_b` for named transitions.
- The return value from `post()` determines which successor runs next.

### Batch
BatchFlow repeats a flow with parameter dictionaries.

- `BatchFlow.prep(shared)` returns a list of dicts.
- Each dict becomes `self.params` for the child flow.
- Child nodes read params from `self.params`, not from the shared store.

### Async and parallel
- `AsyncNode` and async flow types use `run_async()` / `prep_async()` / `exec_async()` / `post_async()`.
- `AsyncParallelBatchNode` and `AsyncParallelBatchFlow` are for independent I/O-bound work.
- Do not treat them as CPU-parallel primitives.

## Common success signals

- A branch flow runs the expected successor and stores the expected shared value.
- A retry node uses fallback after the final attempt and keeps the flow alive.
- A BatchNode returns a list of results in `post()` and the reduce node consumes that list.
- An async node completes under `AsyncFlow.run_async()` and mixed sync/async nodes can coexist in one async flow.

## Boundaries

- Do not use this sub-skill to design provider wrappers, LLM prompts, search, vector databases, or UI/service integrations. Those belong to `utilities` or `design-patterns`.
- Do not rely on original repository paths or cookbook files at runtime.

Files in this skill

  • SKILL.md3.7 KB
  • references/api-reference.md4.6 KB
  • references/troubleshooting.md3.5 KB
  • references/workflows.md4.7 KB
  • scripts/core_flow_smoke.py4.1 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.