Borrowing it
Nothing to install: this file belongs to terrene-foundation/metis. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/terrene-foundation/metis/main/.claude/skills/02-dataflow/SKILL.mdgit clone --depth 1 https://github.com/terrene-foundation/metisWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/terrene-foundation/metis/02-dataflow)<a href="https://agentmods.dev/skills/terrene-foundation/metis/02-dataflow"><img src="https://agentmods.dev/badge/skills/terrene-foundation/metis/02-dataflow/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/terrene-foundation/metis/02-dataflow"><img src="https://agentmods.dev/badge/skills/terrene-foundation/metis/02-dataflow.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00202 | $0.02520 |
| Opus 5.5 | $0.00081 | $0.01008 |
| Sonnet 5.5 | $0.00040 | $0.00504 |
| Haiku 4.5 | $0.00020 | $0.00252 |
Grade A, and why
dataflow scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
This is a copy
95% identical to dataflow — 2 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 237 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Kailash DataFlow - Zero-Config Database Framework
DataFlow is a zero-config database framework built on Kailash Core SDK that automatically generates workflow nodes from database models.
Overview
- Automatic Node Generation: 11 nodes per model (@db.model decorator)
- Multi-Database Support: PostgreSQL, MySQL, SQLite (SQL) + MongoDB (Document) + pgvector (Vector Search)
- Enterprise Features: Multi-tenancy, multi-instance isolation, transactions
- Zero Configuration: String IDs preserved, deferred schema operations
- Developer Experience: Enhanced errors (DF-XXX codes), strict mode validation, debug agent, CLI tools
Quick Start
Express API (Recommended for Simple CRUD)
from dataflow import DataFlow
# Zero-config initialization
db = DataFlow("sqlite:///app.db", auto_migrate=True)
@db.model
class User:
name: str
email: str
active: bool = True
await db.initialize()
# Async Express (default) — 23x faster than workflow primitives
result = await db.express.create("User", {"name": "Alice", "email": "[email protected]"})
user = await db.express.read("User", result["id"]) # accepts both str and int IDs
users = await db.express.list("User", {"active": True})
count = await db.express.count("User")
await db.express.update("User", result["id"], {"name": "Bob"})
await db.express.delete("User", result["id"])
# Sync Express (CLI scripts, non-async contexts)
result = db.express_sync.create("User", {"name": "Alice", "email": "[email protected]"})
users = db.express_sync.list("User", {"active": True})
Workflow API (For Multi-Step Operations)
Use WorkflowBuilder only when you need multiple nodes with data flow between them.
from kailash.workflow.builder import WorkflowBuilder
from kailash.runtime.local import LocalRuntime
# Multi-node workflow with connections
workflow = WorkflowBuilder()
workflow.add_node("User_Create", "create_user", {
"data": {"name": "John", "email": "[email protected]"}
})
# Execute with context manager (recommended for resource cleanup)
with LocalRuntime() as runtime:
results, run_id = runtime.execute(workflow.build())
user_id = results["create_user"]["result"] # Access pattern
What ships with it
56 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- cache-cas-fail-closed.md 4.9 KB
- dataflow-advanced-patterns.md 4.1 KB
- dataflow-aggregation.md 14 KB
- dataflow-async-lifecycle.md 5.1 KB
- dataflow-bulk-operations.md 6.1 KB
- dataflow-cli-commands.md 2.6 KB
- dataflow-compliance.md 1.4 KB
- dataflow-connection-config.md 8.7 KB
- dataflow-connection-isolation.md 12 KB
- dataflow-count-node.md 9.4 KB
- dataflow-crud-operations.md 20 KB
- dataflow-custom-nodes.md 2.5 KB
- dataflow-debug-agent.md 3.6 KB
- dataflow-deployment.md 3.8 KB
- dataflow-derived-models.md 5.4 KB
- dataflow-dialects.md 6.8 KB
- dataflow-dynamic-updates.md 2.8 KB
- dataflow-enterprise-migrations.md 2.3 KB
- dataflow-error-enhancer.md 2.2 KB
- dataflow-events.md 4.2 KB
- dataflow-existing-database.md 8.6 KB
- dataflow-express-cache.md 3.4 KB
- dataflow-express.md 3.3 KB
- dataflow-fabric-cache-consumers.md 2.1 KB
- dataflow-fabric-engine.md 19 KB
- dataflow-file-import.md 4.1 KB
- dataflow-gotchas.md 20 KB
- dataflow-inspector.md 1.9 KB
- dataflow-installation.md 1.6 KB
- dataflow-migrations-quick.md 1.9 KB
- dataflow-ml-integration.md 5.1 KB
- dataflow-models.md 9.6 KB
- dataflow-monitoring.md 5.1 KB
- dataflow-multi-instance.md 2.8 KB
- dataflow-multi-tenancy.md 3.1 KB
- dataflow-native-arrays.md 2.3 KB
- dataflow-nexus-integration.md 5.8 KB
- dataflow-performance.md 5.4 KB
- dataflow-provenance-audit.md 1.7 KB
- dataflow-queries.md 12 KB
- dataflow-quickstart.md 14 KB
- dataflow-read-replicas.md 2.7 KB
- dataflow-result-access.md 5.7 KB
- dataflow-retention.md 3.2 KB
- dataflow-schema-cache.md 3.3 KB
- dataflow-sqlite-concurrency.md 5.0 KB
- dataflow-strict-mode.md 1.5 KB
- dataflow-tdd-api.md 1.6 KB
- dataflow-tdd-best-practices.md 1.6 KB
- dataflow-tdd-mode.md 3.4 KB
- dataflow-transactions.md 2.6 KB
- dataflow-troubleshooting.md 6.6 KB
- dataflow-upsert-node.md 10 KB
- dataflow-validation-dsl.md 2.6 KB
- dataflow-validation-layers.md 1.6 KB
- migration-scaffold.md 14 KB
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 237 lines · 202 tokens per session scan A 36766967aa11
dataflow is a skill published in the GitHub repository terrene-foundation/metis (2 stars, last pushed 5mo ago), licensed Apache-2.0. It adds 202 tokens to every session and 2,520 once invoked, about $0.0008 per session on Opus 5.5. A static security scan graded it A with 0 findings. It is 95% identical to dataflow, differing in 2 lines, and is treated as a copy.
Other skills, from other repositories
create-pr
Creates a GitHub PR with a Linear-ticket-prefixed title and a decision-led, narrative description for Prisma 8. Use when the user wants to create a pull request, open a PR, or submit changes for review.
schema-exploration
Lists tables, describes columns and data types, identifies foreign key relationships, and maps entity relationships in a database. Use when the user asks about database schema, table structure, column types, what tables exist, ERD, foreign keys, or how entities relate.
atlas-mssql
SQL Server specifics for Atlas (also Azure SQL and MSSQL): login, dev database and URL scope (mode=schema vs mode=database, the database query parameter), compatibility level and collation, system-generated constraint names, clustered index defaults and datetime2 precision in HCL, GO batches and the delimiter…
ha-data-stores
Map of Hope Agent's local data stores and safe read-only query workflow. Use when the user asks where Hope Agent stores data, wants to inspect sessions/messages/memory/logs/background jobs/knowledge indexes/settings, asks the model to query local app data, or debugging requires checking persisted state. Trigger…
nornicdb-cypher-queries
Pick fast, predictable Cypher query shapes in NornicDB — point lookups, batch retrieval, pagination, search, traversal, batched UNWIND/MERGE writes, cleanup, multi-tenant isolation. Use when writing or reviewing Cypher whose latency or throughput matters; maps user intent to the executor's hot-path query templates.
volcengine-rds-postgresql
A tool for operating PostgreSQL databases hosted by Volcano Engine's managed database service. PostgreSQL is a relational database used to store structured application data.