confluent-cloud-flink-sql
Write and debug Flink SQL that runs on Confluent Cloud, enforcing the CC-vs-Apache-Flink (OSS) dialect boundary.
Skill by confluentOfficial
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/confluentinc-confluent-cloud-flink-sql
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: backend, data, writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/confluent-cloud-flink-sql
What's inside
- Skill name
confluent-cloud-flink-sql- Description
- Write and debug Flink SQL that runs on Confluent Cloud, enforcing the CC-vs-Apache-Flink (OSS) dialect boundary. Use when the working directory is a Confluent Cloud Flink workspace, when a Flink SQL statement needs checking before it runs on a CC compute pool, or when the user mentions CC Flink, Confluent Cloud Flink SQL, the `confluent flink` CLI, a CFU compute pool, `CREATE CONNECTION`, or asks to check or debug Flink SQL whose runtime is Confluent Cloud. Also trigger when a Flink SQL question is posed and nothing establishes an Apache Flink OSS runtime. Do NOT trigger for: building or deploying Flink UDFs in Java (UDF/UDTF/PTF — use flink-udf); a full CDC pipeline from a database through Flink into Tableflow/Iceberg/Delta Lake (use confluent-cloud-cdc-tableflow); Kafka Streams topology work (use kafka-streams-programming); or Flink SQL confirmed to run on Apache Flink OSS, not Confluent Cloud.
- License
- Apache-2.0
- Compatibility
- Requires the `confluent` CLI (authenticated session) and an active Confluent Cloud compute pool — statement runs consume CFUs. Terraform is optional, needed only if managing `CREATE CONNECTION` credentials via the Confluent Terraform provider.
- Metadata
- author: confluent · version: 1.0.0 · last_updated: 2026-07-31
- Instructions
- 103 lines in SKILL.md · view on GitHub
Files (8)
- SKILL.md
- evals.json · evals/
- cli-reference.md · references/
- dialect-traps.md · references/
- formats-and-serialization.md · references/
- reserved-words.md · references/
- sql-patterns-cc.md · references/
- troubleshooting-cc.md · references/
SKILL.md (first lines)
# Confluent Cloud Flink SQL Enforce the CC-Flink-vs-OSS-Flink dialect boundary and the CLI-driven verification loop for any Confluent Cloud Flink SQL work. Apache Flink OSS training data is a trap — CC rejects or silently mishandles a long list of otherwise-valid Flink SQL constructs. Scope note: this skill's reference material is built around the OSS-vs-CC dialect boundary — traps in constructs that exist in both dialects but behave differently. It does not yet catalog CC-only DDL that has no OSS counterpart (e.g. `CREATE MATERIALIZED TABLE`, `CREATE MODEL`/`AI_COMPLETE`, `CREATE AGENT`, `USE CATALOG`). For those, verify directly against the [CC Flink SQL reference](https://docs.confluent.io/cloud/current/flink/reference/overview.md) rather than expecting a trap entry here. ## Non-negotiables 1. **CC Flink ≠ Apache Flink.** Verify every API, SQL construct, and runtime behavior against: - [Confluent Cloud Flink docs](https://docs.confluent.io/cloud/current/flink/overview.md) - [CC Flink SQL reference](https://docs.confluent.io/cloud/current/flink/reference/overview.md) - [Confluent Terraform provider](https://registry.terraform.io/providers/confluentinc/confluent/latest/docs) - Live `confluent flink shell` against the user's compute pool 2. **No mocks in verification.** Integration claims require real `confluent` CLI runs. Unit tests may mock; anything calling itself "end-to-end verification" may not. 3. **Record decisions somewhere durable.** Ask the user where they want dialect traps and verification notes tracked (e.g. `docs/flink-dialect-traps.md` in their project) before writing any new file — don't assume a `docs/` layout. 4. **Secrets never in repo.** `CREATE CONNECTION` parameters are Terraform-injected, never hardcoded. Gitignore `.tfvars`, `.tfstate*`, `*.secret*` from day one. 5. **EXPLAIN before CREATE.** Always `EXPLAIN` a query before `statement create` — catches parse/type errors without consuming CFUs. 6. **Don't invent identifiers.** Use `<placeholder>` for any topic, table, statement, or resource name you haven't verified. ## Stream Processing Workflow When a user asks to build, modify, or troubleshoot a Flink SQL streaming solution, first understand the streaming problem and identify the required data and processing semantics before generating SQL. Use this workflow: 1. Understand the requirement 2. Discover existing Confluent resources 3. Establish the required streaming semantics (when needed) 4. Propose the processing design (when needed) 5. Confirm the design before modifying resources 6. Generate and validate Flink SQL 7. Execute the statement when explicitly approved 8. Observe and verify the result Do not ask clarifying questions if a request is complete (i.e., all required information, context, and parameters are provided or retrievable via available MCP tools). Skip directly to implementation and validation. Only ask questions when critical information is missing and cannot be resolved through existing context or tools. ### 1. Understand the Requirement Before generating Flink SQL, determine what the user is trying to accomplish. Establish, when relevant: - What streaming problem is being solved? - What data/events should be processed? - What are the input sources? - What should the output represent? - Where should the output go? - What business conditions determine which records are processed? - What are the required time semantics? - What should happen with duplicates, late events, or invalid data? - Are there important assumptions that could change the result? Ask only questions that materially affect the pipeline design. Do not ask for information that is already available in the conversation. ### 2. Discover Existing Confluent Resources When MCP tools are available, prefer inspecting existing Confluent resources over asking the user for information that can be discovered. For referenced input resources: 1. Find the relevant topic/table. 2. Inspect its schema. 3. Inspect representative records when necessary. 4. Identify relevant keys and timestamp fields. 5. Confirm the fields required by the proposed transformation. 6. Identify the target resource if it already exists. Do not invent topic names, table names, column names, schemas, or timestamp fields. If multiple resources could match the request, present the candidates and ask the user to select one. ### 3. Establish Streaming Semantics (when needed) Before generating SQL, determine the semantics that materially affect the result. Skip this step if all relevant semantics are already established from the user's prompt or the discovery step. Examples include: - Event time vs processing time - Window duration and behavior - Grouping keys - Join keys and temporal semantics - Deduplication key and ordering - Late-event handling - Output granularity - Whether the result represents individual events, aggregates, alerts, or another derived stream ### 4. Propose the Processing Design (when needed) For non-trivial requests, summarize the proposed design before generating executable SQL. For simple, fully specified requests, this can be reduced to a brief summary or skipped entirely. Use: **Input** - Relevant topic/table(s) - Relevant fields **Processing** - Main transformations - Joins/enrichment - Aggregation/windowing - Other required operations **Output** - Target topic/table - Output semantics **Assumptions** - Material assumptions that have not been explicitly specified Ask the user to confirm or correct the design before creating or modifying resources. ### 5. Plan Before Execute Before creating, modifying, or deleting a Confluent resource, present the execution plan.
From confluentinc/agent-skills, Apache-2.0.
More from confluentinc/agent-skills
- 0.725score
msk-migration
confluentincOfficial
Use this skill to assess and plan a migration from AWS MSK (Managed Streaming for Apache Kafka) to Confluent Cloud.
SkillBFreshness: B★ 59Claude Code +9 - 0.725score
confluent-tuning-advisor
confluentOfficial
Advisory-only Kafka tuning for Confluent Cloud or Confluent Platform by priority: latency, throughput, availability, or durability.
SkillBFreshness: B★ 59Claude Code +9 - 0.725score
kafka-schema-registry
confluentincOfficial
Scan a project to identify Kafka applications, extract schemas from data models, tag PII fields, generate Terraform for Confluent Schema Registry…
SkillBFreshness: B★ 59Claude Code +9 - 0.725score
kafka-streams-programming
confluentincOfficial
Architect, build, and debug Kafka Streams apps (JVM-embedded stream processing).
SkillBFreshness: B★ 59Claude Code +9 - 0.725score
flink-udf
confluentincOfficial
Build and deploy Apache Flink user-defined functions (UDFs) in Java for stream processing over Kafka.
SkillBFreshness: B★ 59Claude Code +9 - 0.721score
confluent-skill-creator
confluentOfficial
Create Confluent-specific skills for external users.
SkillBFreshness: B★ 59Claude Code +9 - 0.721score
confluent-skill-reviewer
confluentOfficial
Review a Confluent agent skill in this repo against the Agent Skills spec (agentskills.io), Confluent conventions in CLAUDE.md, the PR template gates, and the…
SkillBFreshness: B★ 59Claude Code +9 - 0.715score
confluent-cloud-cdc-tableflow
confluentincOfficial
Set up end-to-end Change Data Capture (CDC) pipelines on Confluent Cloud using Debezium source connectors, Flink for transformation, and Tableflow for data…
SkillBFreshness: B★ 59Claude Code +9 - 0.697score
developing-kafka-java-client
confluentincOfficial
Use when the user wants to integrate a Kafka client into an existing application or scaffold a Java Kafka client project (Maven or Gradle based) for Confluent…
SkillBFreshness: B★ 59Claude Code +9 - 0.697score
developing-kafka-python-client
confluentincOfficial
Use when the user wants to build a Python Kafka producer or consumer, add Schema Registry to existing Python code, migrate from raw JSON to schema-backed…
SkillBFreshness: B★ 59Claude Code +9
Signals
- Stars
- 59
- Forks
- 11
- Open issues
- 1
- Last commit (this folder)
- Aug 28, 2026 (2 months ago)
- Last release
- Sep 24, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- Version
- 1.0.0
- License
- Apache-2.0
- Repository
- github.com/confluentinc/agent-skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from confluent
- 0.725score
confluent-tuning-advisor
confluentOfficial
Advisory-only Kafka tuning for Confluent Cloud or Confluent Platform by priority: latency, throughput, availability, or durability.
SkillBFreshness: B★ 59Claude Code +9 - 0.721score
confluent-skill-creator
confluentOfficial
Create Confluent-specific skills for external users.
SkillBFreshness: B★ 59Claude Code +9 - 0.721score
confluent-skill-reviewer
confluentOfficial
Review a Confluent agent skill in this repo against the Agent Skills spec (agentskills.io), Confluent conventions in CLAUDE.md, the PR template gates, and the…
SkillBFreshness: B★ 59Claude Code +9
Cite this page
confluent-cloud-flink-sql skill. Agent Mart. https://agentmart.dev/skills/confluentinc-confluent-cloud-flink-sql (last updated 2026-10-24)