| name | scholar-rebuttal-pro |
| disable-model-invocation | true |
| description | Enhanced academic paper review response workflow with Agy/CLI collaborative analysis and multi-perspective discussion. Produces structured rebuttal documents with evidence-based strategies. Triggers on "rebuttal", "respond to reviewers", "review response", "ๅฎก็จฟๅๅค". |
| allowed-tools | ["Bash","Edit","Glob","Grep","Read","Task","Write","mcp__ace-tool__search_context","mcp__maestro__edit_file","mcp__maestro__read_file","request_user_input","spawn_agent","update_plan"] |
| session-mode | run |
| version | 0.5.55 |
| contract | {"discovery":"self-described","consumes":[],"produces":[],"gates":{"entry":[],"exit":[]}} |
Plan tracking: codex ๆ TaskCreate/TaskUpdate/TodoWrite ไปปๅกๆฟใ่ฟๅบฆๆธ
ๅ็จ update_plan({ explanation?, plan: [{ step, status }] }) ็ปดๆค๏ผๆดไฝๆไบคๆญฅ้ชคๆฐ็ป๏ผstatus: pending | in_progress | completed๏ผ๏ผๆๅจ็ถๆๅง็ปๅจ session ๅทฅไปถไธญ๏ผไพ่ต/่ฎค้ข๏ผaddBlockedBy/owner๏ผๆฏๅทฅไปถๅญๆฎต๏ผไธๆฏๅทฅๅ
ทๅๆฐใ
<required_reading>
@/.maestro/workflows/run-mode.md
@/.maestro/workflows/codex-run-mode.md
</required_reading>
Scholar Rebuttal Pro
Enhanced academic paper review response workflow combining Agy/CLI collaborative analysis with multi-perspective discussion. Produces structured, evidence-based rebuttal documents optimized for conference-specific requirements.
Pre-load (before execution)
- Codebase docs: If
.workflow/codebase/ARCHITECTURE.md exists, read for project context
- Specs:
maestro load --type spec --category coding โ load coding conventions
- Wiki knowledge:
maestro search "academic writing research paper" --json โ top 5 entries as prior context
- All optional โ proceed without if unavailable
Architecture Overview
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Scholar Rebuttal Pro Orchestrator (SKILL.md) โ
โ โ Pure coordinator: Execute phases, parse outputs, pass context โ
โ โ Run lifecycle: create/resume โ phases โ check โ complete โ
โโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโ โโโโโโโโโโโ โโโโโโโโโโโ โโโโโโโโโโโ โโโโโโโโโโโ
โ Phase 1 โ โ Phase 2 โ โ Phase 3 โ โ Phase 4 โ โ Phase 5 โ
โ Review โ โ Multi- โ โStrategy โ โRebuttal โ โ Quality โ
โ Parsing โ โPerspect โ โFormula โ โ Writing โ โValidat โ
โโโโโโโโโโโ โโโโโโโโโโโ โโโโโโโโโโโ โโโโโโโโโโโ โโโโโโโโโโโ
reviewA discussion strategy rebuttal quality
nalysis Consensus Matrix Draft Score
Key Design Principles
- CLI-Assisted Analysis: Leverage Agy CLI for semantic analysis, evidence gathering, and quality validation
- Multi-Perspective Discussion: Simulate author/reviewer/expert viewpoints to develop robust strategies
- Evidence-Based Responses: Link every response to paper content or experimental evidence
- Conference-Agnostic Templates: Support extensible template system for different venues
- Progressive Disclosure: Load phase documents on-demand to manage context window
Interactive Preference Collection
Collect workflow preferences via request_user_input before dispatching to phases:
const prefResponse = request_user_input({
questions: [
{
question: "ๆฏๅฆ่ทณ่ฟๆๆ็กฎ่ฎคๆญฅ้ชค๏ผ่ชๅจๆจกๅผ๏ผ๏ผ",
header: "Auto Mode",
multiSelect: false,
options: [
{ label: "Interactive (Recommended)", description: "ไบคไบๆจกๅผ๏ผๆฏ้ถๆฎตๅ็กฎ่ฎค" },
{ label: "Auto", description: "่ทณ่ฟๆๆ็กฎ่ฎค๏ผ่ชๅจๆง่ก" }
]
},
{
question: "่ฎบๆๅ
ๅฎนๆฅๆบ๏ผ๏ผ็จไบ็ญ็ฅๅถๅฎๆถๆฅๆพๆฏๆ่ฏๆฎ๏ผ",
header: "Paper Source",
multiSelect: false,
options: [
{ label: "Provide Path", description: "ๆๅฎ่ฎบๆ PDF/LaTeX ่ทฏๅพ" },
{ label: "Current Directory", description: "่ชๅจๆ็ดขๅฝๅ็ฎๅฝ" },
{ label: "Review Only", description: "ไป
ๅบไบๅฎก็จฟๆ่งๅๅค" }
]
},
{
question: "็ฎๆ ไผ่ฎฎ็ฑปๅ๏ผ๏ผๅฝฑๅๆจกๆฟๅ็ญ็ฅ้ๆฉ๏ผ",
header: "Conference",
multiSelect: false,
options: [
{ label: "ML Conferences", description: "NeurIPS/ICML/ICLR" },
{ label: "CV Conferences", description: "CVPR/ECCV/ICCV" },
{ label: "NLP Conferences", description: "ACL/EMNLP" },
{ label: "Generic", description: "้็จๆจกๆฟ" }
]
}
]
})
workflowPreferences = {
autoYes: prefResponse["Auto Mode"] === "Auto",
paperSource: prefResponse["Paper Source"],
conferenceType: prefResponse["Conference"]
}
workflowPreferences is passed to phase execution as context variable.
Phases reference as workflowPreferences.autoYes, workflowPreferences.paperSource, etc.
Auto Mode Defaults
When workflowPreferences.autoYes === true:
- Skip confirmation after each phase
- Use recommended strategies from multi-perspective discussion
- Apply default conference template (Generic)
- Auto-proceed to quality validation
Execution Flow
โ ๏ธ COMPACT DIRECTIVE: Context compression MUST check update_plan phase status.
The phase currently marked in_progress is the active execution phase โ preserve its FULL content.
Only compress phases marked completed or pending.
Run Setup (see run-mode.md):
โโ Birth packet injected run_id/run_dir? โ use them, skip create.
Else self-start: maestro run create scholar-rebuttal-pro --session <YYYYMMDD-scholar-rebuttal-pro-{topic}> --intent "..."
(Optional --resume <run_id> โ maestro run brief --platform codex <run_id> to continue an existing Run.)
โโ output_base = {run_dir}/outputs
Input Parsing:
โโ Convert user input to structured format (reviewCommentsPath + paperPath + conferenceType)
Phase 1: Review Parsing & Classification
โโ Ref: phases/01-review-parsing.md
โโ Tasks attached: Parse reviewer comments structure โ Classify comments using Agy CLI โ Extract sentiment and key concerns โ Generate review-analysis.json
โโ Output: reviewAnalysis, commentCategories, ${output_base}/review-analysis.json, ${output_base}/comment-classification.md
Phase 2: Multi-Perspective Discussion
โโ Ref: phases/02-multi-perspective-discussion.md
โโ Tasks attached: Author perspective: effective response strategies โ Reviewer perspective: persuasive arguments โ Expert perspective: technical accuracy and academic norms โ Synthesize consensus strategies
โโ Output: discussionConsensus, strategicRecommendations, ${output_base}/discussion-log.md, ${output_base}/consensus-strategies.json
Phase 3: Strategy Formulation
โโ Ref: phases/03-strategy-formulation.md
โโ Tasks attached: Map comments to response strategies โ Search paper content for evidence using CLI โ Identify gaps requiring new experiments โ Generate strategy matrix
โโ Output: strategyMatrix, evidenceMap, ${output_base}/strategy-matrix.md, ${output_base}/evidence-references.json
Phase 4: Rebuttal Writing
โโ Ref: phases/04-rebuttal-writing.md
โโ Tasks attached: Apply conference-specific template โ Write point-by-point responses โ Integrate evidence and citations โ Optimize professional tone
โโ Output: rebuttalDraft, rebuttal.md, ${output_base}/rebuttal-draft-v1.md
Phase 5: Quality Validation
โโ Ref: phases/05-quality-validation.md
โโ Tasks attached: Check completeness (all comments addressed) โ Assess professionalism and tone โ Evaluate persuasiveness and evidence strength โ Generate improvement recommendations
โโ Output: qualityScore, improvements, ${output_base}/quality-report.md, ${output_base}/improvement-suggestions.json
Run Closure (see run-mode.md):
โโ maestro run check {run_id} โ repair any reported gate โ maestro run complete {run_id}
(Report success only after run complete.)
Return:
โโ Summary with recommended next steps
Phase Reference Documents (read on-demand when phase executes):
| Phase | Document | Purpose | Compact |
|---|
| 1 | phases/01-review-parsing.md | Parse reviewer comments, classify by type (Major/Minor/Typo/Misunderstanding), extract key concerns using Agy CLI semantic analysis | update_plan ้ฉฑๅจ |
| 2 | phases/02-multi-perspective-discussion.md | Simulate discussion from author, reviewer, and domain expert perspectives to develop consensus strategies | update_plan ้ฉฑๅจ + ๐ sentinel |
| 3 | phases/03-strategy-formulation.md | Select response strategies (Accept/Defend/Clarify/Experiment) based on discussion, analyze paper content for supporting evidence using CLI | update_plan ้ฉฑๅจ + ๐ sentinel |
| 4 | phases/04-rebuttal-writing.md | Generate structured rebuttal document using rebuttal-writer agent, apply conference-specific templates, optimize tone | update_plan ้ฉฑๅจ + ๐ sentinel |
| 5 | phases/05-quality-validation.md | Validate rebuttal quality using Agy CLI: completeness, professionalism, persuasiveness, generate improvement suggestions | update_plan ้ฉฑๅจ |
Compact Rules:
- update_plan
in_progress โ ไฟ็ๅฎๆดๅ
ๅฎน๏ผ็ฆๆญขๅ็ผฉ
- update_plan
completed โ ๅฏๅ็ผฉไธบๆ่ฆ
- ๐ sentinel fallback โ ๅธฆๆญคๆ ่ฎฐ็ phase ๅ
ๅซ compact sentinel๏ผ่ฅ compact ๅไป
ๅญ sentinel ่ๆ ๅฎๆด Step ๅ่ฎฎ๏ผๅฟ
้กป็ซๅณ
Read() ๆขๅค
Core Rules
- Start Immediately: First action is update_plan initialization, second action is Phase 1 execution
- No Preliminary Analysis: Do not read files or gather context before Phase 1
- Parse Every Output: Extract required data from each phase for next phase
- Auto-Continue: Check TodoList status to execute next pending phase automatically
- Track Progress: Update update_plan dynamically with task attachment/collapse pattern
- Progressive Phase Loading: Read phase docs ONLY when that phase is about to execute
- DO NOT STOP: Continuous multi-phase workflow until all phases complete
- CLI Integration: Use
maestro delegate --to agy --mode analysis for semantic analysis tasks
- Evidence Linking: Every response strategy must link to paper content or experimental evidence
Input Processing
User provides review comments in one of these formats:
- File path:
reviews.txt, reviewer-comments.md, reviews.pdf
- Inline text: Paste reviewer comments directly
- Structured JSON: Pre-parsed review structure
Optional flag: --resume <run_id> to continue an existing Run.
Run Resolution
The Run is the single source of truth (see run-mode.md). Resolve run_dir, then derive output_base:
const output_base = `${run_dir}/outputs`;
const cleanArgs = $ARGUMENTS.replace(/--resume\s+\S+/, '').trim();
Structured Input
Convert to structured format:
const structuredInput = {
reviewCommentsPath: <path or inline text>,
paperPath: workflowPreferences.paperSource === "Provide Path" ? <user-provided> : <auto-discovered>,
conferenceType: workflowPreferences.conferenceType,
autoMode: workflowPreferences.autoYes,
output_base: output_base // {run_dir}/outputs โ all phase outputs use this base path
}
Data Flow
User Input (review comments + paper path + conference type [+ --resume <run_id>])
|
[Run Resolution] (see run-mode.md)
| run_dir = birth packet | --resume brief | self-start create
| output_base = {run_dir}/outputs
| mkdir -p ${output_base}
|
[Convert to Structured Format]
|
Phase 1: Review Parsing & Classification
| Input: reviewCommentsPath + conferenceType
| Output: reviewAnalysis + commentCategories
| Files: ${output_base}/review-analysis.json, ${output_base}/comment-classification.md
|
Phase 2: Multi-Perspective Discussion
| Input: reviewAnalysis + commentCategories
| Output: discussionConsensus + strategicRecommendations
| Files: ${output_base}/discussion-log.md, ${output_base}/consensus-strategies.json
|
Phase 3: Strategy Formulation
| Input: discussionConsensus + strategicRecommendations + paperPath
| Output: strategyMatrix + evidenceMap
| Files: ${output_base}/strategy-matrix.md, ${output_base}/evidence-references.json
|
Phase 4: Rebuttal Writing
| Input: strategyMatrix + evidenceMap + conferenceType
| Output: rebuttalDraft
| Files: ${output_base}/rebuttal-draft-v1.md
|
Phase 5: Quality Validation
| Input: rebuttalDraft
| Output: qualityScore + improvements
| Files: ${output_base}/quality-report.md, ${output_base}/improvement-suggestions.json
|
[Run Closure] (see run-mode.md)
| maestro run check {run_id} โ repair gates โ maestro run complete {run_id}
|
Return summary to user
update_plan Pattern
Core Concept: Dynamic task attachment and collapse for real-time visibility.
Key Principles
-
Task Attachment (when phase executed):
- Sub-tasks are attached to orchestrator's update_plan
- Phase 1, 2, 3, 4, 5: Multiple sub-tasks attached
-
Task Collapse (after sub-tasks complete):
- Applies to Phase 1, 2, 3, 4, 5: Remove sub-tasks, collapse to summary
- Maintains clean orchestrator-level view
-
Continuous Execution: After completion, automatically proceed to next phase
Phase 1 (Tasks Attached):
[
{"content": "Phase 1: Review Parsing & Classification", "status": "in_progress"},
{"content": " โ Parse reviewer comments structure", "status": "in_progress"},
{"content": " โ Classify comments using Agy CLI", "status": "pending"},
{"content": " โ Extract sentiment and key concerns", "status": "pending"},
{"content": " โ Generate review-analysis.json", "status": "pending"},
{"content": "Phase 2: Multi-Perspective Discussion", "status": "pending"},
{"content": "Phase 3: Strategy Formulation", "status": "pending"},
{"content": "Phase 4: Rebuttal Writing", "status": "pending"},
{"content": "Phase 5: Quality Validation", "status": "pending"},
{"content": "Run Closure: check + complete", "status": "pending"}
]
Phase 1 (Collapsed):
[
{"content": "Phase 1: Review Parsing & Classification", "status": "completed"},
{"content": "Phase 2: Multi-Perspective Discussion", "status": "pending"},
{"content": "Phase 3: Strategy Formulation", "status": "pending"},
{"content": "Phase 4: Rebuttal Writing", "status": "pending"},
{"content": "Phase 5: Quality Validation", "status": "pending"},
{"content": "Run Closure: check + complete", "status": "pending"}
]
Post-Phase Updates
After each phase completes:
- Phase 1 โ Phase 2: Pass
reviewAnalysis and commentCategories to discussion phase
- Phase 2 โ Phase 3: Pass
discussionConsensus and strategicRecommendations to strategy formulation
- Phase 3 โ Phase 4: Pass
strategyMatrix and evidenceMap to rebuttal writing
- Phase 4 โ Phase 5: Pass
rebuttalDraft to quality validation
- Phase 5 โ Return: Present quality report and improvement suggestions to user
Error Handling
- Parsing Failure: If output parsing fails, retry once, then report error
- Validation Failure: Report which file/data is missing
- Command Failure: Keep phase
in_progress, report error, do not proceed
- CLI Failure: If Agy CLI fails, fall back to direct analysis or report error
- Paper Not Found: If paper path invalid, proceed with review-only mode
Coordinator Checklist
Before Phase 1:
Between Phases:
After Phase 5:
Run Closure:
Run Closure
Runtime-owned protocol files (session.json, run.json, artifacts.json) MUST NOT be edited directly, and no second manifest/index is maintained. Artifact registration and handoff are derived by the runtime from {run_dir}/outputs/. See run-mode.md.
After Phase 5 completes:
maestro run check {run_id} โ repair any blocking artifact or exit gate it reports.
- Optionally write
{run_dir}/report.md (verdict + summary of the rebuttal and quality score).
maestro run complete {run_id}. Report success only once the Run is completed.
Related Commands
Prerequisites:
/research-init - Initialize research project structure
/zotero-review - Import and review literature
Follow-ups:
/commit - Commit rebuttal document to version control
/presentation - Prepare conference presentation after acceptance
/poster - Generate academic poster
CLI Integration Details
This skill uses maestro delegate for enhanced analysis:
Phase 1 - Review Parsing:
maestro delegate "PURPOSE: Parse and classify reviewer comments by type (Major/Minor/Typo/Misunderstanding)
TASK: โข Extract comment structure โข Classify by severity โข Identify sentiment
MODE: analysis
CONTEXT: @<review-file>
EXPECTED: JSON with classification results" --to agy --mode analysis
Phase 2 - Multi-Perspective Discussion:
Uses team-ultra-analyze skill or custom discussion agent to simulate multiple perspectives.
Phase 3 - Strategy Formulation:
maestro delegate "PURPOSE: Search paper content for evidence supporting response strategies
TASK: โข Locate relevant sections โข Extract supporting data โข Identify evidence gaps
MODE: analysis
CONTEXT: @<paper-file>
EXPECTED: Evidence map with file:line references" --to agy --mode analysis
Phase 5 - Quality Validation:
maestro delegate "PURPOSE: Validate rebuttal quality (completeness, professionalism, persuasiveness)
TASK: โข Check all comments addressed โข Assess tone โข Evaluate evidence strength
MODE: analysis
CONTEXT: @<rebuttal-file>
EXPECTED: Quality report with improvement suggestions" --to agy --mode analysis
Conference Template System
Templates are loaded from:
- Custom:
templates/ under the skill directory (user-provided, {templateId}-template.md)
- Fallback:
templates/discussion.md, then the built-in generic template in Phase 4
Template selection based on workflowPreferences.conferenceType:
- ML Conferences: NeurIPS/ICML/ICLR strategies (novelty, theory, experiments)
- CV Conferences: CVPR/ECCV/ICCV strategies (visual results, one-page limit)
- NLP Conferences: ACL/EMNLP strategies (linguistic appropriateness, ethics)
- Generic: Universal template for all venues