Skip to content

Add explicit agentic-behavior question to feature-refine review#4

Merged
marty916 merged 1 commit into
mainfrom
feature-refine-agentic-question
Jul 22, 2026
Merged

Add explicit agentic-behavior question to feature-refine review#4
marty916 merged 1 commit into
mainfrom
feature-refine-agentic-question

Conversation

@marty916

Copy link
Copy Markdown
Contributor

What

The govkit-feature-refine review now asks an explicit "Agentic behavior: yes or no?" question and records the team's answer as multi_agent: true|false in the feature's eval_criteria.yaml.

Why

Whether a feature involves agentic AI behavior determines which evaluation criteria (agent/tool routing, human review path) apply, and downstream GovKit tooling needs a recorded multi_agent flag. Inferring it from the spec is unreliable — the team's explicit answer during Draft 0 / 3 Amigos refinement is the record.

Changes

  • SKILL.md: Stage 1 checkpoint (Step 2) now ends with the explicit agentic-behavior yes/no question alongside the summary confirmation; when the pause is skipped, the question carries into the full analysis.
  • SKILL.md: New Step 8 subsection maps the answer — yes → multi_agent: true, no → multi_agent: false, unanswered → leave unset and list under Questions for refinement. A "yes" also triggers a check that agent/tool routing and human review path are covered.
  • SKILL.md: Output template requires multi_agent in the copy-ready Evaluation Criteria block (never inferred); normalized input gains an optional agentic_behavior field; question budget and guardrails updated to match.
  • references/qa-evidence-checklist.md: Evaluation criteria review gains a ready signal and leading question for the agentic-behavior declaration.
  • evals/evals.json: eval 4 asserts the question is asked at the checkpoint; eval 3 asserts the question is surfaced when the pause is skipped and that multi_agent is not emitted without an answer. An unanswered question is deliberately not a critical blocker, so existing eval decisions are unchanged.

Testing

  • claude plugin validate . passes (same check CI runs).
  • evals.json parses as valid JSON.
  • Skill-level evals are prompt-based; run the eval harness against evals 3 and 4 to exercise the new assertions.

🤖 Generated with Claude Code

The Stage 1 checkpoint now asks "Agentic behavior: yes or no?" and the
team's explicit answer sets multi_agent: true|false in the feature's
eval_criteria.yaml (Step 8). Unanswered stays unset and moves to
Questions for refinement; the flag is never inferred from the spec.

QA evidence checklist and skill evals updated to match.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@marty916
marty916 merged commit a5be39c into main Jul 22, 2026
1 check passed
@marty916
marty916 deleted the feature-refine-agentic-question branch July 22, 2026 20:33
@qodo-code-review

Copy link
Copy Markdown

PR Summary by Qodo

Add explicit agentic-behavior question and persist multi_agent in feature refine

✨ Enhancement 📝 Documentation 🧪 Tests 🕐 20-40 Minutes

Grey Divider

AI Description

• Add an explicit "Agentic behavior: yes or no?" question to the Stage 1 checkpoint.
• Map the team’s answer to multi_agent: true|false in eval_criteria.yaml (never inferred).
• Update QA checklist and prompt-based eval assertions to enforce the new behavior.
Diagram

graph TD
  A["Feature refine review"] --> B["Stage 1 summary checkpoint"] --> C["Ask: agentic yes/no"] --> D[("eval_criteria.yaml")]
  A --> E["Full analysis (if skip pause)"] --> C
  D --> F["QA evidence checklist"]
  D --> G["Skill eval harness (evals.json)"]
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. Heuristic inference from spec content
  • ➕ No extra question during refinement; less friction for teams
  • ➕ Can populate multi_agent even when stakeholders forget to answer
  • ➖ High risk of misclassification (the PR explicitly notes inference is unreliable)
  • ➖ Hard to audit/source-of-truth; disagreements become subjective
  • ➖ Encourages the tool to “decide” instead of recording the team’s intent
2. Require multi_agent as a mandatory input field (block if missing)
  • ➕ Guarantees downstream tooling always has the flag
  • ➕ Simplifies output rules (always emit true/false)
  • ➖ Turns an informational refinement question into a hard blocker
  • ➖ Likely increases false-blocks early in Draft 0 / 3 Amigos when info is incomplete
3. Separate “agentic behavior” into a dedicated refinement form/workflow step outside the skill
  • ➕ Cleaner separation of concerns; structured capture at the process level
  • ➕ Potentially reusable across multiple skills beyond feature-refine
  • ➖ Bigger process/tooling change than necessary for the current need
  • ➖ Adds integration overhead and may delay adoption

