Files
reporting-governance-plugin/skills/kal/SKILL.md

84 lines
2.8 KiB
Markdown

---
name: kal
description: Use when the user says "啟動KAL" or clearly wants to start a KAL workflow for a new research topic. Trigger on phrases like "啟動KAL", "start KAL", "幫我啟動 KAL", or when the user wants a topic/URL/goal turned into a structured KAL kickoff and then researched through claims, analysis, and summary.
---
# KAL Intake + Run
When this skill triggers, first collect the minimum input needed for a KAL run, then start the KAL workflow once enough information is present.
## Primary behavior
If the user says only `啟動KAL` or gives an incomplete kickoff, reply with exactly this template and nothing extra except a short intro line if needed:
```text
topic: ""
seed: ""
goal: ""
scope: ""
```
## Field meanings
- `topic`: the subject, concept, repo, framework, or question area
- `seed`: the starting material, such as a URL, repo, document, keyword, or quoted text
- `goal`: what the user wants at the end, such as summary, evaluation, comparison, decision support, or study notes
- `scope`: the boundary; what to include or exclude in this KAL run
## Response rules
- If the user only says `啟動KAL`, return the 4-line template.
- If the user gives some fields but not all, return the same template with known values filled in and missing ones left empty.
- If the user provides enough information, normalize it into the 4-line template and then proceed with the KAL workflow.
- Keep the intake step lightweight.
- Do not add unnecessary analysis before the intake is clear.
## Filled-template behavior
If the user already provided enough information in one message, first respond by normalizing it into this exact structure:
```text
topic: "..."
seed: "..."
goal: "..."
scope: "..."
```
If the user intent is clearly to start immediately, continue with the KAL workflow in the same turn or next active step.
If the user appears to be drafting or unsure, stop after the normalized template and wait.
## Default assumptions
Only use light defaults when necessary:
- If `seed` is a URL and `topic` is missing, infer a short topic from the URL target if obvious.
- If `goal` is missing, leave it empty instead of guessing.
- If `scope` is missing, leave it empty instead of guessing.
## KAL run behavior
Once enough input is present, run KAL with this default order:
1. define topic scope
2. gather seed sources
3. extract atomic claims
4. attach citations / source spans
5. write analysis
6. write summary
7. preserve unknowns / limits
8. report whether the topic is enough to explain
## Important constraints
- Do not skip the intake structure.
- Do not jump straight into broad research if topic, goal, or scope is still ambiguous.
- When enough information exists, do not stall unnecessarily; begin the KAL run.
- Keep the user-visible kickoff format consistent:
```text
topic: "..."
seed: "..."
goal: "..."
scope: "..."
```