AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Jh Math Exam

skill-mathruffian-dot-teaching-exam-skills-jh-math-exam · by mathruffian-dot

>

— No reviews yet
0 installs
31 views
0.0% view→install

Install

$ agentstack add skill-mathruffian-dot-teaching-exam-skills-jh-math-exam

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • ✓ Prompt-injection patterns
  • ✓ Secret / credential exfiltration
  • ✓ Dangerous shell & filesystem operations
  • ✓ Untrusted network calls
  • ✓ Known-malicious package signatures

What it can access

  • ✓ Network access No
  • ● Filesystem access Used
  • ✓ Shell / process execution No
  • ✓ Environment & secrets No
  • ✓ Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-mathruffian-dot-teaching-exam-skills-jh-math-exam)

Reliability & compatibility

✓ Security review passed
0 installs to date
— no reviews yet
● 3mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Jh Math Exam? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

國中數學段考命題審題技能

技能概覽

本技能支援兩種模式,協助教師完成國中數學段考的完整命題與審題流程:

模式 A:出題模式(全新命題)

  1. 需求訪談 — 確認年級、範圍、題型、配分
  2. 規劃雙向細目表 — 章節 × 認知層次比例
  3. 生成題目 — 按 Bloom 四級分類產出
  4. 幾何圖形渲染 — 若有幾何題,自動產生配圖 PNG(內建,無需呼叫外部技能)
  5. 格式輸出 — 題目卷、答案卷、雙向細目表(三份 Word),幾何圖自動插入對應位置

模式 B:審題模式(審核現有考卷)

  1. 接收考卷 — 使用者貼入文字或上傳圖片/Word
  2. 逐題審查 — 判定 Bloom 層次、section 歸屬、答案與題目品質
  3. 輸出分級報告 — 顯示統計與偏差提示
  4. 格式輸出 — 僅產出雙向細目表(一份 Word)

處理流程

Step 1:需求確認(必做)

向使用者確認以下資訊(未提供則詢問):

| 項目 | 說明 | |------|------| | 年級 | 七年級 / 八年級 / 九年級 | | 學期 & 次別 | 第一學期第三次段考 等 | | 考試範圍 | 章節名稱 + 版本(翰林版 / 康軒版 / 南一版) | | 題型需求 | 選擇題幾題、非選擇題幾題、配分 | | 難度目標 | 參考 Bloom 各級比例,或教師自訂 | | 模式 | A. 出題(全新產出題目卷+答案卷+細目表) / B. 審題(審核現有考卷,只產細目表) |


Step 2:建立雙向細目表

讀取 references/shuangxiang-table.md 取得格式規範,依下列結構規劃:

  • 縱軸:教材章節(依考試範圍列出各節名稱)
  • 橫軸:認知層次(記憶 / 理解 / 應用 / 分析)
  • 細格:分數(題數),例如 6(2)

段考建議比例(來自 Bloom 分級專家設定):

| 層次 | 定義 | 建議佔比 | |------|------|---------| | 第1級:記憶 | 回憶公式、定義、術語 | 10% | | 第2級:理解 | 解釋、歸納、辨別差異 | 20% | | 第3級:應用 | 帶入具體情境計算、解方程式 | 40% | | 第4級:分析 | 多步驟推理、辨析結構關係 | 30% |

> ⚠️ 若偏離此比例超過 ±10%,需提醒調整。


Step 3:題目生成(出題模式 A 專用)

依雙向細目表各格生成題目,每題須標註:

  • 題號、題型(選擇 / 非選擇)
  • Bloom 等級與判定關鍵理由
  • 正確答案 + 解題過程
  • 幾何圖形需求(若題目需要圖,填寫 geometry 欄位,見下方 JSON 規格)

各層次出題原則(參考 references/bloom-taxonomy.md):

  • 第1級(記憶):辨認公式正確性、回憶定義,例如「下列何者是一元一次方程式?」
  • 第2級(理解):解釋步驟、辨別差異,例如「下列哪一步驟開始發生錯誤?」
  • 第3級(應用):給定具體數值/情境,帶公式計算,例如「某商店打折問題,求原價」
  • 第4級(分析):多條件整合、推論隱含關係,例如「已知多個方程組,求某變數關係」

選擇題格式規範:

  • 四選一(A/B/C/D),每題必須提供完整四個選項
  • 干擾選項需具學習意義(常見錯誤)
  • 每題明確有唯一正確答案

答案分佈規則(必須嚴格遵守):

  • 答案必須平均分佈於 A、B、C、D 四個選項,每個選項出現次數應大致相等(±1題以內)
  • 例如:16 題選擇題 → A、B、C、D 各出現 4 次
  • 禁止連續兩題答案相同(例如:第3題答A,第4題不得再答A)
  • 命題完成後,必須自我檢查答案序列,確認無連續重複,並確認各選項出現次數平衡

答案分佈自我檢查表(完成命題後填寫):

答案序列:題1=?, 題2=?, 題3=?, ...(列出全部)
A 出現 _ 次|B 出現 _ 次|C 出現 _ 次|D 出現 _ 次
是否有連續重複:□ 無 □ 有(需修正)

非選擇題格式規範:

  • 需有完整的解題過程要求
  • 分為多個子題 (1)(2)(3),各子題標明配分
  • 建議最後一題為情境應用題(第3-4級)

Step 4:認知層次審查(審題模式 B 專用)

> 觸發條件:使用者提供已出好的考卷(貼入文字、上傳圖片或 .docx),要求審題或產雙向細目表。

4-1 接收考卷資訊

向使用者確認以下資訊(若考卷內已有則自動提取,不需重複詢問):

| 項目 | 說明 | |------|------| | 年級 | 七年級 / 八年級 / 九年級 | | 學期 & 次別 | 第一學期第一次段考 等 | | 考試範圍 | 章節名稱(用於 section 歸屬) | | 配分規則 | 選擇題每題幾分、各大題配分 |

4-2 逐題審查

讀取 references/bloom-taxonomy.md 的詳細分級準則,對每道題目判定:

  • section:歸屬哪個節次(如「1-1 等差數列」),依考試範圍的章節名稱填寫
  • bloom_level:第1~4級,填寫完整格式如「第3級(應用)」
  • 品質檢查:題目是否清晰、選項是否有意義、非選題是否合理

審查輸出格式(在對話中顯示):

[題目審查報告]

題號 | 題目摘要(20字以內)  | section      | 判定層次   | 判定理由
-----|----------------------|-------------|-----------|------------------
01   | 辨認等差數列公差       | 1-1 等差數列 | 第1級(記憶)| 僅需辨認定義特徵
02   | 代入首項公差求第n項    | 1-1 等差數列 | 第3級(應用)| 給定數值帶公式計算
...

[統計摘要]
各節次題數:1-1 等差數列 X題 / 1-2 等差級數 X題 / ...
Bloom 分佈:1級 __%、2級 __%、3級 __%、4級 __%
建議比例:1級 10%、2級 20%、3級 40%、4級 30%
△ 差異提示:[若偏離 ±10% 則列出調整建議]
[品質問題]:[若有問題題目,列出題號與說明]
4-3 整理為審題 JSON

審查完成後,將考卷資訊整理為審題 JSON,儲存為 /home/claude/exam_data.json:

> 審題模式不需填寫 answer、solution(可留空字串),重點在 section 與 bloom_level。 > 非選擇題的 sub_questions 每小題必須填入 bloom_level 與 points,才能正確計入細目表。 > 審題模式必須額外填寫 review_report 欄位(見下方格式),腳本才會同步產出審題報告 Word 檔。

review_report 欄位格式(加在 JSON 最外層):

"review_report": {
  "mc_rows": [
    {
      "number": 1,
      "summary": "辨認等差數列公差",
      "section": "1-1 等差數列",
      "bloom_level": "第1級(記憶)",
      "answer": "C",
      "reason": "僅需辨認定義特徵"
    }
  ],
  "open_rows": [
    {
      "big_number": 1,
      "label": "(1)",
      "summary": "代入首項公差求第n項",
      "section": "1-1 等差數列",
      "bloom_level": "第3級(應用)",
      "points": 4,
      "reason": "給定具體數值帶公式計算"
    }
  ],
  "section_stats": [
    { "section": "1-1 等差數列", "mc_pts": 20, "open_pts": 5, "total": 25 }
  ],
  "bloom_stats": {
    "第1級(記憶)": { "pts": 10, "pct": 10, "suggest": 10 },
    "第2級(理解)": { "pts": 20, "pct": 20, "suggest": 20 },
    "第3級(應用)": { "pts": 40, "pct": 40, "suggest": 40 },
    "第4級(分析)": { "pts": 30, "pct": 30, "suggest": 30 }
  },
  "quality_issues": [
    {
      "type": "error",
      "title": "配分說明有誤(需修正)",
      "description": "說明欄寫「1-16題每題4分,15-21題每題3分」,應為「17-21題每題3分」。"
    }
  ]
}
4-4 執行腳本(審題模式,產出雙向細目表 + 審題報告)
# 找腳本目錄
for d in /mnt/skills/user/jh-math-exam/scripts           /tmp/jh-math-exam/scripts; do
  [ -f "$d/generate_exam_docx.py" ] && SKILL_SCRIPTS="$d" && break
done

pip install python-docx lxml --break-system-packages -q
mkdir -p /home/claude/exam_output
cd "$SKILL_SCRIPTS"

# ★ 審題模式加 --blueprint-only,產出雙向細目表與審題報告(兩份)
python3 generate_exam_docx.py /home/claude/exam_data.json /home/claude/exam_output/ --blueprint-only

GRADE=$(python3 -c "import json; d=json.load(open('/home/claude/exam_data.json')); print(d['grade'])")
EN=$(python3 -c "import json; d=json.load(open('/home/claude/exam_data.json')); print(d['exam_number'])")
cp "/home/claude/exam_output/${GRADE}數學第${EN}次段考_雙向細目表.docx" "/mnt/user-data/outputs/"
[ -f "/home/claude/exam_output/${GRADE}數學第${EN}次段考_審題報告.docx" ] && \
  cp "/home/claude/exam_output/${GRADE}數學第${EN}次段考_審題報告.docx" "/mnt/user-data/outputs/"
echo "✅ 完成"

最後使用 present_files 工具同時提供兩份 Word 檔下載(雙向細目表、審題報告)。


Step 5:整理為 JSON 資料

將所有題目整理為以下格式,儲存為 /home/claude/exam_data.json:

▶ geometry 欄位說明(出題模式專用)

若題目需要幾何圖形配圖,在該題加入 geometry 欄位;不需要圖形則設為 null。

幾何圖形 spec 對照(常用類型快速複製):

| 題目類型 | geometry.spec.type | 常用 subtype | |---------|-------------------|-------------| | 直角三角形 | triangle | right | | 等腰三角形 | triangle | isosceles | | 一般三角形 | triangle | general | | 平行四邊形 | quadrilateral | parallelogram | | 梯形 | quadrilateral | trapezoid | | 圓(弦弧切) | circle | — | | 坐標平面 | coordinate_plane | — | | 角柱/角錐 | solid_3d | rectangular_prism / cone 等 | | 平行線截角 | parallel_lines | — |

> 完整參數見本 SKILL.md 末尾「幾何圖形參數速查(內嵌)」章節

JSON 格式(含 geometry 欄位):

{
  "school_year": "114",
  "semester": "1",
  "exam_number": "3",
  "grade": "七年級",
  "scope": "翰林版第一冊第一章~第二章",
  "total_pages": 2,
  "mc_scoring": "1~7題每題4分、8~16題每題3分,共85分",
  "mc_questions": [
    {
      "number": 1,
      "section": "1-1 等差數列",
      "bloom_level": "第3級(應用)",
      "question": "如圖,△ABC 中,∠C = 90°,AC = 3,BC = 4,則 AB = ?",
      "options": { "A": "5", "B": "6", "C": "7", "D": "8" },
      "answer": "A",
      "solution": "由畢氏定理 AB² = AC² + BC² = 9 + 16 = 25,AB = 5",
      "geometry": {
        "caption": "圖一",
        "spec": {
          "type": "triangle",
          "config": {
            "subtype": "right",
            "vertex_labels": ["A", "B", "C"],
            "right_angle_at": "C",
            "side_labels": {"AC": "3", "BC": "4", "AB": "?"}
          },
          "canvas": {"width": 250, "height": 200}
        }
      }
    },
    {
      "number": 2,
      "section": "1-2 等差級數",
      "bloom_level": "第2級(理解)",
      "question": "不需要圖的題目範例",
      "options": { "A": "", "B": "", "C": "", "D": "" },
      "answer": "B",
      "solution": "",
      "geometry": null
    }
  ],
  "open_questions": [
    {
      "number": 1,
      "section": "1-2 等差級數",
      "total_points": 10,
      "context": "如圖,梯形 ABCD 中,AD∥BC,AD = 6,BC = 10,高為 4。",
      "geometry": {
        "caption": "圖二",
        "spec": {
          "type": "quadrilateral",
          "config": {
            "subtype": "trapezoid",
            "vertex_labels": ["A", "B", "C", "D"],
            "side_labels": {"AD": "6", "BC": "10"},
            "show_height": true,
            "height_label": "4"
          },
          "canvas": {"width": 280, "height": 220}
        }
      },
      "sub_questions": [
        {
          "label": "(1)",
          "bloom_level": "第3級(應用)",
          "points": 4,
          "question": "求梯形 ABCD 的面積。",
          "answer": "32",
          "solution": "面積 = (AD + BC) × 高 ÷ 2 = (6 + 10) × 4 ÷ 2 = 32"
        }
      ]
    }
  ]
}

