From copy-connections
Use this skill AFTER credentials have been attached to the newly-created connections (via the credentials skill or manually in the Fivetran UI). Runs setup tests to verify credentials and discover the schema, then applies table/column selections, sync modes, and hashing from the copy plan. Invoke from the copy-connections coordinator after credentials are in place.
How this skill is triggered — by the user, by Claude, or both
Slash command
/copy-connections:copy-connections-schemaThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
This skill runs **after** credentials have been attached to the connection shells created by execute. It verifies each connection works (setup tests), then applies the schema config from the plan — which tables and columns are enabled, sync modes, and column hashing.
This skill runs after credentials have been attached to the connection shells created by execute. It verifies each connection works (setup tests), then applies the schema config from the plan — which tables and columns are enabled, sync modes, and column hashing.
Schema config can only be applied after a connection has valid credentials and has discovered its schema. That's why this is a separate step from execute.
For each connection in the plan:
run_connection_setup_tests to verify credentials work and trigger schema discoverymodify_connection_table_config:
enabled, sync_mode (SOFT_DELETE, HISTORY, LIVE)enabled, hashed.copy-connections/results.md doesn't exist, tell the user to run execute first..copy-connections/copy_plan.yaml for the schema config to apply per connection.Read .copy-connections/results.md to confirm execute ran. If missing, tell the user to run execute first.
Read .copy-connections/copy_plan.yaml to get the list of connections and their schema configs.
Not all connections may have credentials yet. The user may have attached creds to some connections and not others (e.g., they did the API-key ones via the credentials skill but haven't done the OAuth ones in the UI yet).
Ask the user which connections they'd like to run schema config for, or offer to try all of them — setup tests will tell us which ones have working credentials.
a. Run setup tests — ALWAYS, no exceptions.
Call run_connection_setup_tests for the connection. This call is mandatory even if setup tests previously passed (e.g., during credential patching). run_connection_setup_tests is the only API call that triggers schema discovery — without it, get_connection_schema_config will return 404. modify_connection with run_setup_tests: true runs tests but does NOT discover the schema.
b. Apply schema config from the plan.
For each table in the plan's schema config for this connection:
modify_connection_table_config with:
enabled (table-level)sync_mode (SOFT_DELETE | HISTORY | LIVE)columns dict with per-column enabled and hashedFor tables/columns where the validation report flagged *_NOT_PATCHABLE (SYSTEM_TABLE, DELETED, etc.), skip the PATCH call rather than firing it and getting rejected. Log the skip.
c. Log the result. Record per-connection: setup tests passed/failed, schema config applied/partial/skipped.
Update .copy-connections/results.md with per-connection schema config results:
Example additions to the per-connection section in results.md:
### postgres_app
- Created (paused)
- Credentials: attached via API
- Setup tests: passed
- Schema config: applied (12 tables, 45 columns)
- 1 column config skipped: users.ssn (SYSTEM_COLUMN_NOT_PATCHABLE)
### salesforce_prod
- Created (paused)
- Credentials: OAuth — completed in Fivetran UI: https://fivetran.com/dashboard/connections/<connection_id>
- Setup tests: passed
- Schema config: applied (47 tables, 312 columns)
- contacts.ssn hashing applied
### hubspot_marketing
- Created (paused)
- Credentials: not yet attached
- Setup tests: failed (no credentials)
- Schema config: skipped — run this skill again after attaching credentials
Short verbal summary: how many connections had schema config applied, how many were skipped, and what to do about the skipped ones. Mention that connections are still paused — unpausing is their call.
Schema discovery ONLY happens via run_connection_setup_tests. This is the only API call that triggers Fivetran to connect to the source, discover tables and columns, and populate the schema. Without it, get_connection_schema_config returns 404. Note: modify_connection with run_setup_tests: true runs connection tests but does NOT trigger schema discovery — you must always call run_connection_setup_tests explicitly.
Schema config patching is idempotent. Running modify_connection_table_config with the same settings twice produces the same result. Safe to re-run this skill.
enabled_patch_settings.allowed: false means skip, not fail. Some tables/columns have reasons like SYSTEM_TABLE or DELETED that prevent patching their enabled flag. These were flagged during validation. Skip them cleanly rather than attempting the patch and getting an error.
Column hashing is a privacy control. If the plan says hashed: true for a column and the patch fails, that's a meaningful warning — the privacy intent didn't carry over. Surface it clearly so the user can apply it manually.
This skill can be run multiple times. Users may attach credentials incrementally — do OAuth ones in the UI today, come back tomorrow. Each run processes whatever's ready and skips what isn't.
Setup tests fail for a connection. Report the error, skip schema config for that connection, continue to the next. Common causes: no credentials attached yet, wrong credentials, network/firewall blocking.
Schema config patch fails for a table. Log the error, continue to the next table. The connection is still usable — just that table's config didn't apply.
Schema config patch fails for a column within a table. Log and continue. If it's a hashed column, elevate the visibility in the report.
User runs this before credentials are attached. Setup tests will fail for every connection. Report that and suggest they attach credentials first (via the credentials skill or the UI).
run_connection_setup_tests first. The schema doesn't exist until this specific endpoint is called — even if tests passed elsewhere.npx claudepluginhub fivetran/copy-connectionsCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.