[infra] Add a coding-agent development skill#918
Conversation
weiqingy
left a comment
There was a problem hiding this comment.
Thanks for putting this together @wenjin272. Only one question inline.
| runtime separately. When the design first requires Python, inspect available | ||
| interpreters and environments and keep only versions compatible with the already | ||
| selected Flink pair; do not assume Python 3.12. In this snapshot, Python 3.12 | ||
| requires Flink Agents `0.3+` and Flink `2.1+`; older combinations require Python |
There was a problem hiding this comment.
The version table just above (lines 44–47) mirrors tools/install.sh, which makes it lovely and easy for a coding agent to confirm. This 3.12 → Flink Agents 0.3+ / Flink 2.1+ pairing is the one concrete version constraint here I couldn't trace back to an in-tree source — pyproject.toml pins requires-python = ">=3.10,<3.13" but doesn't seem to gate 3.12 on those component versions. Is it coming from the per-release wheel matrix? If so, might it be worth either pointing a coding agent at where it can confirm this, or leaning on the same escape hatch the snapshot note at 73–76 already uses ("use a target-version installer, release metadata, or compatibility matrix ... because it overrides this bundled snapshot")? You'd know the release matrix far better than I can reconstruct from the tree — mostly curious whether there's a source a coding agent could check.
There was a problem hiding this comment.
Thanks, this is a good point. I checked this again, and the constraint is encoded in the installer rather than in a standalone compatibility matrix.
tools/install.sh::python_minor_ceiling() derives the effective Python ceiling from both selected versions: Flink Agents 0.1.x/0.2.x require Python <3.12, while Flink <2.1 also requires Python <3.12. Therefore, Python 3.12 is accepted only with Flink Agents 0.3+ and Flink 2.1+. The concrete accepted and rejected combinations are covered by tools/test/unit/validate_python_bin.bats, and the same constraint is documented in docs/content/docs/get-started/installation.md.
python/pyproject.toml only describes the current Flink Agents wheel's own Python range, so it does not capture the cross-version constraint with Flink.
Linked issue: #917
Purpose of change
Add a repository-managed, self-contained
flink-agents-devskill for coding agents that build Flink Agents applications.The skill bundles the YAML schema and focused references for YAML, Python, Java, local development, and verification. It guides coding agents through version, API, language, Resource, and Python environment decisions before scaffolding a project, while leaving user-owned Actions, Tools, prompts, and runtime Skills as explicit implementation placeholders.
It also documents dependency-managed Maven and Python project setup, cross-language Resource usage, and local verification through
RemoteExecutionEnvironmentand a MiniCluster. Platform-specific interaction guidance is isolated in adapters for Codex, Claude Code, Gemini CLI, Qoder, and generic coding agents.Tests
python3 /Users/jhin/.codex/skills/.system/skill-creator/scripts/quick_validate.py dev/agent-skills/flink-agents-devcmp docs/yaml-schema.json dev/agent-skills/flink-agents-dev/assets/yaml-schema.jsongit diff --check upstream/main...HEAD./tools/check-license.shNo Java or Python runtime tests were run because this change adds a coding-agent instruction bundle and repository metadata without changing executable project code.
API
This change does not touch public Flink Agents APIs.
Documentation
doc-neededdoc-not-neededdoc-included