Recommendation: The PR’s approach (always ask an explicit yes/no and only set multi_agent from that answer) is the best trade-off: it creates an auditable source-of-truth without over-blocking early drafts, and it avoids brittle inference. The current “unanswered => omit + list under refinement questions” rule is a sensible guardrail that keeps the contract strict while preserving iteration speed.

Files changed (3) +31 / -5

Enhancement (1) +19 / -3
SKILL.mdAsk agentic yes/no at checkpoint and define multi_agent output rules +19/-3

Ask agentic yes/no at checkpoint and define multi_agent output rules

• Adds an explicit Stage 1 checkpoint question for agentic behavior and instructs carrying it into full analysis when the pause is skipped. Defines Step 8 mapping from the team’s explicit answer to 'multi_agent: true|false' in 'eval_criteria.yaml' (or omitting it when unanswered), updates the output template comment, question budget rules, and guardrails to prevent inference.

plugins/govkit/skills/govkit-feature-refine/SKILL.md

Tests (1) +10 / -2
evals.jsonAdd eval assertions for agentic question and non-inferred multi_agent +10/-2

Add eval assertions for agentic question and non-inferred multi_agent

• Extends expected outputs to require surfacing the agentic yes/no question at the Stage 1 checkpoint and when the pause is skipped. Adds assertions ensuring the review does not emit 'multi_agent' without an explicit team answer.

plugins/govkit/skills/govkit-feature-refine/evals/evals.json

Documentation (1) +2 / -0
qa-evidence-checklist.mdUpdate QA checklist to prompt and verify recorded multi_agent +2/-0

Update QA checklist to prompt and verify recorded multi_agent

• Adds a ready signal and a leading evaluation question requiring the explicit agentic-behavior declaration, with guidance that the answer must be recorded as 'multi_agent: true|false' and never inferred.

plugins/govkit/skills/govkit-feature-refine/references/qa-evidence-checklist.md

@qodo-code-review

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (2) 📘 Rule violations (0) 📜 Skill insights (0)

Grey Divider


Action required

1. Eval criteria omission conflict 🐞 Bug ≡ Correctness
Description
SKILL.md instructs omitting the entire “Evaluation Criteria” copy-ready block when agentic behavior
is unanswered, but Step 8 says to leave only multi_agent unset and keep the question under
refinement. This inconsistency can result in teams not producing/updating eval_criteria.yaml,
which downstream metrics code treats as missing/invalid and will reduce completeness scoring.
Code

plugins/govkit/skills/govkit-feature-refine/SKILL.md[R436-440]

