feat: add multi-client support and onboarding skills#19
Draft
vahidlazio wants to merge 17 commits into
Draft
Conversation
Expand the plugin to support Cursor, Codex, and Gemini CLI alongside Claude Code. Add onboard-confidence and migrate-optimizely skills and commands. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Keep this branch focused on onboarding skill and multi-client support. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add Snowflake, Databricks, and Redshift query support in the data pipeline verification step. Previously only BigQuery was covered. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Report exact error messages from the warehouse validation API instead of optimistically splitting them into "works" + "but". Adds Snowflake-specific remediation guidance for auth and permission errors. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…t table APIs - Warehouse create: body is the object directly, not wrapped in dataWarehouse key - Connectors: body is the object directly, not wrapped in flagAppliedConnection/eventConnection - Assignment table: body is the object directly, not wrapped in assignmentTable - Snowflake connectors require database and schema fields in snowflakeConfig - Pipeline verify step now lists clients and lets user pick before creating credentials - Snowflake remediation generates SQL and copies to clipboard Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Users don't know what a crypto key reference is. The skill now: - Creates the crypto key via IAM API automatically - Extracts the public key and generates ALTER USER SQL - Copies the SQL to clipboard for the user to run in Snowflake - Generates CREATE DATABASE/SCHEMA SQL if needed Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Each config field now explains what it is, where to find it in the warehouse UI, and what to do if it doesn't exist yet. Covers BigQuery, Snowflake, Databricks, and Redshift. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Note that validate endpoint only supports BigQuery and Snowflake - Databricks connectors need connectionConfig wrapper + batchFileConfig - Skip validation for Databricks/Redshift and go straight to create Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…me issue Tested every field name variation — the validate endpoint genuinely only supports BigQuery and Snowflake. Skill now explains this honestly rather than silently skipping. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Connector returns 500 even with valid credentials (verified OAuth directly). Note as known issue and suggest contacting support. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Root cause found in logs: IllegalArgumentException "S3BucketConfig needs to be set". Databricks connectors batch-write to S3 then load into Databricks. Added s3BucketConfig (bucket, region, roleArn) to connector format and Step 2 config collection. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Explains upfront that Databricks requires AWS S3 staging bucket, Databricks admin access, and a schema. Walks through each step with exact UI paths, commands, and explains why each piece is needed. Covers trust policy errors and Unity Catalog vs hive_metastore. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Skill can now create S3 bucket, IAM role, and trust policy automatically via aws CLI. Falls back to manual console steps if aws CLI not available. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Three bugs found during Databricks testing:
1. accounts.google.com:email rejected by AWS ("requires application id")
2. accounts.google.com:sub with email string accepted but fails at
runtime ("Not authorized to perform sts:AssumeRoleWithWebIdentity")
3. Only accounts.google.com:sub with the numeric unique ID works
Skill now fetches numeric ID via gcloud and documents the pitfall.
Also: write aws credentials directly instead of interactive configure,
install awscli via brew if missing, open console for login.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Data flows via GCS not S3 (S3 is fallback), fixed flow diagram - Added ~5 min batch delay warning - Databricks verification now uses SQL Statement API directly instead of just showing queries for the user to run - Removed stale "known backend issue" — pipeline works end-to-end Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Ask one question at a time, confirm before moving on - Explain every field in plain language with exact UI paths - Service principal: full step-by-step with fallback for non-admins - S3 staging: explain the "mailbox" metaphor for why it's needed - Schema: detect Unity Catalog vs hive_metastore, copy SQL to clipboard - Accurate data flow explanation (GCS staging, 5-min batches) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Verified S3 bucket has parquet files: assignments and events staged there before Databricks COPY INTO. Actual flow is: Confidence → S3 bucket (customer) → Databricks tables. GCS is internal only. Removed contradictory "GCS primary" claim. Co-Authored-By: Claude Opus 4.6 (1M context) <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
.cursor-plugin/), Codex (.codex-plugin/), and Gemini CLI (gemini-extension.json+GEMINI.md)x-confidence-mcp-consumer: plugintracking header to MCP configonboard-confidenceskill and command for account creation and user onboardingmigrate-optimizelyskill and command for Optimizely-to-Confidence migrationTest plan
claude plugin validatepassesclaude --plugin-dir ..cursor/mcp.jsonmanual config/confidence:onboard-confidenceskill/confidence:migrate-optimizelyskill🤖 Generated with Claude Code