> 注意:geometry 欄位可放在 mc_questions 的每題,也可放在 open_questions 的大題 context 層級(整題共用一圖),或子題層級(每小題有各自的圖)。


Step 5.5:幾何圖形渲染(若 JSON 中有 geometry 欄位)

判斷是否需要執行:掃描 exam_data.json,若任何題目的 geometry 欄位不為 null,則執行本步驟。

# ── 0. 確認幾何腳本位置 ──────────────────────────────────────
GEOM_DIR=""
for d in /mnt/skills/user/jh-math-geometry/scripts \
          /tmp/jh-math-geometry/scripts; do
  [ -f "$d/geometry_renderer.py" ] && GEOM_DIR="$d" && break
done
echo "幾何腳本目錄:$GEOM_DIR"

# ── 1. 安裝依賴 ────────────────────────────────────────────
pip install cairosvg python-docx --break-system-packages -q

# ── 2. 從 exam_data.json 提取所有 geometry spec,建立 geometry_spec.json ──
python3 - /dev/null || echo "(無 PNG 輸出)"
fi

> 視覺確認:用 view 工具查看 /home/claude/geometry_output/*.svg,確認圖形正確再繼續。若圖形有誤(標籤偏移、比例不佳),修改 exam_data.json 中對應的 geometry.spec.config,重新執行 Step 5.5。


Step 6:匯出 Word 文件(必做)

JSON 整理完成後,執行以下腳本(同時產出題目卷與答案卷):

# Step 6-1:找腳本目錄
for d in /mnt/skills/user/jh-math-exam/scripts \
          /tmp/jh-math-exam/scripts; do
  [ -f "$d/generate_exam_docx.py" ] && SKILL_SCRIPTS="$d" && break
done
echo "腳本目錄:$SKILL_SCRIPTS"

# Step 6-2:安裝相依套件
pip install python-docx lxml --break-system-packages -q

# Step 6-3:產生文件
mkdir -p /home/claude/exam_output
cd "$SKILL_SCRIPTS"
python3 generate_exam_docx.py /home/claude/exam_data.json /home/claude/exam_output/

GRADE=$(python3 -c "import json; d=json.load(open('/home/claude/exam_data.json')); print(d['grade'])")
EN=$(python3 -c "import json; d=json.load(open('/home/claude/exam_data.json')); print(d['exam_number'])")
echo "✅ Word 初稿產出完成"
Step 6.5:將幾何圖形插入題目卷(若有幾何圖)

若 Step 5.5 有產出幾何圖形,執行以下後處理腳本,將 PNG 插入對應題目後方:

# 確認是否有幾何圖形需要插入
if [ ! -f /home/claude/geometry_mapping.json ]; then
  echo "ℹ️ 無幾何圖形,跳過插入步驟"
else

GEOM_DIR=""
for d in /mnt/skills/user/jh-math-geometry/scripts \
          /tmp/jh-math-geometry/scripts; do
  [ -f "$d/insert_to_docx.py" ] && GEOM_DIR="$d" && break
done

python3 - = 0:
                prev = doc.paragraphs[i - back].text.strip()
                m = re.match(r'^(\d{1,2})[\..]', prev)
                if m:
                    key = f"mc_{m.group(1)}"
                    para_index.setdefault(key, i)
                    break

# ── 依 mapping 插入圖形 ──────────────────────────────────────
# 先排序:讓插入從後往前,避免段落索引位移
insertions = []
for fig_id, info in mapping.items():
    png_path = Path(f"/home/claude/geometry_output/{fig_id}.png")
    if not png_path.exists():
        print(f"⚠️ 找不到圖形:{png_path}")
        continue
    qkey = info['question_key']
    caption = info.get('caption', '')
    if qkey in para_index:
        insertions.append((para_index[qkey], png_path, caption))
    else:
        # 找不到對應段落:插在文件末尾並提示
        print(f"⚠️ 找不到題號段落 {qkey},圖形將插在文件末尾")
        insertions.append((len(doc.paragraphs) - 1, png_path, f"[{qkey}] {caption}"))

# 從後往前插入,保持段落索引正確
insertions.sort(key=lambda x: -x[0])

for para_idx, png_path, caption in insertions:
    # 在目標段落「之後」插入圖片段落
    # python-docx 沒有原生「after」插入,用 XML 操作
    from docx.oxml.ns import qn
    from copy import deepcopy
    import lxml.etree as etree

    # 建立圖片段落
    img_para = doc.add_paragraph()
    img_para.alignment = WD_ALIGN_PARAGRAPH.CENTER
    run = img_para.add_run()
    run.add_picture(str(png_path), width=Cm(5.5))  # 試卷圖寬 5.5cm

    if caption:
        cap_para = doc.add_paragraph(caption)
        cap_para.alignment = WD_ALIGN_PARAGRAPH.CENTER
        for r in cap_para.runs:
            from docx.shared import Pt
            r.font.size = Pt(9)
            r.font.italic = True

    # 把剛 add 的段落(現在在文件末)移到目標位置後面
    target_el = doc.paragraphs[para_idx]._element
    img_el = img_para._element

    # 如果有 caption,一起移動
    if caption:
        cap_el = cap_para._element
        target_el.addnext(cap_el)
        target_el.addnext(img_el)
    else:
        target_el.addnext(img_el)

    print(f"✅ 已插入 {png_path.name} 於段落 {para_idx} 之後")

doc.save(docx_path)
print(f"✅ 幾何圖形插入完成:{docx_path}")
PYEOF

fi  # end if geometry_mapping exists
Step 6.6:複製最終輸出
GRADE=$(python3 -c "import json; d=json.load(open('/home/claude/exam_data.json')); print(d['grade'])")
EN=$(python3 -c "import json; d=json.load(open('/home/claude/exam_data.json')); print(d['exam_number'])")

cp "/home/claude/exam_output/${GRADE}數學第${EN}次段考_題目卷.docx" "/mnt/user-data/outputs/"
cp "/home/claude/exam_output/${GRADE}數學第${EN}次段考_答案卷(教師版).docx" "/mnt/user-data/outputs/"
cp "/home/claude/exam_output/${GRADE}數學第${EN}次段考_雙向細目表.docx" "/mnt/user-data/outputs/"
echo "✅ 輸出完成"

最後使用 present_files 工具同時提供三份 Word 檔案下載(題目卷、答案卷、雙向細目表)。


數學標記語法(題目撰寫規則)

在題目文字中,用大括號 {} 包住數學式,系統會自動轉為 Word OMML 格式正確顯示:

| 標記語法 | 說明 | 範例 | |---------|------|------| | {x^2} | x 的平方(上標) | x² | | {x^{n+1}} | 上標含運算式 | x^(n+1) | | {x_1} | x 下標 1 | x₁ | | {sqrt(2)} | 根號 2 | √2 | | {sqrt[3](8)} | 三次方根 | ∛8 | | {frac(3,4)} | 分數 3/4 | ¾ | | {(a+b)/2} | 含運算式的分數 | (a+b)/2 | | {\|x-3\|} | 絕對值 | \|x-3\| | | {=} | 大於等於符號 | ≥ | | {!=} | 不等於符號 | ≠ | | {a*b} | 乘號 | a×b |

> 提醒:簡單的文字方程式(如 2x + 3 = 7)不需加 {},保持普通文字即可。


快速參考:各技能詳細說明位置

| 需要什麼 | 讀取哪個檔案 | |----------|-------------| | Bloom 四級詳細準則、關鍵字、出題原則 | references/bloom-taxonomy.md | | 雙向細目表格式規範 | references/shuangxiang-table.md | | 題目卷 / 答案卷版面格式 | references/exam-format.md | | 108課綱三年數學完整章節、學習內容代碼(N/A/S/F/D)、學習表現代碼 | references/jh-math-curriculum.md | | 幾何圖形完整參數 + 快速複製範例 | 見下方「幾何圖形參數速查(內嵌)」章節 |

> 何時讀取課綱檔案:確認考試範圍的學習內容代碼、撰寫雙向細目表的「對應課綱」欄位、或題目需與特定學習表現對齊時,請先讀取此檔案。


注意事項

  • 數學式一律使用 {} 標記,不使用 x^2 或 √ 等文字替代
  • 情境題(第3-4級)應與日常生活掛鉤,情境需真實合理
  • 選擇題選項不得出現「以上皆是」或「以上皆非」
  • 非選擇題每小題配分需明確標示於 points 欄位
  • 解題過程(solution)請用換行分隔每個步驟,方便排版
  • 【答案分佈】 選擇題答案必須平均分佈於 A/B/C/D,且禁止連續兩題答案相同。整份 JSON 的 mc_questions 填寫完後,必須重新審查 answer 欄位序列,若有連續重複或嚴重不均,立即調整該題答案順序(同步調整 options 內容以匹配新答案)。
  • 【幾何圖形】 若題目文字含「如圖」、「右圖」、「下圖」等字樣,必須填寫 geometry 欄位,不可留為 null。圖形 canvas 尺寸:試卷用圖建議 280×220;若兩圖並排則各用 200×160。

幾何圖形參數速查(內嵌)

> 本章節完整收錄所有支援的圖形類型與參數,撰寫 geometry.spec 時直接查閱,無需讀取外部檔案。

通用結構

{
  "id": "fig1",
  "type": "",
  "config": { ... },
  "canvas": { "width": 280, "height": 220 }
}

批次規格(提供給 geometry_renderer.py):

{
  "figures": [ {...}, {...} ],
  "options": { "format": "png", "dpi": 150 }
}

1. triangle(三角形)

| 參數 | 說明 | 可選值 | |------|------|--------| | subtype | 種類 | general(預設)、right、isosceles、equilateral | | vertex_labels | 頂點標籤 | 字串陣列,預設 ["A","B","C"] | | right_angle_at | 直角符號頂點 | 頂點標籤字串 | | angle_arcs | 各頂點角弧數 | {"A":1, "B":2} | | side_labels | 各邊文字標籤 | {"AB":"5", "BC":"3"} | | equal_marks | 等邊刻度數 | {"AB":1, "CD":2} | | altitude_from | 畫高的頂點 | 頂點標籤字串 | | median_from | 畫中線的頂點 | 頂點標籤字串 | | dashed_sides | 畫成虛線的邊 | ["AB"] | | show_dots | 頂點黑點 | true(預設)|

常用範例:

直角三角形(直角在 C,標邊長):

{"type":"triangle","config":{"subtype":"right","vertex_labels":["A","B","C"],"right_angle_at":"C","side_labels":{"AB":"5","BC":"3","CA":"4"}}}

等腰三角形(標等邊 + 底角):

{"type":"triangle","config":{"subtype":"isosceles","equal_marks":{"AB":1,"AC":1},"angle_arcs":{"B":1,"C":1}}}

2. quadrilateral(四邊形)

| 參數 | 說明 | |------|------| | subtype | parallelogram / rectangle / rhombus / square / trapezoid / right_trapezoid / general | | vertex_labels | 頂點標籤陣列,預設 ["A","B","C","D"] | | side_labels | 各邊文字標籤 | | equal_marks | 等邊刻度 | | right_angles | 標直角的頂點陣列 | | diagonals | 是否畫對角線,true/false | | diagonal_labels | 對角線標籤 {"AC":"m","BD":"n"} |

常用範例:

平行四邊形(含對角線 + 等邊刻度):

{"type":"quadrilateral","config":{"subtype":"parallelogram","vertex_labels":["A","B","C","D"],"diagonals":true,"equal_marks":{"AB":1,"CD":1,"BC":2,"AD":2}}}

等腰梯形:

{"type":"quadrilateral","config":{"subtype":"trapezoid","vertex_labels":["A","B","C","D"],"equal_marks":{"AB":1,"CD":1}}}

直角梯形:

{"type":"quadrilateral","config":{"subtype":"right_trapezoid","vertex_labels":["A","B","C","D"],"side_labels":{"AD":"6","BC":"10"}}}

3. circle(圓)

| 參數 | 說明 | |------|------| | center_label | 圓心標籤,預設 "O" | | show_center | 是否顯示圓心點 | | points | 圓周上各點:{"A": 60, "B": 160}(角度,0=右,90=上,逆時針)| | radius_lines | 畫半徑線的點陣列 | |

…

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.