-
Notifications
You must be signed in to change notification settings - Fork 52
Closed
Description
Summary
agentsys skills use AskUserQuestion for interactive user prompts (task selection, policy choices, plan approval). Kiro has no programmatic equivalent - no structured question API with options/checkboxes. We need a Kiro-specific transform.
Current behavior
Skills contain patterns like:
AskUserQuestion({
questions: [{
question: "Which task to work on?",
header: "Task",
options: [
{ label: "Bug fix", description: "Fix the auth issue" },
{ label: "Feature", description: "Add dark mode" }
]
}]
});When transforming for Kiro, this is currently stripped entirely (along with other Claude-specific syntax).
Kiro interaction model
- Supervised mode: Per-hunk file edit approval (accept/reject), but not programmable
- Chat: User types responses naturally - no checkbox/option UI
- # mentions: Context providers (#file, #codebase, #steering) but not interactive
- Approval gates: Specs have manual phase transitions but no API
Proposed solution
Transform AskUserQuestion into a markdown prompt that works in Kiro's chat:
**Question: Which task to work on?**
Please reply with one of:
1. **Bug fix** - Fix the auth issue
2. **Feature** - Add dark mode
Type the number or name of your choice.This gives the Kiro agent a structured prompt it can present to the user in chat, and the user responds by typing.
Implementation
Add to transformCommandForKiro() in lib/adapter-transforms.js:
// Transform AskUserQuestion to markdown prompt
content = content.replace(
/AskUserQuestion\s*\(\s*\{[\s\S]*?\}\s*\);?/g,
(match) => {
// Extract question text and options, format as numbered list
// Return markdown prompt
}
);Acceptance criteria
-
AskUserQuestioncalls transformed to markdown numbered-list prompts - Question text, option labels, and descriptions preserved
- Multi-select questions noted with "select all that apply"
- Tests for various AskUserQuestion patterns
- Works for both single and multi-question calls
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels