feat: add Dataflow Gen2 data visuals skill for Claude and ChatGPT - #117
feat: add Dataflow Gen2 data visuals skill for Claude and ChatGPT#117Miguel Escobar (ptyx507x) wants to merge 2 commits into
Conversation
Adds knowledge for generating Dataflow Gen2 visualization documents in Power Query M. Visual is the canonical artifact name; dashboard, report, and chart are discovery synonyms. Skills: add datafactory-data-visuals.md (Claude), knowledge-data-visuals.md (ChatGPT), and docs/datafactory/data-visuals.md (repo agents); route visual requests from both client indexes; add visual symptom triage. Evals: add EVAL-INT-M-021..023 covering the five-column contract, chart-in-card column mappings, and unsupported PartTypes; add a provider-neutral parity checklist. Eval runner fixes: read files as UTF-8 so the skills arrow separator parses on Windows; correct SKILLS_DIR, which pointed at evals/claude-skills and meant no skill was ever loaded; map datafactory-destinations to the destinations/ subfiles that actually exist.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #117 +/- ##
==========================================
+ Coverage 14.85% 21.88% +7.02%
==========================================
Files 129 160 +31
Lines 3884 4908 +1024
Branches 398 461 +63
==========================================
+ Hits 577 1074 +497
- Misses 3295 3812 +517
- Partials 12 22 +10 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
I traced the validation failure to the workflow’s PR-results comment step, not the tests. All restores, builds, integration tests, test reporting, and coverage passed. Because this PR comes from a fork, GitHub downgrades The validated fix is to remove the unsupported |
Adds client-side knowledge for generating Dataflow Gen2 visualization documents in Power Query M.
Visualis the canonical artifact name; dashboard, report, and chart are discovery synonyms.Skills
claude-skills/datafactory-data-visuals.md(Claude)chatgpt-skills/knowledge-data-visuals.md(ChatGPT)docs/datafactory/data-visuals.md(in-repo agents, wired into thecopilot-instructions.mdrouting table)Both client indexes route visual/dashboard/report/chart/KPI requests, and
claude-skills/SKILL.mdgains four visual symptom-triage rows.Content follows the published contract: flat five-column table (
Name,Parent,PartType,Properties,Data), the closed 11-value PartType set, one-root/parent/cardinality rules, and Preview limitations. Safety guidance covers metadata-only discovery, no dynamic sibling evaluation,execute_queryfor non-persistent testing, andvalidateOnlyplus connection rebinding aroundsave_dataflow_definition.Evals
EVAL-INT-M-021..023: five-column contract, chart-in-card column mappings, unsupported PartTypesevals/dataflow-visuals-parity.md: provider-neutral checklist for comparing Claude and ChatGPT outputEval runner fixes
These are pre-existing bugs found while wiring up the new evals:
SKILLS_DIRpointed at a nonexistent path.Path(__file__).parent.parentresolved toevals/claude-skills, so the with-skills arm never loaded any skill and every integration eval compared baseline against baseline.read_text()used the OS locale, so on Windows the arrow separator mangled and skill names failed to parse. Now UTF-8, with UTF-8 stdout to avoidUnicodeEncodeErroron legacy consoles.datafactory-destinationsmapped to a file that does not exist; that content lives indestinations/subfiles.SKILL_FILESvalues are lists now.Also corrected count drift in
evals/README.md(pipelines 15 to 18; totals 97 + 23 = 120).Verification
All six skills confirmed loading real content (core 3053, destinations 10407, performance 2533, advanced 4280, pipelines 6576, data-visuals 3096 chars).
Notes
No
.csprojor NuGet packaging changes. These are client-side companion files; installing the MCP NuGet package does not register skills with Claude or ChatGPT.Reviewers may prefer the three eval-runner fixes split into a separate PR, since they touch shared infrastructure affecting all skills rather than visuals alone. Happy to split if preferred.