Skip to content

feat(skills): add five task-focused agent skills alongside the router skill - #23

Merged
dmautz1 merged 4 commits into
DocumentDrivenDX:mainfrom
dmautz1:feat/agent-skills
Sep 1, 2026
Merged

dmautz1 merged 4 commits into
DocumentDrivenDX:mainfrom
dmautz1:feat/agent-skills

Conversation

@dmautz1

@dmautz1 dmautz1 commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

Summary

Expands the plugin from one skill to six: the existing tablespec skill becomes a true routing layer, and five new sibling skills carry the mechanics for the workflows an AI is most likely to get wrong without instructions. Every command, flag, and API symbol in the new skills was verified against source before writing.

New skills (each a single skills/<name>/SKILL.md):

  • tablespec-umf-authoring — split-YAML layout rules (including the load-bearing column:/validations: file nesting), CLI mutation commands, convert semantics
  • tablespec-pipeline — Path A/B bootstrap, compile_umfs, the pinned artifact tree, run_backbone stage ordering and Databricks gating
  • tablespec-validation — the raw/ingested staging model, validation-sync/preview/apply-response, domain-types-before-sync ordering
  • tablespec-sql-plans — derivation candidates, all five base_table_strategy variants, DuckDB↔Spark byte-parity rules
  • tablespec-profiling-app — no-Spark-in-container reflection via umf_from_information_schema, provision/configure/deploy, the root-vs-subfolder deploy trap

Router refactor (skills/tablespec/SKILL.md): task→skill routing table, full CLI index, public facade enumerated, stale "no single-call bootstrap facade yet" claim fixed.

Plumbing:

  • .claude/skills/ and .agents/skills/ symlinks committed (with .gitignore negations) so the skills also load from a plain repo clone without installing the plugin
  • tests/docs/test_plugin_manifests.py parameterized over skills/*/SKILL.md (frontmatter, forbidden-language, references-dir, and relative-symlink checks per skill) plus a pinned expected-skill-set test
  • README plugin section lists all six skills
  • No manifest edits needed (skills: \"./skills/\" auto-discovers); the version stays 0.0.3 — the next release must bump all three manifest versions to the tag per the version-guard CI job

Stale docs fixed (surfaced by the source verification while writing the skills):

  • docs/guide/great-expectations.md rewritten against the real APIs (extract_from_checkpoint / UmfToGxMapper.map_columns never existed; baseline generation deliberately excludes column existence/type checks)
  • Inert tablespec preview --against/-v flags removed from the CLI and website CLI reference (bodies never read them; FEAT-023 still tracks the dry-run feature)
  • Dead OUTPUT_VOLUME_CATALOG env entry dropped from both app manifests; root app.yaml now declares the PROFILER_METADATA_* inputs profiler/config.py actually resolves
  • apps/data-profiling/README.md rewritten from milestone-1/stub-era content to the shipped state, keeping the D2D Sharing runbook as a future-use appendix

Test plan

  • uv run pytest tests/docs/ — 58 passed (manifest tests now cover all six skills)
  • uv run pytest tests/unit/test_preview.py tests/unit/test_cli_validation_commands.py tests/unit/test_apply_response.py — passed
  • make app-smoke — 62 passed (covers config/manifest resolution)
  • ruff check / ruff format --check clean on changed Python
  • All six skills load and trigger in a live Claude Code session in the repo clone
  • Post-merge release: bump the three manifest versions and smoke-test claude plugin install tablespec@tablespec (and a Codex install) to confirm six skills load for plugin installers

🤖 Generated with Claude Code

dmautz1 and others added 4 commits August 31, 2026 17:38
… skill

Add tablespec-umf-authoring, tablespec-pipeline, tablespec-validation,
tablespec-sql-plans, and tablespec-profiling-app as sibling skills under
skills/, each distilling one workflow's commands, APIs, and gotchas from
the guides and source. Refactor the tablespec skill into a router with a
task routing table and CLI index, fix its stale no-bootstrap-facade
claim, and enumerate the public facade.

Commit .claude/skills and .agents/skills symlinks (with .gitignore
negations) so the skills load from a plain repo clone without installing
the plugin. Parameterize the plugin manifest tests over skills/*/SKILL.md
and pin the expected skill set.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…review flags

Skill-writing source verification surfaced several docs that no longer
match the code:

- docs/guide/great-expectations.md documented nonexistent APIs
  (GXConstraintExtractor.extract_from_checkpoint, UmfToGxMapper
  .map_columns/.map_validation_rules) and claimed baseline generation
  covers column existence/types, which the generator deliberately
  excludes. Rewritten against the real APIs.
- tablespec preview declared --against and -v options its body never
  reads; remove them from the CLI and the website CLI reference so code,
  help, and docs agree (FEAT-023 still tracks the dry-run feature).
- Both app.yaml manifests carried a dead OUTPUT_VOLUME_CATALOG env entry
  nothing reads; the root manifest lacked the PROFILER_METADATA_* inputs
  profiler/config.py resolves. Declare them explicitly and drop the dead
  entry.
- apps/data-profiling/README.md still described milestone-1 stubs and a
  multi-workspace Delta Sharing topology; rewritten to the shipped state
  (single-workspace scope, provision flow, root-deploy guidance), keeping
  the D2D runbook as a future-use appendix.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The Microsite Playwright check has failed on main since July: font/line
metrics on the CI runner shifted the full-page render 21px shorter
(3005px -> 2984px), tripping the toHaveScreenshot size check before the
pixel-ratio tolerance even applies. The diff shows uniform vertical
ghosting only — every section present, nothing regressed.

Adopt the screenshot CI itself rendered (byte-identical across both
retries of run 33447305626) as the new homepage-desktop-linux.png
baseline, per the spec's own refresh guidance. The mobile baseline still
passes within tolerance and is unchanged.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Same runner-side render drift as the desktop baseline: the mobile
full-page height moved 6660px -> 6783px, failing toHaveScreenshot on
size before tolerance applies. Adopt the screenshot CI rendered
(byte-identical across both retries of run 33451270089); desktop now
passes with its refreshed baseline.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@dmautz1
dmautz1 merged commit b65638c into DocumentDrivenDX:main Sep 1, 2026
3 checks passed
@dmautz1
dmautz1 deleted the feat/agent-skills branch September 1, 2026 00:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant