feat: Breeze-aware AI agent skills system (GSoC 2026 PoC)#64012
feat: Breeze-aware AI agent skills system (GSoC 2026 PoC)#64012Subham-KRLX wants to merge 4 commits into
Conversation
a2867e6 to
f4611e1
Compare
8261fb9 to
1eb312d
Compare
|
I have successfully addressed a compatibility edge-case between Airflow’s mandatory insert-license hook and the Agent Skills validator. In the latest commit, I refined validate_skills.py to gracefully ignore the SPDX headers added to .md files, ensuring the system remains strictly compliant with both the Apache Airflow licensing standards and the Agent Skills specification. This refined logic, combined with my PR sanitization and commit squash, brings the proposed Agent Skills system into a production-ready state with all 323 local tests (covering context detection, command routing, and scenario validation) currently passing 100%. |
250038c to
67a96a1
Compare
b27c8a5 to
8b83e5b
Compare
|
Updated CONSTITUTION.md to include the full Commands section that was missing it now contains all uv run, breeze testing, breeze run, and prek commands alongside the host/Breeze boundary table this completes the AGENTS.md (short entrypoint) → CONSTITUTION.md (full rules + commands) → .agents/skills/ (context-aware execution) hierarchy as described in the proposal. |
96205c2 to
1978089
Compare
|
The recurring AGENTS.md conflict is expected this PR adds the .agents/skills/ section to it and main keeps expanding the same file resolution is always to keep this PR's short entrypoint version. Happy to re-sync as needed. |
|
Comments added - also there are conflicts to solve. |
|
@Subham-KRLX A few things need addressing before review — see our Pull Request quality criteria.
No rush. Note: This comment was drafted by an AI-assisted triage tool and may contain mistakes. Once you have addressed the points above, an Apache Airflow maintainer — a real person — will take the next look at your PR. We use this two-stage triage process so that our maintainers' limited time is spent where it matters most: the conversation with you. Drafted-by: Claude Code (Opus 4.7); reviewed by @potiuk before posting |
|
@Subham-KRLX — I've removed the Automated triage note drafted by an AI-assisted tool — may get things wrong; a real Apache Airflow maintainer takes the next look once it's green. (why automated) Drafted-by: Claude Code (Opus 4.8); reviewed by @potiuk before posting |
Problem
AI coding tools like Claude Code, Gemini CLI, and Cursor treat Apache Airflow as a generic Python repository. They don't understand the boundary between the host OS and the Breeze container which causes real failures in contributor workflows.
Running pytest on the host fails because PostgreSQL binaries aren't there. Running git commit inside Breeze fails because .git is not mounted. When commands fail silently agents start hallucinating fixes for bugs that don't exist.
Solution
This PR adds a machine-readable library of contributor workflows following the agentskills.io specification. It gives AI tools a clear map of what to run where to run it and what to avoid.
breeze_context.py detects whether code is running on the host or inside Breeze using a simple chain: BREEZE_HOME → .dockerenv → /opt/airflow. It also blocks host-only operations like git add from running inside the container.
.agents/skills/ contains 3 skills covering testing, staging, and linting. Each skill tells the agent exactly which command to use depending on context.
validate_skills.py is a pre-commit hook that checks every skill file follows the correct structure. It handles Airflow's SPDX license headers so the two systems don't conflict.
AGENTS.md → CONSTITUTION.md → .agents/skills/ forms a three-level hierarchy: short entrypoint, full rules, then context-aware execution.
The norecursedirs fix in pyproject.toml, airflow-ctl, and task-sdk resolves a SystemExit: 1 test collection error caused by pytest scanning dev/ directories it shouldn't touch.
Verification Proof:
✅ 14/14 scripts tests passing (context detection, command routing, guardrails, edge cases)
✅ 15 files changed all PoC-specific no unrelated changes
✅ ruff format and ruff check clean on all new Python files
✅ validate_skills.py all 3 skills conform to agentskills.io standard
closes: #62500
Was generative AI tooling used to co-author this PR?
Yes — Claude(Code Research and PR Sanitization)