Files
reporting-governance-plugin/skills/kal/SKILL.md
2026-04-16 16:48:38 +08:00

3.8 KiB
Raw Blame History

name, description
name description
kal 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, use a friendly intake reply: one short lead-in sentence plus the same 4-line template, followed by short field guidance.

Default wording:

好,我先幫你把 KAL 開題格式立起來。
topic: ""
seed: ""
goal: ""
scope: ""

說明:
- topic你想研究的主題是什麼
- seed先給我起始材料例如網址 / repo / 關鍵字 / 文件
- goal你最後想得到什麼例如摘要 / 比較 / 評估 / 決策建議
- scope要納入或排除什麼範圍

Keep the lead-in short and natural. Do not add analysis yet.

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 one short friendly lead-in sentence plus the 4-line template and short field explanations.
  • If the user gives some fields but not all, return the same template with known values filled in and missing ones left empty; a short natural lead-in is allowed, and keep the short explanations.
  • 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.
  • If the user explicitly asks how to fill the fields, always include the explanation block.
  • If the user explicitly asks for raw copy-paste format only, you may omit the explanation block.

Filled-template behavior

If the user already provided enough information in one message, first respond by normalizing it into this exact structure:

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:
topic: "..."
seed: "..."
goal: "..."
scope: "..."
  • The explanation block belongs below the 4 fields by default.
  • For chat surfaces, short bullets are preferred over tables.
  • Do not turn intake into a long questionnaire.
  • Keep it to one short lead-in, the 4 fields, and brief field hints.