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

3.9 KiB

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, with the field guidance written inside the quotes as placeholder text.

Default wording:

好,我先幫你把 KAL 開題格式立起來。
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 with placeholder guidance inside the quotes.
  • If the user gives some fields but not all, return the same template with known values filled in and missing ones left as friendly placeholder guidance.
  • 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 for raw copy-paste format only, you may omit the placeholder guidance and leave empty strings.

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 as placeholder guidance instead of guessing.
  • If scope is missing, leave it as placeholder guidance 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: "..."
  • When information is missing, prefer placeholder text inside the quotes rather than a separate explanation block.
  • For chat surfaces, this placeholder style is preferred because it feels like a pre-filled form.
  • Do not turn intake into a long questionnaire.
  • Keep it to one short lead-in and the 4 fields.
  • Do not pre-fill missing fields with invented research content; only use short writing guidance as placeholders.