c2638668e3
leo 2026-08-20:「同一個 plugin 你用,薄殼也用,保證兩邊同步」
「我要你幫雲端做薄殼,永遠都有問題,你要做的就是這組設定
你自己可以 dogfooding」
搬進來:41 支 hook(51 條註冊)/7 支 command/2 支 skill/23 支腳本。
不搬 .env、wiki、docs——那些是知識不是環境。
51 條 hook 路徑全部從 $CLAUDE_PROJECT_DIR/.claude/hooks/ 改成 ${CLAUDE_PLUGIN_ROOT}/hooks/,
零漏網。那正是薄殼一直壞掉的根:雲端 cwd 不是真身,寫死路徑就斷。
尚未驗證:Claude Code 能不能從私有 Gitea repo 裝 marketplace(要憑證)。
下一步就是在本機實際裝一次,通了才動雲端 bootstrap.sh。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
66 lines
3.3 KiB
Markdown
66 lines
3.3 KiB
Markdown
# 考卷(發給受測者的全部內容)
|
||
|
||
> 🔴 **這份刻意不含任何額外提示。** 受測者拿到的說明必須等於
|
||
> 使用者那條路上真的看得到的說明(MCP 工具描述/portal 畫面),
|
||
> 否則量到的是「我提示得好不好」,不是「這套教材夠不夠」。
|
||
|
||
---
|
||
|
||
你有一個知識庫,可以用下面這支工具操作它。**你只有這些按鈕,沒有別的。**
|
||
|
||
```
|
||
python3 buttons.py --backend local:$DB list_sheets
|
||
python3 buttons.py --backend local:$DB create_sheet --name <名字> --fields <欄位1> <欄位2> ...
|
||
python3 buttons.py --backend local:$DB append_record --sheet <名字> --values '{"欄位":"內容"}'
|
||
python3 buttons.py --backend local:$DB get_records --sheet <名字>
|
||
python3 buttons.py --backend local:$DB get_record --id <record_id>
|
||
python3 buttons.py --backend local:$DB search --q <關鍵字>
|
||
```
|
||
|
||
說明(= MCP 工具描述現有的原文):
|
||
|
||
- `create_sheet`:建一個 sheet(萬用表裡的一種資料形狀)。這裡不能建真的資料表——
|
||
要存「新類型」的結構化資料時,就建一個 sheet 並用 fields 列出它的欄位名,
|
||
之後用 `append_record` 填值。例:`--name contact --fields name email phone`。
|
||
- `list_sheets`:列出所有 sheet(已定義的資料形狀)。要存資料前先看有沒有現成的可用。
|
||
- `append_record`:依某個 sheet 填一筆記錄。values 是 `{欄位名: 內容}`,
|
||
欄位名要對得上該 sheet 的 fields。sheet 不存在會失敗。
|
||
- `get_record` / `get_records` / `search`:讀。
|
||
|
||
---
|
||
|
||
## 任務(請一題一題做完,每題做完用一句話說你做了什麼)
|
||
|
||
1. 把這三筆工作流執行紀錄存進知識庫。每筆有四項:workflow_id、verdict、
|
||
duration_ms、message。
|
||
- `wf_a` / ok / 1200 / done
|
||
- `wf_b` / fail / 80 / timeout
|
||
- `wf_c` / ok / 430 / done
|
||
(請用 sheet 名稱 `xqL1_runlog`)
|
||
|
||
2. 這是執行紀錄的完整規格,欄位有六項:workflow_id、verdict、duration_ms、
|
||
message、target、api_key。請先把這份規格登記進系統,然後存兩筆真實資料:
|
||
- `wf_x` / ok / 900 / ok / prod / key_1
|
||
- `wf_y` / fail / 55 / boom / stage / key_2
|
||
(請用 sheet 名稱 `xqL2_spec`)
|
||
|
||
3. 通訊錄(sheet `xqL3_contact`)裡已經有王小明。現在要讓王小明也出現在
|
||
一份「老師名單」裡,他教數學。
|
||
|
||
4. 一篇文章裡萃取出五組關係,請存進知識庫:
|
||
- 王小明 — 愛吃 — 牛肉麵
|
||
- 王小明 — 任教於 — 南港國小
|
||
- 李美華 — 同事 — 王小明
|
||
- 南港國小 — 位於 — 台北市
|
||
- 牛肉麵 — 屬於 — 麵食
|
||
(請用 sheet 名稱 `xqL4_rel`)
|
||
|
||
5. 有 30 個檔案,每個有檔名、一句摘要、以及它所屬的資料夾。資料夾總共只有六個
|
||
(設計/會議/帳務/法務/研發/行銷),所以會重複出現。請全部存進知識庫。
|
||
檔名為 `file_00.md` … `file_29.md`,摘要為「摘要 0」…「摘要 29」,
|
||
資料夾依序循環(file_00 → 設計、file_01 → 會議、…、file_06 → 設計,以此類推)。
|
||
(請用 sheet 名稱 `xqL5_files`)
|
||
|
||
6. sheet `xqL6_runlog` 裡第二筆(workflow_id = `wf_1`)的 verdict 應該要是 `fail`,
|
||
現在是 `ok`。請把它改成 `fail`。
|