CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

cosmos-dbt-core

Turns a dbt Core project into an Airflow DAG/TaskGroup using Astronomer Cosmos. Use turning a dbt Core project into an Airflow DAG or TaskGroup with Astronomer Cosmos. Before implementing, verify dbt engine, warehouse, Airflow version, execution environment, DAG vs TaskGroup, and manifest availability.

56

Quality

71%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./skills/cosmos-dbt-core/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

60%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is a well-sequenced, largely executable implementation checklist with good decision tables and working code examples for DbtDag, DbtTaskGroup, and direct operators. Its two real defects are broken progressive disclosure — four links to a nonexistent reference/cosmos-config.md — and a truncated CRITICAL note in the parsing section that leaves key containerized-execution guidance missing.

Suggestions

Create the referenced bundle file (references/cosmos-config.md) and fix the four link paths (currently singular 'reference/cosmos-config.md', which does not exist in the bundle), or move the inlined execution-mode, ProfileConfig, and docs-hosting detail into it.

Complete the truncated section-2 note — "**CRITICAL**: Containerized execution (DOCKER/KUBERNETES/etc.)" ends without stating what to do; either state the rule (e.g. which load/execution mode combinations are invalid) or remove the note.

Trim the ~75-line Option C gallery example (S3 checks, upload_to_aws_s3, clone operator) down to the minimal direct-operator pattern, and move Appendix B operational extras to the reference file to cut body length.

DimensionReasoningScore

Conciseness

The body is largely decision tables and code with little concept explanation, but it carries noticeable bulk that could be tightened: a ~75-line copied gallery example (Option C), Appendix B operational extras, and redundancies like "AFTER_EACH (default) | Tests run immediately after each model (default)" stating the default twice in one row — fitting 'mostly efficient but includes some unnecessary explanation or could be tightened' rather than only minor trims.

3 / 5

Actionability

Options A and B are complete, copy-paste-ready DAG/TaskGroup examples and the config snippets are concrete, covering the common cases. Minor gaps keep it from anchor 5: the truncated "**CRITICAL**: Containerized execution (`DOCKER`/`KUBERNETES`/etc.)" note delivers no actual instruction, and the task-dependency example elides its `DbtDag(...)` arguments.

4 / 5

Workflow Clarity

"Execute steps in order" plus numbered sections 1–8, a before-start confirmation list, and a final Safety Checks checklist give a clear sequence with most checkpoints present. It falls short of anchor 5 because there is no error-recovery loop (no guidance on what to do when a safety check fails) and the truncated CRITICAL note breaks one checkpoint mid-thought.

4 / 5

Progressive Disclosure

Sections and reference links are clearly signaled (four "**Reference**: See reference/cosmos-config.md#..." pointers), but no reference file exists in the bundle at all — there is no references/ directory and the links use a singular "reference/" path — so every reference link is dead, while detail that should live there (execution-mode configurations, docs hosting) is inlined in the body. Dead navigation plus inlined content matches 'references are buried/broken; content that clearly belongs in separate files is inlined' (anchor 2) better than anchor 3's merely suboptimal organization.

2 / 5

Total

13

/

20

Passed

Description

70%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description has a clear niche and strong natural trigger terms (dbt Core, Airflow DAG, TaskGroup, Astronomer Cosmos), and it answers both 'what' and 'when'. Its main defects are a garbled, redundant second sentence ("Use turning a dbt Core project...") that weakens the trigger guidance, and narrow capability coverage relative to what the skill body actually handles.

Suggestions

Rewrite the second sentence as a proper trigger clause, e.g. "Use when converting, scheduling, or orchestrating a dbt Core project in Airflow with Astronomer Cosmos" instead of the garbled "Use turning a dbt Core project into an Airflow DAG or TaskGroup with Astronomer Cosmos."

Broaden capability coverage with 1-2 more concrete actions (e.g. choosing load modes, execution modes, and warehouse profile mappings) to raise specificity from naming one action to a fuller list.

Add a disambiguation trigger such as "For dbt Fusion projects, use cosmos-dbt-fusion instead" to further reduce conflict risk with the sibling skill.

DimensionReasoningScore

Specificity

"Turns a dbt Core project into an Airflow DAG/TaskGroup using Astronomer Cosmos" names the domain plus one concrete action, and the verification list adds scope, but it does not enumerate the several configuration capabilities (parsing, execution modes, profiles) the skill actually covers — matching 'names domain and 1-2 concrete actions' rather than the comprehensive list of anchor 4.

3 / 5

Completeness

The 'what' is explicit ("Turns a dbt Core project into an Airflow DAG/TaskGroup") and a 'Use...' clause provides explicit trigger guidance (so it is not capped at 3 for a missing trigger clause), but the clause is grammatically garbled ("Use turning a dbt Core project...") and merely restates the 'what' without adding trigger scenarios — fitting anchor 4's 'when could be more explicit or specific' rather than the concrete trigger phrases of anchor 5.

4 / 5

Trigger Term Quality

"dbt Core project", "Airflow DAG", "TaskGroup", "Astronomer Cosmos" are exactly the natural phrases a user would say, giving good keyword coverage; common variations like "orchestrate dbt", "schedule dbt in Airflow", or "convert dbt to Airflow" are missing, so it falls short of the comprehensive synonym coverage of anchor 5.

4 / 5

Distinctiveness Conflict Risk

"dbt Core" plus "Astronomer Cosmos" carves a mostly distinct niche with minimal generic conflict, but a closely related sibling skill (cosmos-dbt-fusion, for dbt Fusion) exists and the description never redirects the Fusion case, leaving minor overlap risk with that closely related skill — anchor 4 rather than 5.

4 / 5

Total

15

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

relative_links

Relative link issues: 4 missing

Warning

Total

15

/

16

Passed

Repository

astronomer/agents

Path

skills/cosmos-dbt-core/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.