### Evaluation Criteria
+<!-- Must include `multi_agent: true|false`, set from the team's explicit answer to the agentic behavior question (Step 8) — never inferred. If the question is unanswered, omit this section and keep it in Questions for refinement. -->
```yaml
<copy-ready eval criteria>
</details>
Evidence
Step 8 explicitly says that when the team has not answered, you should leave only multi_agent
unset and carry the question as a refinement question, but the output template comment says to omit
the entire Evaluation Criteria section. If the section is omitted, downstream code that reads/parses
eval_criteria.yaml will treat it as missing/invalid and completeness scoring will not award the
eval_criteria component.

plugins/govkit/skills/govkit-feature-refine/SKILL.md[315-325]
plugins/govkit/skills/govkit-feature-refine/SKILL.md[436-440]
plugins/govkit/skills/govkit-metrics-emit/scripts/emit_metrics.py[132-179]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The SKILL output template currently says to omit the entire **Evaluation Criteria** section if the agentic-behavior question is unanswered, which conflicts with Step 8 guidance that says to leave only `multi_agent` unset. This can lead teams to not produce a copy-ready `eval_criteria.yaml` update at all.

## Issue Context
Downstream tooling parses `features/<id>/eval_criteria.yaml` and treats it as missing/invalid when it is absent or not parseable; omitting the copy-ready block increases the chance that the file is never created/updated.

## Fix Focus Areas
- plugins/govkit/skills/govkit-feature-refine/SKILL.md[315-325]
- plugins/govkit/skills/govkit-feature-refine/SKILL.md[436-440]

## Suggested change
Update the template comment to:
- Keep the **Evaluation Criteria** section present.
- When unanswered, emit copy-ready YAML **without** a `multi_agent` key (or explicitly state “omit the `multi_agent` line”), and list the unanswered question under “Questions for refinement (QA / evaluation)”.
- Ensure wording matches the Step 8 table (“leave `multi_agent` unset”, not “omit this section”).

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools



Informational

2. Wrong step number reference 🐞 Bug ⚙ Maintainability
Description
The question budget rule calls the agentic-behavior question “Step 8”, but the question is asked at
Stage 1 Step 2 (Step 8 only maps the answer to multi_agent). This internal mismatch can confuse
maintenance and prompt-following behavior.
Code

plugins/govkit/skills/govkit-feature-refine/SKILL.md[R451-454]

## Question rules

-Ask no more than 5 high-priority questions unless the user requests a full backlog.
+Ask no more than 5 high-priority questions unless the user requests a full backlog. The agentic behavior yes/no question (Step 8) is structural and always asked; it does not count against this budget.
Evidence
Stage 1 Step 2 contains the explicit instruction to ask the agentic-behavior yes/no question, while
the question-budget line refers to it as Step 8, creating an internal inconsistency.

plugins/govkit/skills/govkit-feature-refine/SKILL.md[167-182]
plugins/govkit/skills/govkit-feature-refine/SKILL.md[451-454]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
In the Question rules section, the agentic behavior question is referenced as “Step 8”, but it is asked at Stage 1 Step 2.

## Issue Context
Step 8 is where the mapping guidance lives; the actual question is asked at the Stage 1 checkpoint.

## Fix Focus Areas
- plugins/govkit/skills/govkit-feature-refine/SKILL.md[167-182]
- plugins/govkit/skills/govkit-feature-refine/SKILL.md[451-454]

## Suggested change
Change “(Step 8)” to “(Stage 1, Step 2)” or remove the step number entirely (e.g., “The agentic behavior yes/no question is structural…”).

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Qodo Logo

Comment on lines 436 to 440
### Evaluation Criteria
<!-- Must include `multi_agent: true|false`, set from the team's explicit answer to the agentic behavior question (Step 8) — never inferred. If the question is unanswered, omit this section and keep it in Questions for refinement. -->
```yaml
<copy-ready eval criteria>
```

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Action required

1. Eval criteria omission conflict 🐞 Bug ≡ Correctness

SKILL.md instructs omitting the entire “Evaluation Criteria” copy-ready block when agentic behavior
is unanswered, but Step 8 says to leave only multi_agent unset and keep the question under
refinement. This inconsistency can result in teams not producing/updating eval_criteria.yaml,
which downstream metrics code treats as missing/invalid and will reduce completeness scoring.
Agent Prompt
## Issue description
The SKILL output template currently says to omit the entire **Evaluation Criteria** section if the agentic-behavior question is unanswered, which conflicts with Step 8 guidance that says to leave only `multi_agent` unset. This can lead teams to not produce a copy-ready `eval_criteria.yaml` update at all.

## Issue Context
Downstream tooling parses `features/<id>/eval_criteria.yaml` and treats it as missing/invalid when it is absent or not parseable; omitting the copy-ready block increases the chance that the file is never created/updated.

## Fix Focus Areas
- plugins/govkit/skills/govkit-feature-refine/SKILL.md[315-325]
- plugins/govkit/skills/govkit-feature-refine/SKILL.md[436-440]

## Suggested change
Update the template comment to:
- Keep the **Evaluation Criteria** section present.
- When unanswered, emit copy-ready YAML **without** a `multi_agent` key (or explicitly state “omit the `multi_agent` line”), and list the unanswered question under “Questions for refinement (QA / evaluation)”.
- Ensure wording matches the Step 8 table (“leave `multi_agent` unset”, not “omit this section”).

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

Comment on lines 451 to 454
## Question rules

Ask no more than 5 high-priority questions unless the user requests a full backlog.
Ask no more than 5 high-priority questions unless the user requests a full backlog. The agentic behavior yes/no question (Step 8) is structural and always asked; it does not count against this budget.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Informational

2. Wrong step number reference 🐞 Bug ⚙ Maintainability

The question budget rule calls the agentic-behavior question “Step 8”, but the question is asked at
Stage 1 Step 2 (Step 8 only maps the answer to multi_agent). This internal mismatch can confuse
maintenance and prompt-following behavior.
Agent Prompt
## Issue description
In the Question rules section, the agentic behavior question is referenced as “Step 8”, but it is asked at Stage 1 Step 2.

## Issue Context
Step 8 is where the mapping guidance lives; the actual question is asked at the Stage 1 checkpoint.

## Fix Focus Areas
- plugins/govkit/skills/govkit-feature-refine/SKILL.md[167-182]
- plugins/govkit/skills/govkit-feature-refine/SKILL.md[451-454]

## Suggested change
Change “(Step 8)” to “(Stage 1, Step 2)” or remove the step number entirely (e.g., “The agentic behavior yes/no question is structural…”).

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant