chore: add skill to scaffold snowflake connectors [CM-1083]#3993
chore: add skill to scaffold snowflake connectors [CM-1083]#3993
Conversation
|
Your PR title doesn't contain a Jira issue key. Consider adding it for better traceability. Example:
Projects:
Please add a Jira issue key to your PR title. |
2 similar comments
|
Your PR title doesn't contain a Jira issue key. Consider adding it for better traceability. Example:
Projects:
Please add a Jira issue key to your PR title. |
|
Your PR title doesn't contain a Jira issue key. Consider adding it for better traceability. Example:
Projects:
Please add a Jira issue key to your PR title. |
|
|
|
Your PR title doesn't contain a Jira issue key. Consider adding it for better traceability. Example:
Projects:
Please add a Jira issue key to your PR title. |
There was a problem hiding this comment.
Pull request overview
This PR introduces a new .claude skill that guides scaffolding Snowflake connector data sources with a standardized structure and workflow, and updates .gitignore so the skill content can be committed while keeping local/ephemeral Claude artifacts ignored.
Changes:
- Add a new
scaffold-snowflake-connectorskill document describing the end-to-end scaffolding workflow and required touch points. - Refine
.gitignoreto stop ignoring the entire.claudedirectory and instead ignore only cache/tmp/log/session/todo artifacts and local settings.
Reviewed changes
Copilot reviewed 1 out of 2 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
.gitignore |
Stops blanket-ignoring .claude/ so skills can be tracked; continues to ignore local/ephemeral Claude files. |
.claude/skills/scaffold-snowflake-connector/SKILL.md |
Adds a detailed scaffold workflow/spec for generating Snowflake connector boilerplate and registrations. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| | Enum key | SCREAMING_SNAKE_CASE version of the name (e.g., `ENROLLED_CERTIFICATION`) | | ||
| | String value | The name the user provided (kebab-case) | | ||
| | Label | Human-readable (e.g., `Enrolled in certification`) | | ||
| | Description | One sentence describing the event (look at similar types in `backend/src/c/migrations/` for style) | |
There was a problem hiding this comment.
The reference to backend/src/c/migrations/ is incorrect (that path doesn’t exist in this repo). For activity type description/label style, point to the actual Flyway migrations under backend/src/database/migrations/ (e.g., V1771497876__addCventActivityTypes.sql, V1772556158__addTncActivityTypes.sql).
| | Description | One sentence describing the event (look at similar types in `backend/src/c/migrations/` for style) | | |
| | Description | One sentence describing the event (look at similar types in `backend/src/database/migrations/` such as `V1771497876__addCventActivityTypes.sql` and `V1772556158__addTncActivityTypes.sql` for style) | |
| File: `backend/src/database/migrations/V{Date.now()}__add{Platform}ActivityTypes.sql` | ||
|
|
||
| Template (use epoch timestamp for `V` prefix — run `date +%s%3N` in terminal): |
There was a problem hiding this comment.
Migration naming here uses millisecond epochs (Date.now() / date +%s%3N), but existing migrations in backend/src/database/migrations use 10-digit second epochs (e.g., V1772556158__addTncActivityTypes.sql). Align the skill’s instruction/template to the repo’s convention (seconds) so generated filenames sort and match existing patterns.
| File: `backend/src/database/migrations/V{Date.now()}__add{Platform}ActivityTypes.sql` | |
| Template (use epoch timestamp for `V` prefix — run `date +%s%3N` in terminal): | |
| File: `backend/src/database/migrations/V{epochSeconds}__add{Platform}ActivityTypes.sql` | |
| Template (use 10-digit epoch seconds for the `V` prefix — e.g. run `date +%s` in terminal): |
| **Rules (enforced — do not deviate):** | ||
| - Use explicit column names only. Never use `table.*` | ||
| - If any TIMESTAMP_TZ columns exist in the schema, exclude and re-cast them as TIMESTAMP_NTZ (see CVENT pattern) |
There was a problem hiding this comment.
This rule forbids table.*, but existing Snowflake connector queries in this repo use e.* (TNC) and er.* EXCLUDE (...) (Cvent) in buildSourceQuery.ts. Since the PR description says the skill should align with existing conventions, either update this rule to match the established pattern (and document when * EXCLUDE is acceptable) or adjust the “align with conventions” claim.
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
| .claude/logs/ | ||
| .claude/sessions/ | ||
| .claude/todos/ | ||
| .claude/settings.local.json |
There was a problem hiding this comment.
CLAUDE.md removed from gitignore may cause accidental commits
Low Severity
The previous .gitignore explicitly ignored CLAUDE.md (the Claude Code project configuration file). While the refactor to selectively ignore .claude/ subdirectories is necessary to track the new skill file, the removal of CLAUDE.md from the ignore list appears unintentional since it's a root-level file unrelated to the .claude/ directory restructuring. This could lead to the file being accidentally committed.
ef3fa5b to
f29b55e
Compare
Signed-off-by: Mouad BANI <mouad-mb@outlook.com>
Signed-off-by: Mouad BANI <mouad-mb@outlook.com>
Signed-off-by: Mouad BANI <mouad-mb@outlook.com>
Signed-off-by: Mouad BANI <mouad-mb@outlook.com>
Signed-off-by: Mouad BANI <mouad-mb@outlook.com>
f29b55e to
1c45714
Compare
Signed-off-by: Mouad BANI <mouad-mb@outlook.com>
joanagmaia
left a comment
There was a problem hiding this comment.
Looks good 👌 I would say to merge it and:
- For meeting datasource to test it again and see if it needs improvements anywhere.
- After both connectors are completed see if we can leverage some mcp to be able to leverage snowflake data. Perhaps we can ask Shane advice for this


Summary
Add a skill to scaffold Snowflake connectors with a standardized structure.
Motivation
Creating Snowflake data sources involves repetitive steps. This automates the process and ensures consistency.
Changes
Note
Low Risk
Low risk: adds a documentation-style Claude skill file and tweaks
.gitignoreto ignore Claude runtime artifacts without affecting application code paths.Overview
Adds a new Claude skill,
scaffold-snowflake-connector, which standardizes the step-by-step workflow and file touch points for scaffolding new Snowflake connector sources (schema collection, mapping confirmation, file generation, and testing).Updates
.gitignoreto stop ignoring all of.claudeand instead ignore only generated/runtime subpaths (e.g.,cache/,tmp/,logs/,sessions/) plussettings.local.json, allowing committed skills under.claude/skills/.Written by Cursor Bugbot for commit f247c02. This will update automatically on new commits. Configure here.