feat(skills): add five task-focused agent skills alongside the router skill - #23
Merged
Merged
Conversation
… 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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Expands the plugin from one skill to six: the existing
tablespecskill 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-bearingcolumn:/validations:file nesting), CLI mutation commands, convert semanticstablespec-pipeline— Path A/B bootstrap,compile_umfs, the pinned artifact tree,run_backbonestage ordering and Databricks gatingtablespec-validation— the raw/ingested staging model,validation-sync/preview/apply-response, domain-types-before-sync orderingtablespec-sql-plans— derivation candidates, all fivebase_table_strategyvariants, DuckDB↔Spark byte-parity rulestablespec-profiling-app— no-Spark-in-container reflection viaumf_from_information_schema, provision/configure/deploy, the root-vs-subfolder deploy trapRouter 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.gitignorenegations) so the skills also load from a plain repo clone without installing the plugintests/docs/test_plugin_manifests.pyparameterized overskills/*/SKILL.md(frontmatter, forbidden-language, references-dir, and relative-symlink checks per skill) plus a pinned expected-skill-set testskills: \"./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 jobStale docs fixed (surfaced by the source verification while writing the skills):
docs/guide/great-expectations.mdrewritten against the real APIs (extract_from_checkpoint/UmfToGxMapper.map_columnsnever existed; baseline generation deliberately excludes column existence/type checks)tablespec preview --against/-vflags removed from the CLI and website CLI reference (bodies never read them; FEAT-023 still tracks the dry-run feature)OUTPUT_VOLUME_CATALOGenv entry dropped from both app manifests; rootapp.yamlnow declares thePROFILER_METADATA_*inputsprofiler/config.pyactually resolvesapps/data-profiling/README.mdrewritten from milestone-1/stub-era content to the shipped state, keeping the D2D Sharing runbook as a future-use appendixTest 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— passedmake app-smoke— 62 passed (covers config/manifest resolution)ruff check/ruff format --checkclean on changed Pythonclaude plugin install tablespec@tablespec(and a Codex install) to confirm six skills load for plugin installers🤖 Generated with Claude Code