Token导航 LogoToken导航TokenDH.com
开发需要联网github未标认证来源可访问许可证需确认审计提醒

data-pipeline数据管道

Agent Skill

用于辅助数据整理、表格处理、CSV/Excel 分析、指标计算和图表准备。它适合让 Agent 清洗字段、汇总数据、发现异常、生成统计口径或把分析结果转成可读说明。使用时需要确认数据来源、字段含义和时间范围,避免把样本数据当全量事实;涉及敏感数据、导出文件或批量写回时,应先确认权限和脱敏边界。

总安装

17,616

周安装

749

GitHub Stars

89

下载量

6,172
CodexClaudeCursorGemini CLI

安装说明

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

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

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

skills.shnpx skills
npx skills add https://github.com/claude-office-skills/skills --skill data-pipeline

简介

用于构建数据管道和 ETL 工作流,实现数据集成、转换与分析自动化。

  • 支持多源提取、清洗映射、目标加载及调度监控等全流程管理。
  • 基于 n8n 模板提供标准化流程设计,适用于批量数据处理场景。
  • 使用时需明确输入输出格式、字段映射规则与错误处理机制。
  • 涉及数据库连接或文件读写时,应提前配置访问权限与安全策略。

SKILL.md

Data Pipeline

Build data pipelines and ETL workflows for data integration, transformation, and analytics automation. Based on n8n's data workflow templates.

Overview

This skill covers:

  • Data extraction from multiple sources
  • Transformation and cleaning
  • Loading to destinations
  • Scheduling and monitoring
  • Error handling and alerts

ETL Patterns

Basic ETL Flow

┌─────────────┐    ┌─────────────┐    ┌─────────────┐
│   EXTRACT   │───▶│  TRANSFORM  │───▶│    LOAD     │
│             │    │             │    │             │
│ • APIs      │    │ • Clean     │    │ • Database  │
│ • Databases │    │ • Map       │    │ • Warehouse │
│ • Files     │    │ • Aggregate │    │ • Files     │
│ • Webhooks  │    │ • Enrich    │    │ • APIs      │
└─────────────┘    └─────────────┘    └─────────────┘

n8n ETL Workflow

workflow: "Daily Sales ETL"
schedule: "2am daily"

nodes:
  # EXTRACT
  - name: "Extract from Shopify"
    type: shopify
    action: get_orders
    filter: created_at >= yesterday

  - name: "Extract from Stripe"
    type: stripe
    action: get_payments
    filter: created >= yesterday

  # TRANSFORM
  - name: "Merge Data"
    type: merge
    mode: combine_by_key
    key: order_id

  - name: "Transform"
    type: code
    code: |
      return items.map(item => ({
        date: item.created_at.split('T')[0],
        order_id: item.id,
        customer_email: item.email,
        total: parseFloat(item.total_price),
        currency: item.currency,
        items: item.line_items.length,
        source: item.source_name,
        payment_status: item.payment.status
      }));

  # LOAD
  - name: "Load to BigQuery"
    type: google_bigquery
    action: insert_rows
    table: sales_daily

  - name: "Update Google Sheets"
    type: google_sheets
    action: append_rows
    spreadsheet: "Daily Sales Report"

Data Sources

Common Extractors

extractors:
  databases:
    - postgresql:
        connection: connection_string
        query: "SELECT * FROM orders WHERE date >= $1"

    - mysql:
        connection: connection_string
        query: custom_sql

    - mongodb:
        connection: connection_string
        collection: orders
        filter: {date: {$gte: yesterday}}

  apis:
    - rest_api:
        url: "https://api.example.com/data"
        method: GET
        headers: {Authorization: "Bearer {token}"}
        pagination: handle_automatically

    - graphql:
        url: "https://api.example.com/graphql"
        query: graphql_query

  files:
    - csv:
        source: sftp/s3/google_drive
        delimiter: ","
        encoding: utf-8

    - excel:
        source: file_path
        sheet: "Sheet1"

    - json:
        source: api/file
        path: "data.items"

  saas:
    - salesforce: get_objects
    - hubspot: get_contacts/deals
    - stripe: get_charges
    - shopify: get_orders

Transformations

Common Transformations

transformations:
  cleaning:
    - remove_nulls: drop_or_fill
    - trim_whitespace: all_string_fields
    - deduplicate: by_key
    - validate: against_schema

  mapping:
    - rename_fields: {old_name: new_name}
    - convert_types: {date_string: date}
    - map_values: {status_code: status_name}

  aggregation:
    - group_by: [date, category]
    - sum: [revenue, quantity]
    - count: orders
    - average: order_value

  enrichment:
    - lookup: from_reference_table
    - geocode: from_address
    - calculate: derived_fields

  filtering:
    - where: condition
    - limit: n_rows
    - sample: percentage

Code Transform Examples

// Clean and normalize data
function transform(items) {
  return items.map(item => ({
    // Clean strings
    name: item.name?.trim().toLowerCase(),

    // Parse dates
    date: new Date(item.created_at).toISOString().split('T')[0],

    // Convert types
    amount: parseFloat(item.amount) || 0,

    // Map values
    status: statusMap[item.status_code] || 'unknown',

    // Calculate fields
    total: item.quantity * item.unit_price,

    // Filter nested
    tags: item.tags?.filter(t => t.active).map(t => t.name),

    // Default values
    source: item.source || 'direct'
  }));
}

// Aggregate data
function aggregate(items) {
  const grouped = {};

  items.forEach(item => {
    const key = `${item.date}_${item.category}`;
    if (!grouped[key]) {
      grouped[key] = {
        date: item.date,
        category: item.category,
        total_revenue: 0,
        order_count: 0
      };
    }
    grouped[key].total_revenue += item.amount;
    grouped[key].order_count += 1;
  });

  return Object.values(grouped);
}

Data Destinations

Common Loaders

loaders:
  data_warehouses:
    - bigquery:
        project: project_id
        dataset: analytics
        table: sales
        write_mode: append/truncate

    - snowflake:
        account: account_id
        warehouse: compute_wh
        database: analytics
        schema: public

    - redshift:
        cluster: cluster_id
        database: analytics

  databases:
    - postgresql:
        upsert: on_conflict_update

    - mysql:
        batch_insert: 1000_rows

  files:
    - s3:
        bucket: data-lake
        path: /processed/{date}/
        format: parquet

    - google_cloud_storage:
        bucket: data-bucket

  spreadsheets:
    - google_sheets:
        mode: append/overwrite

    - airtable:
        base: base_id
        table: table_name

  apis:
    - webhook:
        url: destination_url
        batch_size: 100

Scheduling & Monitoring

Pipeline Scheduling

scheduling:
  patterns:
    hourly:
      cron: "0 * * * *"
      use_for: real_time_dashboards

    daily:
      cron: "0 2 * * *"
      use_for: daily_reports

    weekly:
      cron: "0 3 * * 1"
      use_for: weekly_summaries

    on_demand:
      trigger: webhook/manual
      use_for: ad_hoc_analysis

  dependencies:
    - pipeline_a: must_complete_before pipeline_b
    - wait_for: all_extracts_complete

  retries:
    max_attempts: 3
    delay: exponential_backoff
    alert_on: final_failure

Monitoring & Alerts

monitoring:
  metrics:
    - rows_processed
    - execution_time
    - error_count
    - data_freshness

  alerts:
    pipeline_failed:
      channels: [slack, pagerduty]
      template: |
        🚨 *Pipeline Failed*

        Pipeline: {pipeline_name}
        Stage: {failed_stage}
        Error: {error_message}

        [View Logs]({logs_url})

    data_quality:
      trigger: anomaly_detected
      conditions:
        - row_count: differs_by > 50%
        - null_rate: exceeds_threshold
        - schema: changed_unexpectedly

    stale_data:
      trigger: last_update > threshold
      threshold: 2_hours

Data Quality

Quality Checks

data_quality:
  schema_validation:
    - required_fields: [id, date, amount]
    - field_types:
        id: integer
        date: date
        amount: number
    - allowed_values:
        status: [active, pending, closed]

  statistical_checks:
    - null_rate: < 5%
    - duplicate_rate: < 1%
    - value_range:
        amount: [0, 1000000]

  business_rules:
    - total_equals_sum_of_line_items
    - dates_are_not_in_future
    - email_format_valid

  trend_analysis:
    - row_count: within_2_std_of_mean
    - total_value: within_expected_range

Output Example

Request: "Create a daily sales data pipeline"

Output:

# Daily Sales Data Pipeline

## Pipeline Overview

Shopify + Stripe → Transform → BigQuery + Sheets

## Schedule
- Runs: 2am daily
- Timezone: UTC
- Retry: 3 attempts

## Extract

### Shopify Orders

source: shopify filter: created_at >= yesterday fields: [id, email, total_price, line_items, created_at]


### Stripe Payments

source: stripe filter: created >= yesterday fields: [id, amount, status, metadata.order_id]


## Transform

// Join and clean data { date: order.created_at.split('T')[0], order_id: order.id, customer: order.email, revenue: parseFloat(order.total_price), items: order.line_items.length, payment_status: payment.status }


## Load

### BigQuery

- Table: `analytics.sales_daily`
- Mode: Append

### Google Sheets

- Sheet: "Daily Sales Dashboard"
- Tab: "Raw Data"

## Quality Checks

- Row count > 0
- No null order_ids
- Revenue sum matches Stripe

## Alerts

- Slack: #data-alerts
- On failure: @data-team

*Data Pipeline Skill - Part of Claude Office Skills*

适合场景

01

用户想查找某类 Agent Skill 时

02

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

03

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

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

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

平台分布

Codex

36.28%
按下载量换算2,239

Claude

26.73%
按下载量换算1,650

Cursor

20.09%
按下载量换算1,240

Gemini CLI

10.08%
按下载量换算622

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills