AgentSkillsCN

dagster-expert

为 Dagster 及其 dg CLI 提供专家级指导。在执行任何涉及 Dagster 特定知识的任务,或引用资产、物化过程,或数据管道时,务必先使用此技能。常见任务包括:创建新项目、添加新定义、理解当前项目结构、解答关于代码库的一般性疑问(如查找资产、调度器、传感器、组件或作业定义)、调试问题,或深入阐释 Dagster 的特定概念。

SKILL.md
--- frontmatter
name: dagster-expert
description:
  Expert guidance for working with Dagster and the dg CLI. ALWAYS use before doing any task that requires
  knowledge specific to Dagster, or that references assets, materialization, or data pipelines.
  Common tasks may include creating a new project, adding new definitions, understanding the current project structure, answering general questions about the codebase (finding asset, schedule, sensor, component or job definitions), debugging issues, or providing deep information about a specific Dagster concept.

Dagster Expert Skill

Expert guidance for building production-quality Dagster projects. Routes you to detailed reference documentation for assets, automation, project structure, and CLI commands.

IMPORTANT: For new assets, schedules, or sensors, ALWAYS use dg scaffold before manual file creation. See cli/scaffold.md.

Invoke EARLY: If the task involves automation conditions, scheduling logic, or integration components (dbt, Fivetran, etc.), invoke this skill or the appropriate sub-skill BEFORE exploring the codebase. The references contain all needed patterns.

Task Router

What do you need?Reference
Create a projectQuick Reference below (use uvx create-dagster project)
Add an asset/schedule/sensorcli/scaffold.md (ALWAYS scaffold first) + pattern docs
Add integration component (dbt, Fivetran, Airbyte, Snowflake, etc.)Invoke dagster-integrations skill (contains scaffolding, YAML schema, adapter requirements)
Complex scheduling / different triggers per dependencyautomation/declarative-automation/README.md
Run/materialize assetscli/launch.md
Select specific assetscli/asset-selection.md
List definitionscli/list.md
Validate projectcli/check.md
Understand asset patternsassets.md
Understand project layoutproject-structure.md
Set up automationautomation/README.md
Debug/get logscli/api.md
Configure env varsenv-vars.md
Implementation workflowimplementation-workflow.md

Keyword Router

KeywordsReference
create project, new project, init, setupQuick Reference below
workspace, multi-project, multiple projectsQuick Reference below
scaffold, generate, create asset/schedule/sensorcli/scaffold.md
dbt, fivetran, airbyte, snowflake, bigquery, external tool, integration component, dagster_dbt, dagster_fivetranInvoke dagster-integrations skill directly
complex triggers, different triggers, hot/cold dependencies, conditional automationautomation/declarative-automation/README.md
automation_condition, AutomationCondition, eager(), any_downstream_conditionsautomation/declarative-automation/README.md
list, show, find, discover, what assetscli/list.md
validate, check, verify, test configcli/check.md
launch, run, materialize, execute, backfillcli/launch.md
select, filter, tag, group, kind, upstream, downstreamcli/asset-selection.md
logs, debug, troubleshoot runcli/api.md
deploy, plus, cloudcli/api.md
asset, dependency, metadata, partitionassets.md
schedule, cron, time-basedautomation/schedules.md
sensor, event-driven, triggerautomation/sensors/
declarative automation, conditionsautomation/declarative-automation/
project structure, code location, definitionsproject-structure.md
environment variables, env, configenv-vars.md

Quick Reference

bash
# Project Setup
uvx create-dagster project <name> --uv-sync  # --uv-sync creates venv and installs deps
uvx create-dagster workspace <name>          # For multiple related projects
# Output confirms success—no verification needed

# Scaffold (ALWAYS use for new definitions)
# NOTE: Paths are RELATIVE TO defs/ directory, not project root
dg scaffold defs dagster.asset assets/my_asset.py
dg scaffold defs dagster.schedule schedules/daily.py
dg scaffold defs dagster.sensor sensors/file_watcher.py

# Discover
dg list defs
dg list defs --assets "group:analytics"
dg list components

# Validate
dg check defs

# Launch
dg launch --assets "tag:priority=high"
dg launch --assets "+my_asset"  # with upstream
dg launch --assets my_asset --partition 2024-01-15

Core Dagster Concepts

Brief definitions only (see reference files for detailed examples):

  • Asset: Persistent object (table, file, model) produced by your pipeline
  • Job: Selection of assets to execute together
  • Schedule: Time-based automation using cron
  • Sensor: Event-driven automation that watches for changes
  • Declarative Automation: Modern automation where you set conditions on assets
  • Partition: Logical division of data (by date, category)
  • Component: Reusable, declarative building block (YAML-based)

UV Compatibility

Projects use uv for dependency management:

bash
uv run dg list defs
uv run dg launch --assets my_asset

Related Skills

  • dagster-integrations - Find and configure integration components (dbt, Fivetran, Sling, etc.)