Skip to content

feat(agents): template playbooks adopt real request_input defaults - #5211

Merged
ardaerzin merged 3 commits into
big-agentsfrom
feat/playbooks-real-defaults
Jul 10, 2026
Merged

feat(agents): template playbooks adopt real request_input defaults#5211
ardaerzin merged 3 commits into
big-agentsfrom
feat/playbooks-real-defaults

Conversation

@ardaerzin

Copy link
Copy Markdown
Contributor

Context

The stated follow-up of #5190 (shipped in #5177): the elicitation form now supports a real default per field, multi-select arrays, and oneOf choice cards — but the template playbooks still taught the pre-#5190 workarounds ("Recommended: " in descriptions, first-enum-option-as-default). Until this lands, builder agents never author the shapes the form can render.

What changes

  • All 28 playbooks (engineering/knowledge/monitoring/ops/sales/support): proposed values become field defaults (one-click accept); researchable enums set "Figure it out" as the default and rely on the built-in Other… escape hatch; fields already implying multiplicity use {type: "array", items: {type: "string", enum: [...]}}. Bodies stay within the 1–2 KB budget (largest drift +3%).
  • write-template-playbooks skill: platform fact dashboard setup #1 flipped (defaults exist — use them; must match the field type; empty defaults stripped; date fields ignore them), skeleton, prompting checklist and worked example updated.
  • playbook-spec.md: the "no defaults" reality section replaced with the shipped dialect; open-questions AG-26 - API route to fetch llm calls #2 closed as shipped-and-adopted.
  • build-an-agent skill, loop step 1: the builder is now told at the decisive prompt position to propose defaults, treat enum options as suggestions, and reach for multi-select/oneOf when the question calls for them.

Tests

  • api test_static_catalog: 41 pass (skill-body pins intact)
  • sdk test_agenta_builtins_reference_files: 22 pass (no test pinned the old workaround text)
  • ruff format + check clean

What to QA

Build an agent from any template card: the clarify form should arrive prefilled (accept-in-one-click when the proposals are right), researchable questions should default to "figure it out", and multi-pick questions (e.g. newsletter sources, digest contents) should render as chip pickers.

The #5190 follow-up: the elicitation form now has a real default field
(shipped in #5177), so the playbook layer retires its two workarounds —
"put the recommended value in the field description" and "the FIRST enum
option signals the default".

- All 28 template playbooks migrated: proposed values become field
  defaults (one-click accept); researchable enums set "figure it out" AS
  the default and lean on the built-in Other… escape hatch; fields that
  already implied multiplicity use the multi-select array shape. Every
  body stays within its 1-2 KB budget.
- write-template-playbooks skill: platform fact #1 flipped (defaults
  exist — use them; type-matched, empty stripped, dates ignore them),
  skeleton + checklist + worked example updated.
- playbook-spec: "The request_input reality (no defaults)" replaced with
  the shipped dialect (defaults, multi-select, oneOf choice cards);
  open-questions #2 closed as shipped-and-adopted.
- build-an-agent skill loop step 1 now tells the builder to propose
  defaults and use the richer shapes at the decisive prompt position.
@vercel

vercel Bot commented Jul 10, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
agenta-documentation Ready Ready Preview, Comment Jul 10, 2026 10:47pm

Request Review

@coderabbitai

coderabbitai Bot commented Jul 10, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: b4db25ad-9d20-4fd8-b9ca-f25987769289

📥 Commits

Reviewing files that changed from the base of the PR and between dde995c and 43471c2.

📒 Files selected for processing (2)
  • .agents/skills/write-template-playbooks/references/prompting-checklist.md
  • .agents/skills/write-template-playbooks/references/worked-example.md
✅ Files skipped from review due to trivial changes (1)
  • .agents/skills/write-template-playbooks/references/worked-example.md
🚧 Files skipped from review as they are similar to previous changes (1)
  • .agents/skills/write-template-playbooks/references/prompting-checklist.md

📝 Walkthrough

Summary by CodeRabbit

  • New Features

    • Added support for proposed default values in agent input forms, enabling one-click acceptance.
    • Added richer selection controls, including multi-select fields, explanatory options, and custom “Other…” values.
    • Improved “Figure it out” and best-judgment options for researchable settings.
  • Documentation

    • Updated playbooks and authoring guidance to explain default values, required context, field types, and date handling.
    • Refined built-in templates across engineering, knowledge, monitoring, operations, sales, and support workflows to provide clearer recommendations.

Walkthrough

The PR updates request_input authoring guidance, playbook specifications, built-in agent-building instructions, and embedded agent templates to use explicit defaults and richer enum, multi-select, and oneOf option shapes.

Changes

Request input contract and authoring guidance

