Pranaykarvi commented on issue #62500:
URL: https://github.com/apache/airflow/issues/62500#issuecomment-4099644980
@potiuk @jason810496 Opened a draft PR for the PoC:
#64008
Summary of what is included across 6 commits:
Source of truth: contributing-docs/03_contributors_quick_start.rst
and AGENTS.md both contain embedded agent-skill blocks. The
extractor scans both sources — RST files are the primary source
per Potiuk's guidance, AGENTS.md as secondary. 9 skills total.
Runtime context API (breeze_context.py):
- get_context() detects host vs Breeze vs Podman via 4-step
priority chain: AIRFLOW_BREEZE_CONTAINER env var ->
/.dockerenv (Docker) -> /.containerenv (Podman) ->
/opt/airflow -> default host
- get_command(skill_id, **kwargs) returns correct command
for current context with parameter substitution
- --force-context flag overrides automatic detection
uv-first fallback chain: run-single-test skill uses uv as
primary, falls back to breeze only when system deps are missing
exactly the pattern described in Potiuk's comment.
Drift detection: extract_agent_skills.py --check exits 1 if
skills.json has drifted from source docs. Wired as pre-commit
hook so CI fails if contributor edits docs without regenerating.
Dependency graph: skill_graph.py builds execution order tree
from prereqs fields, emits skill_graph.json for machine
consumption, detects circular dependencies.
Validation CLI: validate_skills.py catches duplicate IDs,
invalid context values, missing required fields across all skills.
Query CLI: query_skills.py --chain run-manual-checks shows
full execution order: setup-breeze-environment ->
run-static-checks -> run-manual-checks.
DX_REPORT.md: documents 3 concrete failure modes an agent
hits without skills (wrong host/container context, wrong tool,
wrong order) vs with skills.
E2E tests: cover full pipeline from RST skill block ->
extraction -> skills.json -> get_command() returning correct
uv command for host context.
29 tests passing total across unit, integration, and E2E.
Happy to hear any feedback on the design, particularly on
whether the get_command() API abstraction level is right for
agents consuming these skills, and whether the dual-source
approach (RST + AGENTS.md) aligns with the intended direction.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]