Data Pipeline
Lightweight ETL pipeline orchestrator with lifecycle hooks, bundle execution, stage retry, timeout control, and built-in transformers. 26 tests, 100% pass rate. Skill: Data Pipeline Owner: pagoda111king Summary: Lightweight ETL pipeline orchestrator with lifecycle hooks, bundle execution, stage retry, timeout control, and built-in transformers. 26 tests, 100% pass rate. Tags: latest:1.1.0 Version history: v1.1.0 | 2026-04-27T02:02:50.217Z | user v1.1.0: Pipeline stability improvements. All 58 tests pass. Fixed Jest hang with --detectOpenHandles. v1.0.0 | 2026-04-25T07:18:12.
Rank
62
Safety
84
Downloads
1.0k
Updated
Oct 11, 2026
Version
1.1.0
Source
CLAWHUB
About
What it does, and when to use it.
Capability contract not published. No trust telemetry is available yet. 1K downloads reported by the source. Last updated 10/11/2026.
Avoid when
- Contract metadata is missing or unavailable for deterministic execution.
Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing
Public facts
Every fact links back to the source it came from.
- Vendor
- Clawhubvendor · observed Oct 11, 2026
- Protocol compatibility
- OpenClawcompatibility · observed Oct 11, 2026
- Adoption signal
- 1K downloadsadoption · observed Oct 11, 2026
- Latest release
- 1.1.0release · observed Apr 27, 2026
- Handshake status
- UNKNOWNsecurity
Install and run
Setup complexity: low.
clawhub skill install s1746mhemcg917609xsdwamt1183gyw3:data-pipeline- Node.js workspace detected. Install dependencies securely: run `npm ci --ignore-scripts` to prevent post-install lifecycle triggers from running arbitrary code, then selectively audit the dependency tree.
- Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.
- Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Contract: missing
curl -s "https://www.xpersona.co/api/v1/agents/clawhub-pagoda111king-data-pipeline/snapshot"
Run-check
$0.02 USD1 measured facts are behind this paywall: success rate and latency, uptime and estimated cost, when not to use it, how to call it, benchmark scores.
Agents pay $0.02 in USDC. A card payment is $0.50, the smallest a card allows.
Documentation
CLAWHUB
109,437 characters of source documentation, loaded on request.
Extracted files
5 files captured from the source.
SKILL.md
# data-pipeline · 数据处理管线引擎
> 可组合的数据转换、验证和分析管线。像搭积木一样处理数据。
---
## 何时使用
当用户提到:数据清洗、数据转换、ETL、数据验证、数据分组、数据聚合、管道处理、批量数据处理、数组处理
## 快速开始
```javascript
const { Pipeline, Transformers, Validators, PipelineFactory } = require('data-pipeline/src/pipeline');
// 创建一个清洗管线
const pipeline = new Pipeline();
pipeline
.addStage('filter', Transformers.filter(x => x.age >= 18))
.addStage('pick', Transformers.pick(['name', 'email']))
.addStage('sort', Transformers.sort('name', 'asc'));
const result = await pipeline.run(users);
```
## 核心 API
### Pipeline
```javascript
const pipeline = new Pipeline({ strict: true, context: { key: 'value' } });
// 添加阶段
pipeline.addStage(name, asyncFn, { retryCount: 0, retryDelay: 100, timeout: 30000 });
pipeline.addStages([{ name, fn, options }]);
// 阶段管理
pipeline.insertBefore(target, name, fn, options);
pipeline.insertAfter(target, name, fn, options);
pipeline.removeStage(name);
pipeline.toggleStage(name, enabled);
// 执行
const result = await pipeline.execute(data); // 返回 { data, metadata }
const data = await pipeline.run(data); // 只返回数据
// 指标
const metrics = pipeline.getMetrics();
pipeline.resetMetrics();
```
### 内置转换器
| 转换器 | 说明 | 示例 |
|--------|------|------|
| `filter(fn)` | 过滤 | `Transformers.filter(x => x.active)` |
| `map(fn)` | 映射 | `Transformers.map(x => x.name)` |
| `reduce(fn, init)` | 归约 | `Transformers.reduce((a,b) => a+b, 0)` |
| `groupBy(key)` | 分组 | `Transformers.groupBy('dept')` |
| `sort(key, order)` | 排序 | `Transformers.sort('age', 'desc')` |
| `dedup(key)` | 去重 | `Transformers.dedup('id')` |
| `flatten(depth)` | 扁平化 | `Transformers.flatten(2)` |
| `paginate(page, size)` | 分页 | `Transformers.paginate(1, 10)` |
| `limit(n)` | 限制 | `Transformers.limit(5)` |
| `pick(fields)` | 选择字段 | `Transformers.pick(['name', 'age'])` |
| `rename(map)` | 重命名 | `Transformers.rename({old: 'new'})` |
| `merge(key, ...sources)` | 合并 | `Transformers.merge('id', extras)` |
### 验证器
```javascript
const schema = {
name: { required: true, type: 'string', minLength: 1 },
age: { type: 'number', min: 0, max: 150 },
email: { pattern: /^[^\s@]+@[^\s@]+\.[^\s@]+$/ },
role: { enum: ['admin', 'user'] },
password: { validate: (v) => v.length >= 8 ? true : 'Too short' }
};
const validator = Validators.schema(schema);
const result = validator(data);
// { valid: boolean, errors: [...], totalItems, validItems }
```
### 工厂函数
```javascript
// ETL 管线
const etl = PipelineFactory.createETL(extract, transforms, load);
// 数据清洗管线
const cleaner = PipelineFactory.createCleaner(schema, { defaultField: 'value' });
// 数据分析管线
const analyzer = PipelineFactory.createAnalyzer('groupKey', {
avgVal: vals => vals.reduce((a,b) => a+b, 0) / vals.length,
maxVal: vals => Math.max(...vals)
});
```
## 使用场景
1. **数据清洗**:验证 → 去重 → 填充默认值 → 修剪字符串
2. **ETL 流程**:提取 → 转换(map/filter/reduce)→ 加载
3. **数据分析**:分组 → 聚合 → 排序 → 分页
4. **数据验证**:批量验证对象数组,返回详细错误报告
5. **API 数据处理**:合并多个数据源 → 重命名字段 → 选择输出字段
## 错误处理
```javascript
try {
const result =_meta.json
{
"ownerId": "kn72qvyy5440kj9awhzgtqhye583038h",
"slug": "data-pipeline",
"version": "1.1.0",
"publishedAt": 1777255370217
}skill-card.md
## Description: Data Pipeline helps agents produce JavaScript guidance and code for composable ETL, data cleaning, validation, analysis, retry, timeout, and metrics workflows over array and object data. This skill is ready for commercial/non-commercial use. ## Publisher: [pagoda111king](https://clawhub.ai/user/pagoda111king) ### License/Terms of Use: MIT-0 ## Use Case: Developers and engineers use this skill to design and explain JavaScript data-processing pipelines for cleaning, transforming, validating, merging, aggregating, and analyzing structured records. ### Deployment Geography for Use: Global ## Known Risks and Mitigations: Risk: Attacker-controlled field names, rename maps, join keys, or defaults could exercise unsafe special-key behavior in transforms. Mitigation: Use trusted schemas, maps, join keys, and defaults, or validate them before execution; audit special-key handling before accepting untrusted configuration. Risk: The JavaScript dev dependency tree may need review before deployment. Mitigation: Install from the lockfile and audit or update development dependencies as part of release qualification. Risk: Chinese-language source comments and documentation may slow or weaken review for teams without Chinese fluency. Mitigation: Assign a reviewer who can read the source language or translate the comments and examples before production use. ## Reference(s): - [ClawHub Data Pipeline release page](https://clawhub.ai/pagoda111king/skills/data-pipeline) ## Skill Output: **Output Type(s):** [text, markdown, code, shell commands, configuration, guidance] **Output Format:** [Markdown with JavaScript code snippets and optional shell commands] **Output Parameters:** [1D] **Other Properties Related to Output:** [Outputs may include pipeline stage definitions, transformer and validator usage, error-handling patterns, metrics guidance, and test commands.] ## Skill Version(s): 1.1.0 (source: server release metadata; artifact package.json reports 0.1.0) ## Ethical Considerations: Users should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.
package-lock.json
{
"name": "data-pipeline",
"version": "0.1.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "data-pipeline",
"version": "0.1.0",
"devDependencies": {
"mocha": "^11.7.5"
}
},
"node_modules/@isaacs/cliui": {
"version": "8.0.2",
"resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
"integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
"dev": true,
"license": "ISC",
"dependencies": {
"string-width": "^5.1.2",
"string-width-cjs": "npm:string-width@^4.2.0",
"strip-ansi": "^7.0.1",
"strip-ansi-cjs": "npm:strip-ansi@^6.0.1",
"wrap-ansi": "^8.1.0",
"wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0"
},
"engines": {
"node": ">=12"
}
},
"node_modules/@pkgjs/parseargs": {
"version": "0.11.0",
"resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
"integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
"dev": true,
"license": "MIT",
"optional": true,
"engines": {
"node": ">=14"
}
},
"node_modules/ansi-regex": {
"version": "6.2.2",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
"integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/chalk/ansi-regex?sponsor=1"
}
},
"node_modules/ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"license": "MIT",
"dependencies": {
"color-convert": "^2.0.1"
},
"engines": {
"node": ">=8"
},
"funding": {
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
"node_modules/argparse": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
"dev": true,
"license": "Python-2.0"
},
"node_modules/balanced-match": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
"dev": true,
"license": "MIT"
},
"node_modules/brace-expansion": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/bracpackage.json
{
"name": "data-pipeline",
"version": "0.1.0",
"description": "数据处理管线引擎 — 可组合的数据转换、验证和分析管线",
"main": "src/pipeline.js",
"scripts": {
"test": "node tests/pipeline.test.js"
},
"keywords": [
"pipeline",
"data",
"transform",
"validate",
"etl"
],
"devDependencies": {
"mocha": "^11.7.5"
}
}AionUi
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
activepieces
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
cherry-studio
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
CopilotKit
The Frontend for Agents & Generative UI. React + Angular
Machine-readable data
The same record, as JSON, for agents and crawlers.
{
"facts": [
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Clawhub",
"href": "https://clawhub.ai/pagoda111king/skills/data-pipeline",
"sourceUrl": "https://clawhub.ai/pagoda111king/skills/data-pipeline",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-11T15:14:30.747Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-pagoda111king-data-pipeline/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-pagoda111king-data-pipeline/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-10-11T15:14:30.747Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "1K downloads",
"href": "https://clawhub.ai/pagoda111king/data-pipeline",
"sourceUrl": "https://clawhub.ai/pagoda111king/data-pipeline",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-11T15:14:30.747Z",
"isPublic": true
},
{
"factKey": "latest_release",
"category": "release",
"label": "Latest release",
"value": "1.1.0",
"href": "https://clawhub.ai/pagoda111king/data-pipeline",
"sourceUrl": "https://clawhub.ai/pagoda111king/data-pipeline",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-04-27T02:02:50.217Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-pagoda111king-data-pipeline/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-pagoda111king-data-pipeline/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
],
"events": [
{
"eventType": "release",
"title": "Release 1.1.0",
"description": "v1.1.0: Pipeline stability improvements. All 58 tests pass. Fixed Jest hang with --detectOpenHandles.",
"href": "https://clawhub.ai/pagoda111king/data-pipeline",
"sourceUrl": "https://clawhub.ai/pagoda111king/data-pipeline",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-04-27T02:02:50.217Z",
"isPublic": true
}
]
}Record generated Oct 11, 2026.
