Skip to content

Add add-cel-feature agent skill#12

Merged
richardwooding merged 1 commit intomainfrom
skill-add-cel-feature
Apr 28, 2026
Merged

Add add-cel-feature agent skill#12
richardwooding merged 1 commit intomainfrom
skill-add-cel-feature

Conversation

@richardwooding
Copy link
Copy Markdown
Contributor

Summary

Second of four maintenance skills (per the plan). Captures the procedure for adding a new CEL function / operator / macro / comprehension form to pycel2sql across all six dialects.

Mirrors the equivalent skill in cel2sql Go (`add-cel-feature`) and cel2sql4j Java (`add-cel-function`), adapted to Lark visitor naming and Python's `Dialect` ABC.

Layout

  • `SKILL.md` (~120 lines) — quick start, "new method or inline?" decision table, where features live in `_converter.py`, parser-level constraints, test coverage map, verification.
  • `references/converter-file-map.md` — every visitor / helper section in `_converter.py`, grouped by CEL surface, with line-number anchors and one-line "what it owns" descriptions.

The `Dialect` ABC method checklist lives in the `add-sql-dialect` skill (PR #11). The two skills share that file by file-path reference, not by markdown link — the lint forbids cross-skill links.

Lint

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

Test plan

  • Lint passes
  • From a fresh Claude Code session, prompt "add a CEL string.isAlpha() function to pycel2sql" and confirm the skill activates
  • Confirm references/converter-file-map.md line-number anchors still match `_converter.py` (re-check after any large refactor)

🤖 Generated with Claude Code

Captures the procedure for adding a new CEL function / operator / macro /
comprehension form to pycel2sql. Mirrors the cel2sql Go and cel2sql4j Java
equivalents but adapted to Lark visitor naming and the Python Dialect ABC.

Layout under .claude/skills/add-cel-feature/:
- SKILL.md (~120 lines) — quick start, "new method or inline?" decision
  table, where features live in _converter.py, parser-level constraints,
  test coverage map, verification.
- references/converter-file-map.md — every visitor / helper section in
  _converter.py, grouped by CEL surface, with line-number anchors and
  one-line "what it owns" descriptions. Cribbed from the cel2sql Go
  equivalent and adapted to the Lark visitor naming.

The SKILL.md notes the Dialect ABC method checklist lives in the
add-sql-dialect skill (cross-skill reference by path string, not link —
the lint forbids cross-skill links).

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 aa58004 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