Token导航 LogoToken导航TokenDH.com
开发执行命令github未标认证来源可访问clear审计通过

bloodbank-event-system血库事件系统

Agent Skill

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

总安装

269

周安装

11

GitHub Stars

9

下载量

86
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

3

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/delorenj/skills --skill bloodbank-event-system

简介

用于处理GitHub仓库、Issue、Pull Request和代码协作信息,适合围绕项目状态与变更事项整理。

  • 作为33GOD生态事件总线,通过RabbitMQ实现服务间松耦合通信与可扩展架构。
  • 各组件使用Pydantic2定义payload并注册至Bloodbank,事件包含元数据与可选负载。
  • 安装前应评估消息队列连接安全性,防止未授权服务接入导致数据泄露或篡改。
  • bloodbank-event-system 属于开发类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Bloodbank Event System

Bloodbank is the event bus for the 33GOD ecosystem. It allows different systems to communicate with each other in an event-driven manner. It's designed to facilitate loose coupling between services, enabling scalability and flexibility.

Architecture

  • Each component in the pipeline is responsible for defining its own payload using Pydantic2 and adding the definitions to Bloodbank.
  • Each event consists of a payload with optional metadata. The payload is wrapped in a common envelope that includes metadata such as event type, timestamp, and source.
  • RabbitMQ is used as the event bus. It handles the routing of events between producers and consumers.
  • Events are immutable messages that let us know something has happened in the system. Their key always follow the pattern <eventType>.<entity>.<past-tense-action>, for example, github.pr.created.
  • Events that result in a mutation are Command events. Unlike basic events, they have their own exchange and are bound to the appropriate worker queue(s). Command events follow the naming convention <eventType>.<entity>.<action>, for example, github.pr.merge.

Infrastructure

RabbitMQ is used as the event bus. It is

Event Inventory

The number of events in the system is always growing as new features and integrations are added. You can get a complete list of events and their payload definitions by running the Bloodbank CLI command:

bloodbank list-events # Returns a list of all events in the system

# To only list commands you can use:
bloodbank list-events --type command

# or for convenience:
bloodbank list-commands

To print the schema for a specific event, use:

bloodbank show [event-key]

Integration with n8n Workflows

Shell Context Independence for Execute Command Nodes

Critical Pattern: n8n Execute Command nodes run in subprocess environments without access to shell aliases/functions.

Implementation Requirements:

  1. Self-contained scripts in ~/.local/bin/
  2. Explicit PATH exports in script headers
  3. No dependencies on .zshrc, .bashrc, or shell configuration
  4. Detached execution for long-running operations with immediate response

jelmore CLI Integration Pattern

jelmore is the preferred execution primitive for LLM invocations in n8n workflows. It implements shell context independence while providing convention-based intelligence and event-driven coordination with Bloodbank.

Why Use jelmore in n8n Workflows:

  • ✅ Shell-context-free execution (no alias dependencies)
  • ✅ Immediate return with session handle (non-blocking)
  • ✅ Convention over configuration (auto-infer client/MCP servers)
  • ✅ Built-in iMi worktree integration
  • ✅ Native Bloodbank event publishing
  • ✅ Detached Zellij sessions for observability

Execute Command Node with jelmore:

{
  "command": "uv run jelmore execute -f /path/to/task.md --worktree pr-{{ $json.pr_number }} --auto --json",
  "timeout": 5000
}

Immediate Response (Non-blocking):

{
  "execution_id": "abc123",
  "session_name": "jelmore-pr-458-20251103-143022",
  "client": "claude-flow",
  "log_path": "/tmp/jelmore-abc123.log",
  "working_directory": "/home/delorenj/code/n8n/pr-458",
  "started_at": "2025-11-03T14:30:22"
}

Parse Response Node:

const output = JSON.parse($('Execute Command').json.stdout);

return {
  sessionName: output.session_name,
  attachCommand: `zellij attach ${output.session_name}`,
  executionId: output.execution_id,
  logPath: output.log_path,
  workingDir: output.working_directory
};

Event-Driven Coordination Pattern

jelmore automatically publishes lifecycle events to Bloodbank, enabling event-driven workflow orchestration:

Execution Lifecycle Events:

jelmore.execution.started   → Task begins
jelmore.execution.progress  → Periodic status updates
jelmore.execution.completed → Task finished successfully
jelmore.execution.failed    → Task encountered error

Workflow Integration Pattern:

┌─────────────────────────────────────────────┐
│  n8n Workflow (Execute Command Node)        │
│  - Triggers jelmore execution               │
│  - Gets immediate response with handle      │
│  - Continues to next node                   │
└─────────────────┬───────────────────────────┘
                  │
                  │ (event: jelmore.execution.started)
                  ▼
┌─────────────────────────────────────────────┐
│  Bloodbank Event Bus                        │
│  - Routes events to subscribers             │
│  - Persists event history                   │
└─────────────────┬───────────────────────────┘
                  │
                  │ (subscribe to lifecycle events)
                  ▼
┌─────────────────────────────────────────────┐
│  n8n Webhook Trigger (Separate Workflow)    │
│  - Listens for jelmore.execution.completed  │
│  - Processes results                        │
│  - Triggers next phase                      │
└─────────────────────────────────────────────┘

Example Multi-Phase Workflow:

Phase 1: PR Review Trigger (Workflow A)

