Token导航 LogoToken导航

Agent Skill · 开发

eachlabs-workflows(每个实验室的工作流程)

eachlabs-workflows 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

eachlabs-workflows 是开发类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为接触敏感数据;许可证信息还不明确,第三方扫描有提醒项,按安装量在开发类的 21,746 个 Skill 里排第 11,204。

总安装 1,891周安装 78GitHub Stars 12下载 618核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:eachlabs-workflows(每个实验室的工作流程)
来源仓库:https://github.com/eachlabs/skills
仓库路径:skills/eachlabs-workflows
安装命令:
npx skills add https://github.com/eachlabs/skills --skill eachlabs-workflows
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/eachlabs/skills --skill eachlabs-workflows

这个 Skill 是做什么的

开发类 Skill 面向写代码、改代码和排查问题,一般会读写仓库文件,部分还会执行构建或测试命令。

用于构建多步骤 AI 模型流水线。适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。支持工作流创建、版本管理与自动执行。完全免费使用,仅按底层模型调用计费。需配置 X-API-Key 并通过 workflows.eachlabs.run 访问。

eachlabs-workflows 属于开发类 Skill,可作为该场景下的辅助能力补充。

来源仓库内路径:skills/eachlabs-workflows

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/eachlabs/skills --skill eachlabs-workflows;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要接触敏感数据,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

eachlabs-workflows 怎么安装?

在终端执行 npx skills add https://github.com/eachlabs/skills --skill eachlabs-workflows。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

eachlabs-workflows 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

eachlabs-workflows 需要什么权限?

权限级别是接触敏感数据。该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

eachlabs-workflows 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

eachlabs-workflows 用的人多吗?

公开数据是累计安装 1,891 次,近一周安装 78 次,下载 618 次,GitHub 12 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

eachlabs-workflows 安全吗?

第三方扫描有提醒项,说明存在需要人工确认的行为。安装前请打开源码看清它读了什么、联网到哪里。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。

先想清楚的地方

  • 需要接触敏感数据,装到常用环境前要先评估影响面。
  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理开发类任务、又不想每次都手写提示词的人。

不太适合

  • 环境里有大量密钥、凭证,不方便给第三方 Skill 读取的人。
  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

开发类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
skill-vetter

技能审查员 · OpenClaw

8,779,018986操作浏览器MIT-0通过
ontology

本体论 · OpenClaw

6,636,960576只读MIT-0通过
entra-app-registration

内部应用程序注册 · Codex、Claude

6,631,872764接触敏感数据未明确通过
entra-app-registration

内部应用程序注册 · Codex、Claude

3,757,680201接触敏感数据未明确通过
nano-banana-pro

纳米香蕉专业版 · OpenClaw

3,526,898364接触敏感数据MIT-0有提醒
eachlabs-workflows

每个实验室的工作流程 · 本页

1,89112接触敏感数据未明确有提醒

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

EachLabs Workflows

Build, manage, and execute multi-step AI pipelines that chain multiple models together. each::workflows is completely free to use - you only pay for underlying model costs.

Authentication

Header: X-API-Key: <your-api-key>

Set the EACHLABS_API_KEY environment variable. Get your key at eachlabs.ai.

Base URL

https://workflows.eachlabs.run/api/v1

Endpoints

MethodPathDescription
GET/categoriesList workflow categories
POST/workflowsCreate a workflow
GET/workflows/{id}Get workflow (UUID or slug)
PUT/workflows/{id}Update workflow metadata
PUT/workflows/{id}/versions/{versionID}Create or update version
POST/{id}/triggerTrigger execution
POST/{id}/bulk-triggerBulk trigger (1-10 parallel)
GET/workflows/{id}/executionsList executions
GET/executions/{executionID}Get execution details

Building a Workflow

Step 1: Create the Workflow

