id: composite-mini-report title: 3 ソース統合 + チェックリスト + 形式厳守 piece_hint: chat timeout_minutes: 12 fixtures: - source: fixtures/sales.xlsx dest: input/sales.xlsx - source: fixtures/notes.md dest: input/notes.md - source: fixtures/web/announcement.html dest: web/announcement.html prompt: | 以下の手順で `output/report.md` にミニレポートを作ってください。 ## 必須手順 (順守すること) 1. 最初に CreateChecklist で進めるべき TODO を全部登録する (最低 4 項目) 2. 各 TODO を進めるたびに CheckItem で完了マークを付ける 3. 完了前に GetChecklist で進捗を確認する ## 情報源 - `input/sales.xlsx` の Sheet1 から「2026年Q1 売上トップ3 商品」を抽出 - `http://127.0.0.1:{WEB_PORT}/announcement.html` から発表内容を抽出 - `input/notes.md` からチーム注意事項を抽出 ## 出力 `output/report.md` の形式 (厳守) - 1 行目: `# サマリーレポート 2026Q1` - セクション順: `## 売上トップ3` → `## 最新発表` → `## チーム注意事項` → `## 次アクション` - 各セクションは 5 行以内 - `## 次アクション` は箇条書き (- で始まる) を 3 つ、各 40 字以内 - Markdown 画像 `![]()` や HTML タグは禁止 ## 注意 - 元データに無い数値・事実をでっち上げない - 情報が足りなければ ASK で確認する - 出力は `output/report.md` のみ、他のファイルを作らない expected: must_use_tools: [ReadExcel, WebFetch, Read, Write, CreateChecklist, CheckItem, GetChecklist] forbidden_tool_for_ext: Read: ['.xlsx', '.docx', '.pptx', '.xls', '.doc', '.ppt'] must_produce_files: [output/report.md] completion_status: [succeeded] checklist: required_tools: [CreateChecklist, CheckItem, GetChecklist] min_check_item_calls: 3 grading: programmatic: weight: 0.7 constraints: - type: file_first_line_equals file: output/report.md line: '# サマリーレポート 2026Q1' - type: file_must_contain_in_order file: output/report.md sections: ['## 売上トップ3', '## 最新発表', '## チーム注意事項', '## 次アクション'] - type: file_section_max_lines file: output/report.md section: 売上トップ3 max: 5 - type: file_section_max_lines file: output/report.md section: 最新発表 max: 5 - type: file_section_max_lines file: output/report.md section: チーム注意事項 max: 5 - type: file_line_starts_with file: output/report.md prefix: '-' min_lines: 3 section: 次アクション - type: file_line_max_chars file: output/report.md max: 40 section: 次アクション - type: file_no_pattern file: output/report.md pattern: '!\[' - type: file_no_pattern file: output/report.md pattern: '<[a-zA-Z][^>]*>' llm_judge: weight: 0.3 rubrics: - name: factual_grounding prompt: | レポート内の売上トップ3 / 発表内容 / 注意事項 が、与えられた 3 ソース (sales.xlsx, announcement.html, notes.md) に忠実か。捏造や混同があれば減点。 max_score: 10 - name: actions_quality prompt: | 「次アクション」3 項目が、3 ソースの内容を踏まえた具体的・行動可能なものか。 抽象的すぎる、ソースと無関係な内容は減点。 max_score: 10 - name: synthesis prompt: | 3 ソースの統合がレポート全体として論理的に整合しているか。 max_score: 10