원클릭으로
flow-engine
Pi extension for workflow automation enabling resilient server startup procedures and agent-based workflow orchestration.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Pi extension for workflow automation enabling resilient server startup procedures and agent-based workflow orchestration.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Meta-skill pattern for dynamic skill discovery. Keep only ONE SKILL.md on filesystem; query all specialized skills on-demand from js-doc-store-server by tags.
Persistent task management with subagent orchestration. Create tasks, assign to agents, track execution, and build workflows via js-doc-store-server.
Dynamic agent registry via js-doc-store-server. Store, version, and discover subagent definitions in a database instead of static markdown files.
Professional Data Architect methodology. Includes entity analysis, schema design, implementation workflow, and prebuilt patterns (CRM, Wiki, Inventory).
Persist Pi conversation messages to js-doc-store-server. Auto-incremented turns, recovery after compaction, admin queries, best practices. v2.2.1 with 4 core tools.
RAG without embeddings using hierarchical Reasoning Trees. Navigate Root→Branch→Leaf, maintain summaries, and retrieve via structure rather than vectors.
| name | flow-engine |
| version | 1.0.0 |
| tags | flow,workflow,automation,orchestration,pi-extension |
| description | Pi extension for workflow automation enabling resilient server startup procedures and agent-based workflow orchestration. |
| author | Pi Agent |
This extension provides a robust workflow automation system for Pi that enables:
Pi agents often need to orchestrate complex workflows involving multiple steps:
Prior to this extension, users had to manually manage these workflows using custom scripts or complex prompt engineering.
The flow-engine extension introduces:
dependsOn relationships${variable} syntax to map outputs from previous nodes as inputs to subsequent nodesflows tableflow_runs tabletask_instances tablerun_bootstrap toolThe extension is installed as a standard Pi extension:
# From anywhere, install the extension
pi install git:https://github.com/MauricioPerera/pi-extension-data-architect
# Or install locally if you have the repo cloned
pi install -l /path/to/pi-extension-data-architect
Once installed, the extension provides several custom tools:
Store a new workflow definition.
Parameters:
name (string, required): Unique name for the workflowdefinition (string, required): JSON string representing the workflow definitiondescription (string, optional): Human-readable descriptiontags (string, optional): Comma-separated tags for categorizationversion (string, optional): Semantic version (default: "1.0.0")Example:
/tool:flow_create
{
"name": "server_startup_check",
"definition": "{\"nodes\":[{\"id\":\"check_server\",\"type\":\"tool\",\"tool\":\"bash\",\"inputMapping\":{\"command\":\"curl -s http://localhost:3000/public/tables || echo 'SERVER_DOWN'\"}},{\"id\":\"start_if_needed\",\"type\":\"agent\",\"agent\":\"server-watchdog\",\"inputMapping\":{\"command\":\"start\"},\"dependsOn\":[\"check_server\"]}]}",
"description": "Check js-doc-store-server status and start if needed",
"tags": "server,startup,automation",
"version": "1.0.0"
}
List all stored workflow definitions.
Parameters:
tags (string, optional): Comma-separated tags to filter byExample:
/tool:flow_list
# Lists all workflows
/tool:flow_list
{
"tags": "server,startup"
}
# Lists only workflows with server and startup tags
Execute a workflow by name.
Parameters:
flowName (string, required): Name of the workflow to executevariables (string, optional): JSON string of variables to pass to the workflowExample:
/tool:flow_run
{
"flowName": "server_startup_check"
}
Check the status of a workflow run.
Parameters:
runId (string, required): ID of the workflow run to checkExample:
/tool:flow_status
{
"runId": "abc123def456"
}
Ensure essential tables exist for the flow engine to operate.
Parameters: None
Example:
/tool:run_bootstrap
# Creates tables: flows, flow_runs, task_instances, skills, messages if they don't exist
A workflow definition is a JSON object with the following structure:
{
"nodes": [
{
"id": "unique_node_id",
"type": "agent|skill|tool",
"agent": "agent_name", // Required for agent type
"skill": "skill_name", // Required for skill type
"tool": "tool_name", // Required for tool type
"dependsOn": ["node_id1", "node_id2"], // Optional: array of node IDs this node depends on
"inputMapping": { // Optional: mapping of inputs for this node
"param1": "${previous_node.output}",
"param2": "literal_value",
"param3": "${context.variable}"
},
"outputMapping": { // Optional: mapping of outputs to context
"context_key": "${node.output}",
"another_key": "literal_value"
},
"maxRetries": 3 // Optional: maximum retry attempts (default: 0)
}
]
}
Execute Pi subagents:
{
"id": "process_data",
"type": "agent",
"agent": "data-processor",
"inputMapping": {
"inputData": "${fetch_data.output}"
},
"dependsOn": ["fetch_data"]
}
Load and invoke Pi skills:
{
"id": "validate_input",
"type": "skill",
"skill": "input-validator",
"inputMapping": {
"dataToValidate": "${user_input}",
"rules": "${validation_rules}"
}
}
Execute Pi tools:
{
"id": "save_results",
"type": "tool",
"tool": "write",
"inputMapping": {
"path": "./results/${workflow_id}.json",
"content": "${process_data.output}"
},
"dependsOn": ["process_data"]
}
This extension works seamlessly with the embedded server startup procedure in the skill-registry skill (version 2.2.0):
server-startup procedure{
"nodes": [
{
"id": "check_server",
"type": "tool",
"tool": "bash",
"inputMapping": {
"command": "curl -s http://localhost:3000/public/tables || echo 'DOWN'"
}
},
{
"id": "start_server_if_needed",
"type": "skill",
"skill": "server-startup",
"dependsOn": ["check_server"]
},
{
"id": "verify_server_started",
"type": "tool",
"tool": "bash",
"inputMapping": {
"command": "curl -s http://localhost:3000/public/tables"
},
"dependsOn": ["start_server_if_needed"]
}
]
}
On f