技能创建器
skill-creator
创建、改进和评估自定义技能,把专业流程转化为可重复使用的 AI 能力。
data-pipeline【数据与研究】Wire ETL, ingestion, cron, and queue jobs with idempotency, atomic writes, data contracts, and dead-letters. Use for "build a pipeline", "sync X into Y", "cron double-counts", "dedupe", "backfill", or "the numbers are wrong after a retry".
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Degree of freedom: MIXED. Layering and window design [HIGH freedom];
idempotency, atomic writes, overlap lock, and the DoD [LOW freedom — run exactly].
Observe: nightly
refresh_order_statsdoescount = count + 1; cron overlapped twice; dashboard totals jumped. Interpret: at-least-once delivery + non-idempotent delta. Classify: recompute-and-replace the day window;pg_try_advisory_lock; persist a watermark. Verify: re-run the same window → identical rows; overlap skipped;pipeline_runsrecorded.
audit-db-schema; post-hoc corruption hunt → plan-data-integrityPipelines fail silently: a retry double-counts, a partial write corrupts a table, a schema drift poisons a dashboard, and nobody notices until the numbers are wrong. This skill bakes correctness in at build time. It complements post-hoc data-integrity audit skills (which detect these after the fact) and the Supabase plugin (DB/Edge Functions/RLS).
Any job that moves, transforms, or aggregates data: ingestion/ETL/ELT, scheduled aggregations, edge-function workers, pg_cron jobs, queue consumers, webhook processors, backfills, materialized-view refreshes.
INSERT ... ON CONFLICT (natural_key) DO UPDATE (upsert), not blind INSERT.now() or a random id.count = count + 1 on a path that can retry.any-cast them downstream.Explicit delivery semantics — know and document whether each stage is at-least-once, at-most-once, or exactly-once, and make the consumer match. Most queues/cron are at-least-once → consumers MUST be idempotent (see #1).
Observability — a pipeline you can't see is a pipeline that's already broken.
pipeline_runs table or logs), don't just console.log.Raw → land source data unchanged, append-only, with ingested_at + source id
Staged → cleaned, typed, validated, deduped (1 row per natural key)
Curated → business entities, joined/enriched, the query surface
Aggregated→ rollups / metrics / materialized views for dashboards
Each layer is rebuildable from the one before it. Never transform-in-place on raw; never let dashboards read raw.
--from, --to / date partition), not "everything since forever". The same code runs the nightly slice and the historical backfill.try/catch {} that swallows errors is banned.count = count + 1 / balance = balance + x on a retryable path → not idempotent.SELECT * into a typed model without a contract → schema drift time bomb.pg_try_advisory_lock / "skip if running".pg_cron is at-least-once and can overlap under load → make the SQL/function idempotent and guard with an advisory lock.full-stack-ship-discipline.audit-db-schema — the schema/constraints the pipeline writes into.supabase-postgres-best-practices — Postgres-level query/index tuning (official Supabase plugin).full-stack-ship-discipline — deploy + verify functions/cron/policies on the remote.workflow-spec-tdd — spec the contract + test idempotency/edge cases before coding.