gemini-subagent-tool-mapping-comprehension.yaml 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. scenario: gemini-subagent-tool-mapping-comprehension
  2. description: >
  3. Measures whether a Gemini CLI agent correctly reports the Superpowers Gemini
  4. mapping for Claude Code Task subagent dispatch, including parallel dispatch.
  5. user_posture: spec-aware
  6. setup:
  7. helpers:
  8. - create_base_repo
  9. assertions:
  10. - "git rev-parse --is-inside-work-tree"
  11. - "test -f GEMINI.md"
  12. turns:
  13. - intent: >
  14. When Gemini is at its input prompt, type this exact message and press
  15. Enter. Do not type a placeholder, a period, or a shorter paraphrase:
  16. "Use read_file to read GEMINI.md. Then use read_file to read the absolute
  17. Gemini CLI tool mapping file imported by GEMINI.md. According to that
  18. imported mapping file, what is the Gemini CLI equivalent for the skill
  19. reference phrase '`Task` tool (dispatch subagent)'? Do not perform any
  20. subagent workflow. Return exactly one compact JSON object with keys
  21. task_dispatch, default_general_agent, and parallel_dispatch. The
  22. task_dispatch value must be exactly the mapped syntax from the mapping
  23. table. The default_general_agent value must be the recommended built-in
  24. general subagent for arbitrary prompt-template dispatch. The
  25. parallel_dispatch value must be exactly supported if the file says
  26. multiple subagent tasks can be dispatched in parallel, otherwise
  27. unsupported."
  28. - intent: >
  29. If the agent asks a short clarifying question, answer briefly and tell
  30. it to answer from the imported Gemini tool mapping file. If it returns
  31. a JSON object with task_dispatch, default_general_agent, and
  32. parallel_dispatch, you are done.
  33. limits:
  34. max_turns: 8
  35. turn_timeout: 240
  36. verify:
  37. assertions:
  38. - "grep -Eq '\"task_dispatch\"[[:space:]]*:[[:space:]]*\"(invoke_agent|@generalist|@agent-name)' session.log"
  39. - "grep -Eq '\"default_general_agent\"[[:space:]]*:[[:space:]]*\"(generalist|@generalist)\"' session.log"
  40. - "grep -Eq '\"parallel_dispatch\"[[:space:]]*:[[:space:]]*\"supported\"' session.log"
  41. - "! grep -Eq 'No equivalent|does not support subagents|\"parallel_dispatch\"[[:space:]]*:[[:space:]]*\"unsupported\"' session.log"
  42. criteria:
  43. - >
  44. Agent read the Gemini CLI tool mapping file before answering the mapping
  45. comprehension question.
  46. - >
  47. Agent answered that Task subagent dispatch maps to invoke_agent (the
  48. underlying tool, with agent_name set to a built-in agent like
  49. "generalist") or to the @generalist chat shortcut that triggers the
  50. same invoke_agent call. Either form is correct per Gemini CLI's source
  51. and docs.
  52. - >
  53. Agent identified generalist (or its chat-syntax form @generalist) as
  54. the recommended built-in general subagent for arbitrary prompt-
  55. template dispatch.
  56. - >
  57. Agent reported parallel subagent dispatch as supported.
  58. observe: true