用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/vamseeachanta/workspace-hub --skill activepieces-5-loop-and-iteration命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | activepieces-5-loop-and-iteration |
| description | Sub-skill of activepieces: 5. Loop and Iteration. |
| version | 1.0.0 |
| category | operations |
| type | reference |
| scripts_exempt | true |
// Loop over items
const loopFlow = {
"displayName": "Batch Order Processing",
"trigger": {
"name": "webhook",
"type": "WEBHOOK",
"settings": {},
"displayName": "Batch Orders"
},
"steps": [
{
"name": "process_orders",
"type": "LOOP_ON_ITEMS",
"settings": {
"items": "{{trigger.body.orders}}",
"steps": [
{
"name": "validate_order",
"type": "CODE",
"settings": {
"input": {
"order": "{{loop.item}}"
},
"sourceCode": {
"code": `
export const code = async (inputs) => {
const { order } = inputs;
const errors = [];
if (!order.customer_id) errors.push('Missing customer_id');
if (!order.items || order.items.length === 0) errors.push('No items in order');
if (!order.total || order.total <= 0) errors.push('Invalid total');
return {
valid: errors.length === 0,
errors,
order: errors.length === 0 ? order : null
};
};`
}
},
"displayName": "Validate Order"
},
{
"name": "check_inventory",
"type": "PIECE",
"settings": {
"pieceName": "@activepieces/piece-http",
"actionName": "send_request",
"input": {
"method": "POST",
"url": "{{connections.inventory_api.base_url}}/api/check-availability",
"headers": {
"Authorization": "Bearer {{connections.inventory_api.api_key}}"
},
"body": {
"items": "{{validate_order.order.items}}"
}
}
},
"displayName": "Check Inventory"
},
{
"name": "process_payment",
"type": "PIECE",
"settings": {
"pieceName": "@activepieces/piece-stripe",
"actionName": "create_charge",
"input": {
"amount": "{{validate_order.order.total}}",
"currency": "usd",
"customer": "{{validate_order.order.stripe_customer_id}}",
"description": "Order {{validate_order.order.id}}"
}
},
"displayName": "Process Payment"
},
{
"name": "create_shipment",
"type": "PIECE",
"settings": {
"pieceName": "@activepieces/piece-shippo",
"actionName": "create_shipment",
"input": {
"address_from": "{{connections.shippo.warehouse_address}}",
"address_to": "{{validate_order.order.shipping_address}}",
"parcels": "{{validate_order.order.items}}"
}
},
"displayName": "Create Shipment"
}
]
},
"displayName": "Process Each Order"
},
{
"name": "summarize_results",
"type": "CODE",
"settings": {
"input": {
"results": "{{process_orders}}"
},
"sourceCode": {
"code": `
export const code = async (inputs) => {
const { results } = inputs;
const successful = results.filter(r => r.success);
const failed = results.filter(r => !r.success);
return {
total_processed: results.length,
successful: successful.length,
failed: failed.length,
failed_orders: failed.map(f => ({
order_id: f.order_id,
error: f.error
})),
total_revenue: successful.reduce((sum, r) => sum + r.amount, 0)
};
};`
}
},
"displayName": "Summarize Results"
}
]
};