Skip to content

feat: add cdp-snowflake-connector skill#40

Merged
mbani01 merged 4 commits intomainfrom
feat/lfx-cdp-snowflake-connectors
Apr 14, 2026
Merged

feat: add cdp-snowflake-connector skill#40
mbani01 merged 4 commits intomainfrom
feat/lfx-cdp-snowflake-connectors

Conversation

@mbani01
Copy link
Copy Markdown
Contributor

@mbani01 mbani01 commented Apr 3, 2026

This pull request updates the documentation to add information about a new skill for streamlining the addition of Snowflake connectors to CDP. The main changes are updates to the skill summary table and the project directory structure to include the new /lfx-cdp-snowflake-connectors skill.

Documentation updates for new Snowflake connector skill:

  • Added /lfx-cdp-snowflake-connectors to the skills summary table, describing its purpose and capabilities.
  • Updated the directory structure example to include the new lfx-cdp-snowflake-connectors/SKILL.md file.

Problem

Adding a new Snowflake connector data source to CDP requires touching up to 11 files across multiple services — enums, migrations, transformers, query builders, and type registrations. On top of that, each connector starts from a spec: requirements gathered from other teams requesting the integration and passed to the CDP team to implement. This process is manual, error-prone, and poorly documented. Validating and confirming specs against actual Snowflake data is time-consuming and often delays progress.

Solution

Introduces the lfx-cdp-snowflake-connectors skill — a structured, AI-assisted scaffold that guides through the full connector implementation in one session.

Key strengths:

  • Zero assumptions — schemas and sample data are fetched automatically via the LFX BI Layer MCP, and every column name is validated against the live Snowflake schema before any code is written.
  • Reuses existing patterns — inspects existing connectors first and inherits proven mappings where applicable. Flags any inconsistencies.
  • Explicit user validation — mappings (email, username, LFID, org, timestamp, sourceId) are confirmed before file generation. Each generated file is reviewed before it's written to disk.
  • Covers all 11 touch points — from PlatformType enum to migration SQL to transformer and query builder, nothing is skipped.
  • Safe to extend — the connectors service is built so each new connector is fully isolated. Adding one cannot affect existing ones.

Results

  • A complete, working Snowflake connector scaffold produced in a single guided session. Two real examples:
    • Committees : iterated with the skill through multiple rounds of feedback; PR is live on prod
    • Meetings : generated in one shot by providing the specs as md file, no interactive session needed
    • Note: some edge cases may still surface during review and need minor fixes
  • Consistent implementation across all new connectors, aligned with existing patterns
  • Teams with domain context and Snowflake access can optionally run the skill themselves and deliver a ready-to-review implementation — reducing back-and-forth across teams

Signed-off-by: Mouad BANI <mouad-mb@outlook.com>
@mbani01 mbani01 requested a review from niravpatel27 April 3, 2026 17:08
@mbani01 mbani01 self-assigned this Apr 3, 2026
Copilot AI review requested due to automatic review settings April 3, 2026 17:08
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds documentation for a new skill intended to guide/scaffold adding Snowflake connectors to CDP (crowd.dev), and updates the repository’s README to list and show the new skill in the project structure.

Changes:

  • Added a new skill document at lfx-cdp-snowflake-connectors/SKILL.md describing an end-to-end workflow for scaffolding a Snowflake connector.
  • Updated README.md to include /lfx-cdp-snowflake-connectors in the skills table and in the example directory tree.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.

File Description
README.md Documents the new skill in the skills summary table and project structure tree.
lfx-cdp-snowflake-connectors/SKILL.md Introduces the detailed skill specification/workflow for scaffolding Snowflake connectors in crowd.dev/CDP.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread lfx-cdp-snowflake-connectors/SKILL.md Outdated
Comment on lines +1 to +12
---
name: scaffold-snowflake-connector
description: Use when adding a new snowflake-connector data source to crowd.dev — a new platform or a new source within an existing platform that needs buildSourceQuery, transformer, activity types, migration, and all associated type registrations scaffolded.
---

# Scaffold Snowflake Connector

## Overview

This skill scaffolds all code required to add a new snowflake-connector data source to crowd.dev. It covers up to 11 touch points, enforces zero-assumption practices, and requires explicit user validation for every piece of business logic before writing any file to disk.

**One platform, one source per run.** Multiple sources within a platform are done one run at a time.
Copy link

Copilot AI Apr 3, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This SKILL.md is missing the standard metadata used elsewhere: allowed-tools: in the frontmatter and the copyright/SPDX/tool-mapping HTML comment block after the frontmatter (see lfx-intercom/SKILL.md:1-14). Add these to keep installation/tooling behavior and licensing headers consistent across skills.

Copilot uses AI. Check for mistakes.
Comment on lines +151 to +157
Use `ToolSearch` with query `"LFX BI Layer get_all_sources"` to check whether the BI Layer tools are available in the current session.