// Execute Command Node
{
  "command": "uv run jelmore execute --config pr-review.json --var PR_NUMBER={{ $json.pr_number }} --json"
}

// HTTP Request Node (Publish Event)
{
  "method": "POST",
  "url": "http://bloodbank/events/publish",
  "body": {
    "event_type": "workflow.pr_review.triggered",
    "payload": {
      "execution_id": "{{ $json.executionId }}",
      "pr_number": "{{ $json.prNumber }}",
      "session_name": "{{ $json.sessionName }}"
    }
  }
}

Phase 2: Completion Handler (Workflow B - Webhook Trigger)

// Webhook receives: jelmore.execution.completed event from Bloodbank
// Function Node processes result
const result = $webhook.body;

if (result.status === "success") {
  // Parse jelmore output
  const analysis = result.output;

  // Update GitHub PR with comments
  return {
    pr_number: result.context.pr_number,
    comments: analysis.review_comments,
    approved: analysis.recommendation === "APPROVE"
  };
}

jelmore Configuration Patterns for n8n

Use jelmore config files for reusable workflow patterns. Store configs in ~/.config/jelmore/profiles/ or in your project's .jelmore/ directory.

Example: PR Review Config (~/.config/jelmore/profiles/n8n-pr-review.json):

{
  "name": "n8n PR Review Workflow",
  "client": "claude-flow",
  "mode": "detached",
  "task": {
    "template": "/home/delorenj/code/DeLoDocs/AI/Agents/Generic/My Personal PR Review Representative.md",
    "context": {
      "pr_number": "{{ PR_NUMBER }}",
      "repository": "{{ REPO }}"
    }
  },
  "execution": {
    "strategy": "swarm",
    "max_agents": 4
  },
  "environment": {
    "worktree_resolver": "imi",
    "mcp_servers": ["github-mcp", "bloodbank-mcp"]
  },
  "observability": {
    "session_prefix": "pr-review",
    "publish_events": true,
    "event_tags": {
      "source": "n8n",
      "workflow_id": "{{ WORKFLOW_ID }}"
    }
  },
  "callbacks": {
    "on_completion": "{{ WEBHOOK_URL }}",
    "on_error": "{{ ERROR_WEBHOOK }}"
  }
}

n8n Execute Command with Config:

{
  "command": "uv run jelmore execute --config n8n-pr-review.json --var PR_NUMBER={{ $json.pr_number }} --var REPO={{ $json.repo }} --var WORKFLOW_ID={{ $workflow.id }} --json"
}

Advanced Pattern: Status Monitoring

Optional status polling for long-running tasks:

// Execute Command Node (in loop with delay)
{
  "command": "uv run jelmore status {{ $json.executionId }} --json",
  "continueOnFail": true
}

// Switch Node (check status)
if (status === "running") {
  // Continue polling
} else if (status === "completed") {
  // Process results
} else if (status === "failed") {
  // Handle error
}

Bloodbank Event Schema for jelmore

Event: jelmore.execution.started

{
  "event_type": "jelmore.execution.started",
  "timestamp": "2025-11-03T14:30:22Z",
  "payload": {
    "execution_id": "abc123",
    "client": "claude-flow",
    "worktree": "/home/delorenj/code/n8n/pr-458",
    "session_name": "jelmore-pr-458-20251103-143022",
    "config": {
      "model_tier": "balanced",
      "max_agents": 4
    }
  },
  "metadata": {
    "source": "jelmore",
    "tags": {
      "workflow_id": "n8n_workflow_123"
    }
  }
}

Event: jelmore.execution.completed

{
  "event_type": "jelmore.execution.completed",
  "timestamp": "2025-11-03T14:45:38Z",
  "payload": {
    "execution_id": "abc123",
    "status": "success",
    "duration_seconds": 916,
    "output": {
      "summary": "...",
      "artifacts": ["..."]
    }
  }
}

Legacy Pattern (Pre-jelmore)

Example Execute Command Node Configuration (Custom Scripts):

{
  "command": "/home/delorenj/.local/bin/workflow-script task-123",
  "timeout": 5000  // Returns immediately with session info
}

Observability Pattern:

  • Scripts spawn detached Zellij sessions for long-running operations
  • Return unique session identifiers immediately
  • Workflow can continue while operation runs in background
  • Session can be attached later for inspection

Migration Path: Replace custom scripts with jelmore execute calls to leverage convention engine, event publishing, and unified execution model.

See Also:

  • ecosystem-patterns skill - jelmore architecture and usage patterns
  • /home/delorenj/code/jelmore/CLI.md - Complete jelmore CLI reference
  • creating-workflows skill - Workflow patterns with jelmore integration

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

04

需要参考平台分布和安装热度时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Claude Code

29.74%
按下载量换算26

windsurf

23.73%
按下载量换算20

OpenCode

18.17%
按下载量换算16

Codex

12.08%
按下载量换算10

Antigravity

7.93%
按下载量换算7

Gemini CLI

3.36%
按下载量换算3

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

执行命令

安装流程涉及命令执行,可能通过 npx skills add https://github.com/delorenj/skills --skill bloodbank-event-system;npx skills add delorenj/skills --skill "bloodbank-event-system" 联网下载 Skill 或依赖。用户安装前应确认命令来源、仓库内容和执行环境。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。

来源信息

继续浏览同类 Skills