CtrlK
BlogDocsLog inGet started
Tessl Logo

dlt-connector

Connect SaaS data (HubSpot, Stripe, Salesforce, GitHub, Slack, etc.) to Wren Engine for SQL analysis. Guides the user through the full flow: install dlt, pick a SaaS source, set up credentials, run the data pipeline into DuckDB, then auto-generate a Wren semantic project from the loaded data. Use this skill whenever the user mentions: connecting SaaS data, importing data from an API, dlt pipelines, loading HubSpot/Stripe/Salesforce/GitHub/Slack data, querying SaaS data with SQL, or setting up a new data source from a REST API. Also trigger when the user already has a dlt-produced DuckDB file and wants to create a Wren project from it.

74

Quality

93%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

SKILL.md
Quality
Evals
Security

Quality

Content

85%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 strong, well-sequenced skill document: a four-phase workflow with genuine validation checkpoints and feedback loops, concrete executable commands, and a properly split bundle (source templates in dlt_sources.md, generation logic in introspect_dlt.py) that matches its in-body claims. The main weaknesses are repetition of the catalog-naming rule across four sections and the absence of one fully worked, copy-paste-ready example pipeline inline.

Suggestions

State the DuckDB catalog-matching rule once (in the 'Critical' section or Troubleshooting) and reference it elsewhere instead of repeating it in Phase 2's bullet list, the 'Verify model correctness' checklist, and Troubleshooting.

Include one complete worked example (e.g., a full HubSpot pipeline script with the real source import and credential variable) so Phase 1's general pattern has a copy-paste-ready instance, keeping per-source variants in dlt_sources.

Merge the 'Who this is for' section and the line-13 one-line summary to remove the duplicated framing, and drop meta-commentary like 'This is their first look at the data through Wren — make it count.'

DimensionReasoningScore

Conciseness

The body is largely efficient — domain-specific knowledge (DuckDB ATTACH catalog aliasing, _dlt_ table filtering, single-writer locking) is genuinely non-obvious and earns its tokens, and code blocks are tight. But there is trimmable repetition: the catalog-matching rule is stated four times ('Critical: DuckDB catalog naming', the Phase 2 script bullet, the 'Verify model correctness' checklist, and Troubleshooting), and the 'Who this is for' section plus line-13 overview partly restate each other. This is the level-4 'efficient; minor instances of over-explanation that could be trimmed' anchor, not level 5's 'every token earns its place'.

4 / 5

Actionability

Most guidance is executable: the pip install, the DuckDB table-listing snippet, the profile-setup Python, the introspect_dlt.py invocation, and the wren build/query commands are all concrete and runnable after path substitution. The gaps keep it at level 4 rather than 5: the Phase 1 pipeline template is placeholder pseudocode ('source = <source_function>(api_key=dlt.secrets.value)') — flexibility is explicitly justified by pointing to dlt_sources templates, but no fully worked end-to-end example (e.g., a complete HubSpot pipeline script) appears inline, and query examples like 'SELECT COUNT(*) as total FROM "<table_name>"' never show a filled-in instance.

4 / 5

Workflow Clarity

The four phases (Extract, Model, Build & Verify, Handoff) are clearly sequenced with numbered steps inside each, and validation is explicit and repeated: spot-check the generated model, 'This phase is not optional', 'If any query fails, debug and fix the model before moving on', 'Only after queries return real data, tell the user the setup is complete', backed by a Troubleshooting section with error→fix mappings (feedback loops for error recovery). This matches the level-5 anchor; despite involving database/batch operations, the validation checkpoints are present, so the workflow-clarity cap at 3 does not apply.

5 / 5

Progressive Disclosure

The structure is a clear overview with well-signaled, one-level-deep references, verified against the actual bundle: references/dlt_sources.md exists and contains the promised per-source auth patterns and pipeline templates, and scripts/introspect_dlt.py exists and implements exactly what the body claims (catalog resolution from the filename stem, _dlt_ filtering, parse_type normalization). The body correctly keeps source-specific detail and introspection logic out of SKILL.md, signals both via the header note ('wren skills get dlt-connector --full / --script <name>') and inline mentions ('check dlt_sources for source-specific templates'), with no nested references.

5 / 5

Total

18

/

20

Passed

Description

100%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 is exemplary: it states a multi-action capability set in third person, gives an explicit and thorough 'Use when' trigger list with natural phrasing and named SaaS products, and adds a secondary entry-point trigger for users arriving with an existing dlt-produced DuckDB file. All four dimensions land at the top anchor without relying on inference or padding.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions — 'install dlt, pick a SaaS source, set up credentials, run the data pipeline into DuckDB, then auto-generate a Wren semantic project' — covering the skill's full capability range comprehensively. It names the exact products involved (HubSpot, Stripe, Salesforce, GitHub, Slack, Wren Engine, DuckDB), matching the level-5 anchor rather than the level-4 anchor, which allows 'minor gaps in coverage' — no such gaps are present.

5 / 5

Completeness

It explicitly answers both questions: what it does ('Connect SaaS data ... to Wren Engine for SQL analysis' with the enumerated flow) and when to use it ('Use this skill whenever the user mentions: ...' with concrete trigger phrases, plus an additional 'Also trigger when ...' clause for the DuckDB-file entry point). This matches the level-5 anchor exactly; level 4 would require the 'when' to be less explicit than the enumerated trigger list given here.

5 / 5

Trigger Term Quality

Trigger phrasing is comprehensive and natural: 'connecting SaaS data', 'importing data from an API', 'dlt pipelines', 'loading HubSpot/Stripe/Salesforce/GitHub/Slack data', 'querying SaaS data with SQL', 'setting up a new data source from a REST API', plus a second entry point for users who already have 'a dlt-produced DuckDB file'. These are the exact phrases a user would naturally say, with synonyms (API / REST API / SaaS) and named products, so it fits the level-5 anchor rather than level 4, where 'a few natural terms' would be missing.

5 / 5

Distinctiveness Conflict Risk

The skill occupies a clear niche (dlt → DuckDB → Wren semantic project) with distinct, product-specific triggers ('dlt pipelines', 'Wren project', named SaaS sources), making false triggers against generic data or document skills unlikely. It fits the level-5 'clear niche with distinct triggers; minimal conflict risk' anchor; level 4 would imply overlap with closely related skills, and no such skill family is implicated by these terms.

5 / 5

Total

20

/

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

metadata_version

'metadata.version' is missing

Warning

Total

15

/

16

Passed

Repository
Canner/WrenAI
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.