- **Tools found**: proceed directly to Step 1.
- **Tools not found**: prompt the user to authenticate:
> "The LFX BI Layer MCP is not connected. To enable automatic schema lookup, run `/mcp` and select **'claude.ai LFX BI Layer'** to authenticate. Once done, say 'continue' and I'll proceed. Or say 'skip' to use the manual query approach instead."

Wait for the user's response. If they authenticate: re-check with `ToolSearch` and proceed to Step 1. If they skip or authentication still fails: proceed directly to Step 2 for all tables.
Copy link

Copilot AI Apr 3, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The instructions reference a ToolSearch tool, but this repo’s documented Claude Code tool vocabulary (docs/tool-mapping.md) and other skills’ allowed-tools lists don’t include ToolSearch. Replace this with an approach that uses the allowed/documented tools (or explicitly document/whitelist the correct tool name) so the skill can be executed as written.

Suggested change
Use `ToolSearch` with query `"LFX BI Layer get_all_sources"` to check whether the BI Layer tools are available in the current session.
- **Tools found**: proceed directly to Step 1.
- **Tools not found**: prompt the user to authenticate:
> "The LFX BI Layer MCP is not connected. To enable automatic schema lookup, run `/mcp` and select **'claude.ai LFX BI Layer'** to authenticate. Once done, say 'continue' and I'll proceed. Or say 'skip' to use the manual query approach instead."
Wait for the user's response. If they authenticate: re-check with `ToolSearch` and proceed to Step 1. If they skip or authentication still fails: proceed directly to Step 2 for all tables.
Attempt to call `mcp__claude_ai_LFX_BI_Layer__get_all_sources` to check whether the BI Layer MCP is available in the current session.
- **Call succeeds**: proceed directly to Step 1.
- **Call fails because the MCP is unavailable or not authenticated**: prompt the user to authenticate:
> "The LFX BI Layer MCP is not connected. To enable automatic schema lookup, run `/mcp` and select **'claude.ai LFX BI Layer'** to authenticate. Once done, say 'continue' and I'll proceed. Or say 'skip' to use the manual query approach instead."
Wait for the user's response. If they authenticate: retry `mcp__claude_ai_LFX_BI_Layer__get_all_sources` and proceed to Step 1 if it succeeds. If they skip or the retry still fails: proceed directly to Step 2 for all tables.

Copilot uses AI. Check for mistakes.
Comment thread README.md Outdated
| `/lfx-setup` | Environment setup — prerequisites, clone, install, env vars, dev server. Adapts to Angular or Go repos | Interactive guide | Bash, Read, Glob, Grep, AskUserQuestion |
| `/lfx-test-journey` | Combine branches from multiple repos into worktrees for journey testing | Interactive | Bash, Read, Write, Edit, Glob, Grep, AskUserQuestion |
| `/lfx-intercom` | Add or fix Intercom integration against the LFX canonical pattern — audits JWT setup, shutdown, Auth0 claim, app IDs, CSP | Audit + fix | Bash, Read, Write, Edit, Glob, Grep, AskUserQuestion |
| `/lfx-cdp-snowflake-connectors` | Streamlines adding a new Snowflake connector to CDP — requires knowledge of the source specs | Interactive and guided | Bash, Read, Write, Edit, Glob, Grep, AskUserQuestion, LFX BI Layer MCP |
Copy link

Copilot AI Apr 3, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The tools column lists “LFX BI Layer MCP”, but the README note says tool names follow Claude Code conventions and docs/tool-mapping.md only defines a small set (Bash/Read/Write/Edit/Glob/Grep/AskUserQuestion/Skill/WebFetch). Consider removing this from the tools column (or adding a documented/tool-mapping entry for MCP tools) to avoid implying it’s a standard tool name.

Suggested change
| `/lfx-cdp-snowflake-connectors` | Streamlines adding a new Snowflake connector to CDP — requires knowledge of the source specs | Interactive and guided | Bash, Read, Write, Edit, Glob, Grep, AskUserQuestion, LFX BI Layer MCP |
| `/lfx-cdp-snowflake-connectors` | Streamlines adding a new Snowflake connector to CDP — requires knowledge of the source specs | Interactive and guided | Bash, Read, Write, Edit, Glob, Grep, AskUserQuestion |

Copilot uses AI. Check for mistakes.
mbani01 and others added 2 commits April 3, 2026 18:23
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Mouad BANI <mouad-mb@outlook.com>
Signed-off-by: Mouad BANI <mouad-mb@outlook.com>
@niravpatel27
Copy link
Copy Markdown
Collaborator

@mbani01 Thanks for the PR. Can you please put some test results?

@mbani01
Copy link
Copy Markdown
Contributor Author

mbani01 commented Apr 7, 2026

@mbani01 Thanks for the PR. Can you please put some test results?

@niravpatel27 sure, description updated ✅

@mbani01 mbani01 requested review from niravpatel27 and removed request for niravpatel27 April 14, 2026 13:29
@mbani01 mbani01 merged commit 2bfdb19 into main Apr 14, 2026
4 checks passed
@mbani01 mbani01 deleted the feat/lfx-cdp-snowflake-connectors branch April 14, 2026 14:13
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.

3 participants