ase-task-grill
SkillProductivityInterview the user relentlessly about the task plan until reaching a shared understanding, resolving each branch of the question decision tree. Use when the user wants to stress-test a plan, get grilled on their plan, or mentions "grill me" or "grill plan".
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the ase-task-grill skill
What this skill tells your AI
The instructions your AI receives, as published by rse/ase in plugin/skills/ase-task-grill/SKILL.md and read by ahel’s review.
@${CLAUDE_SKILL_DIR}/../../meta/ase-control.md @${CLAUDE_SKILL_DIR}/../../meta/ase-skill.md @${CLAUDE_SKILL_DIR}/../../meta/ase-dialog.md @${CLAUDE_SKILL_DIR}/../../meta/ase-getopt.md
$ARGUMENTS
@${CLAUDE_SKILL_DIR}/../../meta/ase-format-task.md @${CLAUDE_SKILL_DIR}/../../meta/ase-common-task.md @${CLAUDE_SKILL_DIR}/../../meta/ase-common-grill.md
Procedure
-
Determine Task:
-
Set initially, with any leading and trailing whitespace stripped. Inherit the always existing from the current context. Inherit the always existing from the current context. Do not output anything.
-
If is not a positive integer, only output the following and then immediately STOP processing the entire current skill:
-
React on task id:
-
-
Determine Task Plan:
-
Determine the current task plan content:
-
-
Iterate Over Task Plan Aspects:
-
Understand what "grilling" is about:
-
Perform grilling rounds, numbered (1-). Each round starts from scratch from only the current -- as updated by all previous rounds -- and forgets all questions and answers gathered in previous rounds.
For each round:
-
INITIALIZE ROUND:
Set to
GRILLING ROUND <m/>/<getopt-option-rounds/>if is greater than 1, or toGRILLINGotherwise (a single round needs no round numbering). Then output only the following : -
DETERMINE QUESTIONS:
Determine the essential aspects (a one- or two-word-long short identifier like
FooorBar-Baz, also serving as the topic hint) and the corresponding, very brief but precise decision/question where a shared understanding is required. Each question is chosen to resolve the open points related to the above understanding of grilling, by focusing on the mentioned Focus Areas and checking the mentioned Indicators.For use the format
Shall...?for questions of focus areaDOMAINandINTERFACE, the formatShould...?for questions of focus areaARCHITECTURE, and the formatMay...?for questions of focus areaIMPLEMENTATION.In every , encode all literal aspects -- file and directory paths, identifiers, symbols, types, commands, options, configuration keys, and literal values -- with backticks. Do not output anything.
-
DETERMINE CONTEXT:
For each question, determine its focus area from the mentioned Focus Areas. , describing how important this question is.
-
SORT QUESTIONS:
Create a decisions/questions tree for the questions, capturing the dependencies between the decisions. Then sort the questions primarily by descending focus area order -- first all
DOMAIN, then allINTERFACE, then allARCHITECTURE, and then allIMPLEMENTATIONones -- and secondarily, within each focus area, by the decision tree order, so that each decision is asked after the decisions it depends on. Renumber according to this order, starting at1in every round, independent of the numbering of previous rounds. Truncate the list after a maximum of 10 questions and set to the number of remaining questions. Do not output anything. -
For each question in the iteration cycle , one at a time:
-
Output the following :
-
Determine the answer alternatives:
-
Check the for the answer , which reflects the current plan.
-
Check the code base and your world knowledge and use this information to find up to three grounded alternative answers (K={2,3,4}), so there are between two and four answer options in total.
-
For each (K={1,2,3,4}) determine a 1-3 word label , and an ultra brief description of at most 10 words. Prepend
⚑to the which reflects the current plan. Do not output anything.
-
-
In the following, you MUST NOT use your built-in tool! Instead, you MUST just show a custom dialog according to the expanded
custom-dialogdefinition. You MUST closely follow this definition.Let the user select the out of the answer alternatives by raising a question with the following custom dialog. Emit only the answer lines for the alternatives you actually determined in the previous step (between two and four lines in total), followed by the fixed
SKIP GRILLINGanswer option:Check the and dispatch accordingly:
-
If is
CANCEL, only output the following and then immediately STOP processing the entire current skill, leaving the plan untouched: -
If is
SKIP GRILLING, ask no further questions, continue with item 6 below (updating the plan with the answers gathered so far), and after item 6 skip all remaining rounds and continue with item 3.3 below. -
Otherwise, strip any leading
OTHER:prefix from and set to the remainder.
-
-
Output the following :
-
-
Update based on all answers gathered in this round. Do not output anything.
-
-
Add the value
grilledto theProperties:frontmatter key of if it is still absent, keeping all already present values and creating the whole key (with the single valuegrilled) if the plan carries none.
-
-
Decide Next Step:
-
Determine next step:
Next Step: How would you like to proceed with the plan? DONE: Stop processing. EDIT: Hand off plan to editing. PREFLIGHT: Hand off plan to pre-flighting. IMPLEMENT: Hand off plan to implementation.
-
Check the tool and dispatch accordingly:
-
If is
DONEorCANCEL: Only output the following and then STOP, without output of any further information. -
If is
EDIT: Only output the following and then call the toolSkill(skill: "ase:ase-task-edit", args: "<args/>")to invoke thease:ase-task-editskill in order to edit the updated plan. Immediately stop processing the current skill once theSkilltool was used. -
If is
PREFLIGHT: Only output the following and then call theSkill(skill: "ase:ase-task-preflight", args: "<args/>")tool to apply the plan. -
If is
IMPLEMENT: Only output the following and then call theSkill(skill: "ase:ase-task-implement", args: "<args/>")tool to apply the plan.
-
-
Signals
- GitHub stars
- 52
- Forks
- 5
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
ase-task-grill- Source
- github.com/rse/ase