From 86c2d2764fec2e502f09da57551581f7e487f822 Mon Sep 17 00:00:00 2001 From: Eve Date: Thu, 16 Apr 2026 16:30:15 +0800 Subject: [PATCH] skills: install kal skill from uploaded zip --- skills/kal/SKILL.md | 83 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 skills/kal/SKILL.md diff --git a/skills/kal/SKILL.md b/skills/kal/SKILL.md new file mode 100644 index 0000000..d854792 --- /dev/null +++ b/skills/kal/SKILL.md @@ -0,0 +1,83 @@ +--- +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: "..." +```