Layer / File(s) Summary
Default semantics and schema rules
.agents/skills/write-template-playbooks/*, docs/design/agent-workflows/projects/agent-templates/*
Authoring guidance now documents real request_input defaults, type-matching values, empty-default stripping, date/date-time handling, researchable enum defaults, multi-select arrays, oneOf options, and custom Other… values.
Agent-building instructions
sdks/python/agenta/sdk/agents/adapters/agenta_builtins.py
The build-an-agent instructions now require proposed defaults and concise enum, multi-pick, or explanatory oneOf option structures.
Embedded template prompts
sdks/python/agenta/sdk/agents/adapters/agent_templates/*.py
Built-in engineering, knowledge, monitoring, ops, sales, and support templates now use explicit defaults and updated researchable-context wording, including multi-select and custom-time options.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Possibly related issues

Possibly related PRs

  • Agenta-AI/agenta#5188 — Introduced the related agent-template playbook specification whose earlier no-default assumptions are revised here.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly states the main change: adopting real request_input defaults across template playbooks.
Description check ✅ Passed The description matches the changeset and summarizes the template, spec, and skill updates accurately.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/playbooks-real-defaults

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@ardaerzin
ardaerzin marked this pull request as ready for review July 10, 2026 22:34
@ardaerzin

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@dosubot dosubot Bot added enhancement New feature or request python Pull requests that update Python code size:L This PR changes 100-499 lines, ignoring generated files. labels Jul 10, 2026
@coderabbitai

coderabbitai Bot commented Jul 10, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@mmabrouk mmabrouk left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @ardaerzin lgtm

@dosubot dosubot Bot added the lgtm This PR has been approved by a maintainer label Jul 10, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
.agents/skills/write-template-playbooks/references/prompting-checklist.md (1)

64-65: 🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

Stale field-type guidance contradicts the new multi-select array support.

Lines 64–65 state "No arrays, no nested objects, no multi-select," but SKILL.md lines 94–95 explicitly define multi-pick questions as {type: "array", items: {type: "string", enum: [...]}}, and multiple templates in knowledge.py (lines 32–33, 157–158, 217–219, 269–270) now use array-based multi-select defaults. This checklist is the reference playbook authors consult for form elicitation rules — the contradiction will cause authors to avoid the multi-select pattern this PR introduces.

🔄 Proposed fix to align with the new multi-select guidance
-Field types are `string`, `number`, `integer`, `boolean` only. No arrays, no nested objects,
-no multi-select. Formats: `date`, `date-time`, `email`, `uri`, `multiline`.
+Field types are `string`, `number`, `integer`, `boolean`, and `array` (multi-pick only;
+use `{type: "array", items: {type: "string", enum: [...]}}`). No nested objects. Formats:
+`date`, `date-time`, `email`, `uri`, `multiline`.
.agents/skills/write-template-playbooks/references/worked-example.md (1)

83-84: 🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

"What this example demonstrates" summary contradicts the updated example body.

The example body (lines 20–23) now instructs setting field defaults and using enum default values, but the summary at lines 83–84 still says "No prefilled defaults" and "The recommended enum choice is listed first." This is the canonical example authors copy from — the stale summary directly contradicts the PR's core migration objective and will mislead authors into the old pattern.

🔄 Proposed fix to align the summary with the updated example
-- **No prefilled defaults.** The repo guess lives in the field description, not a default field.
-  The recommended enum choice is listed first.
+- **Defaults via the `default` field.** The repo guess is set as the field `default` when a
+  prior read surfaces one; the recommended enum choice is set as the `default`, not merely
+  listed first.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 145b60f0-7d6e-458e-a492-154e4c7fe884

📥 Commits

Reviewing files that changed from the base of the PR and between 0acb40c and dde995c.

📒 Files selected for processing (12)
  • .agents/skills/write-template-playbooks/SKILL.md
  • .agents/skills/write-template-playbooks/references/prompting-checklist.md
  • .agents/skills/write-template-playbooks/references/worked-example.md
  • docs/design/agent-workflows/projects/agent-templates/open-questions.md
  • docs/design/agent-workflows/projects/agent-templates/playbook-spec.md
  • sdks/python/agenta/sdk/agents/adapters/agent_templates/engineering.py
  • sdks/python/agenta/sdk/agents/adapters/agent_templates/knowledge.py
  • sdks/python/agenta/sdk/agents/adapters/agent_templates/monitoring.py
  • sdks/python/agenta/sdk/agents/adapters/agent_templates/ops.py
  • sdks/python/agenta/sdk/agents/adapters/agent_templates/sales.py
  • sdks/python/agenta/sdk/agents/adapters/agent_templates/support.py
  • sdks/python/agenta/sdk/agents/adapters/agenta_builtins.py

CodeRabbit caught two passages my phrase-sweep missed (the checklist's
field-types line still banning arrays/multi-select, and the worked
example's summary still claiming no prefilled defaults); a re-read
caught a third in the worked example's intro. All three now state the
shipped dialect.
@ardaerzin

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Jul 10, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@ardaerzin
ardaerzin merged commit ed1a09b into big-agents Jul 10, 2026
18 of 22 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request lgtm This PR has been approved by a maintainer python Pull requests that update Python code size:L This PR changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants