Skip to content

Add add-sql-dialect agent skill#11

Merged
richardwooding merged 1 commit into
mainfrom
skill-add-sql-dialect
Apr 28, 2026
Merged

Add add-sql-dialect agent skill#11
richardwooding merged 1 commit into
mainfrom
skill-add-sql-dialect

Conversation

@richardwooding
Copy link
Copy Markdown
Contributor

Summary

First of four maintenance skills (per the plan). Captures the procedure for adding a seventh SQL dialect to pycel2sql — src/pycel2sql/dialect/<name>.py (subclass of Dialect ABC), DialectName enum, _REGISTRY factory, parametrized tests, README badges.

Mirrors the equivalent skill in cel2sql Go (PR #120) and cel2sql4j Java (PR #11), adapted to Python idioms.

Layout

  • SKILL.md (~110 lines) — quick start, picking-the-analogue table, critical surface methods, capabilities methods, IndexAdvisor decision, verification.
  • references/dialect-method-checklist.md — every method on the Dialect ABC grouped by category, with one-line "what to emit" guidance per method drawn from the six existing implementations.
  • references/test-files.md — exhaustive file-by-file checklist (code, tests, docs; optional integration + introspect support).
  • scripts/scaffold_dialect.py — copies an existing dialect file, renames the class, replaces every method body with NotImplementedError, prints the next manual steps. Refuses to overwrite. Walks up from __file__ so it works from any cwd inside the repo.

Lint

$ python .claude/skills/skill-authoring/scripts/lint_skill.py .claude/skills/add-sql-dialect/
0 error(s), 0 warning(s)

Test plan

  • Lint passes
  • From a fresh Claude Code session, prompt "add Trino support to pycel2sql" and confirm the skill activates
  • Dry-run python .claude/skills/add-sql-dialect/scripts/scaffold_dialect.py duckdb cockroach Cockroach and confirm it creates a stubbed src/pycel2sql/dialect/cockroach.py (revert the file after — this is purely for verification)

🤖 Generated with Claude Code

Repo-local skill that captures the procedure for adding a seventh SQL
dialect to pycel2sql, mirroring the equivalent skill in cel2sql Go and
cel2sql4j Java but adapted to Python idioms (Dialect ABC, single-file
dialect modules, Lark-based converter).

Layout under .claude/skills/add-sql-dialect/:
- SKILL.md (~110 lines) — quick start, picking-the-analogue table,
  critical surface methods, capabilities methods, IndexAdvisor decision,
  doc refresh, verification.
- references/dialect-method-checklist.md — every method on the Dialect
  ABC grouped by category, with one-line "what to emit" guidance per
  method drawn from the six existing implementations.
- references/test-files.md — exhaustive file-by-file checklist (code,
  tests, docs; optional integration + introspect support).
- scripts/scaffold_dialect.py — copies an existing dialect file, renames
  the class, replaces every method body with NotImplementedError, prints
  the next manual steps. Refuses to overwrite. Walks up from __file__ to
  find the repo root, so it works from any cwd inside the repo.

Lints clean against .claude/skills/skill-authoring/scripts/lint_skill.py.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@richardwooding richardwooding merged commit 47be345 into main Apr 28, 2026
7 checks passed
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