curl -X POST https://workflows.eachlabs.run/api/v1/workflows \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -d '{
    "name": "Image Enhancement Pipeline",
    "description": "Generate and upscale images",
    "categories": ["image-generation"],
    "definition": {
      "version": "v1",
      "input_schema": {
        "type": "object",
        "properties": {
          "prompt": {"type": "string", "description": "Image description"}
        },
        "required": ["prompt"]
      },
      "steps": [
        {
          "step_id": "generate",
          "type": "model",
          "model": "flux-2-pro",
          "params": {
            "prompt": "{{inputs.prompt}}",
            "aspect_ratio": "16:9"
          }
        },
        {
          "step_id": "upscale",
          "type": "model",
          "model": "topaz-upscale-image",
          "params": {
            "image_url": "{{generate.primary}}",
            "scale": 2
          }
        }
      ]
    }
  }'

Step 2: Trigger the Workflow

curl -X POST https://workflows.eachlabs.run/api/v1/{workflowID}/trigger \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -d '{
    "version_id": "v1",
    "inputs": {"prompt": "A sunset landscape"},
    "webhook_url": "https://your-server.com/webhook"
  }'

Response:

{"execution_id": "exec-123", "status": "queued", "started_at": "..."}

Step 3: Poll for Result

curl https://workflows.eachlabs.run/api/v1/executions/{executionID} \
  -H "X-API-Key: $EACHLABS_API_KEY"

Response:

{
  "execution_id": "exec-123",
  "workflow_id": "wf-456",
  "status": "completed",
  "inputs": {"prompt": "A sunset landscape"},
  "step_outputs": {
    "generate": {
      "step_id": "generate",
      "status": "completed",
      "output": "https://cdn.example.com/image.png",
      "primary": "https://cdn.example.com/image.png",
      "metadata": {"model": "flux-2-pro", "version": "1.0.0"}
    }
  },
  "output": ["https://cdn.example.com/upscaled.png"]
}

Execution statuses: running, completed, failed, cancelled

Step Types

TypePurpose
modelExecute an AI model via each::api
httpExternal HTTP request (GET, POST, PUT, DELETE, PATCH)
pythonExecute Python code
parallelExecute multiple branches concurrently
choiceEvaluate condition and route to matching branch
passPass-through with optional static value injection

All steps support:

  • continue_on_error (boolean) - Continue workflow if step fails
  • timeout_seconds (integer) - Step timeout
  • retry configuration - Automatic retry on failure

Model Steps

{
  "step_id": "generate",
  "type": "model",
  "model": "flux-2-max",
  "params": {
    "prompt": "{{inputs.prompt}}",
    "aspect_ratio": "16:9"
  }
}

HTTP Steps

{
  "step_id": "call_api",
  "type": "http",
  "url": "https://api.example.com/process",
  "method": "POST",
  "headers": {"Content-Type": "application/json"},
  "body": {"data": "{{generate.primary}}"},
  "auth": {"type": "bearer", "token": "{{inputs.api_token}}"},
  "timeout": 30000
}

Auth types: basic (username/password), bearer (token), api_key

Python Steps

{
  "step_id": "transform",
  "type": "python",
  "code": "result = inputs['text'].upper()",
  "inputs": {"text": "{{generate.primary}}"}
}

Parallel Steps

Execute multiple branches simultaneously:

{
  "step_id": "step1",
  "type": "parallel",
  "branches": [
    {
      "name": "Video Generation",
      "steps": [
        {
          "step_id": "step1_branch_0",
          "type": "model",
          "model": "kling-3-0",
          "params": {"prompt": "{{inputs.prompt}}", "duration": 5}
        }
      ]
    },
    {
      "name": "Image Edit",
      "steps": [
        {
          "step_id": "step1_branch_1",
          "type": "model",
          "model": "flux-2-edit",
          "params": {"prompt": "{{inputs.prompt}}", "image_url": "{{inputs.image}}"}
        }
      ]
    }
  ]
}

Choice Steps (Conditional Routing)

{
  "step_id": "step2",
  "type": "choice",
  "condition": {
    "expression": "$.step1.primary",
    "operator": "string_matches",
    "value": ".mp4"
  },
  "condition_met_branch": {
    "name": "condition_met",
    "step_id": "step2_condition_met",
    "steps": [
      {"step_id": "step2_branch_0", "type": "model", "model": "topaz-upscale-video", "params": {"video": "{{step1.primary}}", "scale": 2}}
    ]
  },
  "default_branch": {
    "name": "default",
    "step_id": "step2_default",
    "steps": [
      {"step_id": "step2_default", "type": "model", "model": "topaz-upscale-image", "params": {"image_url": "{{step1.primary}}", "scale": 2}}
    ]
  }
}

Condition operators:

CategoryOptions
Comparisonequals, not_equals, greater_than, less_than, greater_than_or_equal, less_than_or_equal
Stringstring_equals, string_matches
Arrayin, not_in
Existenceexists, not_exists, is_null, is_not_null

Logical operators: and, or, not for complex conditions:

{"and": [
  {"expression": "$.step1.primary", "operator": "string_matches", "value": ".png"},
  {"expression": "$.inputs.upscale", "operator": "equals", "value": true}
]}

Pass Steps

{"step_id": "config", "type": "pass", "result": {"style": "cinematic"}}

Parameter References (Template Syntax)

Use {{double braces}} to reference inputs and step outputs:

ReferencePurposeExample
{{inputs.field}}Workflow input value{{inputs.prompt}}
{{step_id.output}}Full step output{{generate.output}}
{{step_id.primary}}Primary/first result{{generate.primary}}
{{branch_step_id.primary}}Output from parallel branch{{step1_branch_0.primary}}

Templates can be embedded in strings: "A portrait of {{inputs.name}} in {{inputs.style}} style"

Conditions use $ syntax: $.step_id.primary, $.inputs.field

Fallback Configuration

Automatic fallback to secondary model when primary fails:

{
  "step_id": "generate",
  "type": "model",
  "model": "flux-2-max",
  "params": {"prompt": "{{inputs.prompt}}"},
  "fallback": {
    "enabled": true,
    "model": "flux-2-pro",
    "params": {"prompt": "{{inputs.prompt}}"}
  }
}

Version Management

Steps are defined in versions, not in the workflow itself. This allows iterating while keeping previous versions intact.

Version states: active, archived, deleted

Locking: Set locked: true to prevent modifications (for production stability).

Visibility:

  • allowed_to_share: false (default) - Private, organization only
  • allowed_to_share: true - Unlisted, accessible via direct link

Create/Update a Version

curl -X PUT https://workflows.eachlabs.run/api/v1/workflows/{workflowID}/versions/{versionID} \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -d '{
    "description": "Added upscaling step",
    "definition": {
      "version": "v1",
      "input_schema": {
        "type": "object",
        "properties": {
          "prompt": {"type": "string"}
        },
        "required": ["prompt"]
      },
      "steps": [...]
    }
  }'

Bulk Trigger

Process multiple inputs (max 10) in a single API call:

curl -X POST https://workflows.eachlabs.run/api/v1/{workflowID}/bulk-trigger \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -d '{
    "version_id": "v1",
    "inputs": [
      {"prompt": "A sunset landscape"},
      {"prompt": "A mountain scene"},
      {"prompt": "An ocean view"}
    ],
    "webhook_url": "https://your-server.com/webhook"
  }'

Response includes bulk_id for tracking. Partial failures are possible.

Webhooks

Configure a webhook to receive results asynchronously:

curl -X POST https://workflows.eachlabs.run/api/v1/{workflowID}/trigger \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -d '{
    "version_id": "v1",
    "inputs": {"prompt": "A sunset landscape"},
    "webhook_url": "https://your-server.com/webhook",
    "webhook_secret": "your-secret"
  }'

Webhook payload (success):

{"execution_id": "...", "workflow_id": "...", "status": "completed", "inputs": {}, "step_outputs": {}, "output": []}

Retry schedule: ~30 seconds, ~2 minutes, ~10 minutes

Verify webhook authenticity using HMAC-SHA256 with webhook_secret.

Workflow Builder via each::sense

You can also build workflows using natural language via the each::sense workflow endpoint:

curl -X POST https://eachsense-agent.core.eachlabs.run/workflow \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -d '{
    "message": "Create a workflow that generates an image and then upscales it",
    "stream": true,
    "session_id": "my-session"
  }'

To update an existing workflow, include workflow_id and version_id.

Example Workflow References

See references/WORKFLOW-EXAMPLES.md for common workflow patterns.

平台分布

Codex

37.52%
按下载量换算232

Claude

31.17%
按下载量换算193

Cursor

18.88%
按下载量换算117

Gemini CLI

10.27%
按下载量换算63

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

接触敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills