Communitygithub.com

dengruihan/Claw_agenda

透過議程工具管理使用者的個人待辦事項與行事曆。適用於收集任務、規劃或調整時間區塊、標記完成、設定優先順序或讀取私人議程網站。

Claw_agenda 是什麼?

這項技能讓 AI 助手能夠透過統一的「agenda」工具,全權管理使用者的個人待辦事項清單與執行計畫。其核心設計是將「議程工具」(agenda tool)作為唯一的計畫編輯器,禁止直接操作 SQLite 資料庫或使用瀏覽器自動化來修改日曆,確保資料一致性。技能支援桌面回饋與重新規劃流程:可讀取包含回饋狀態的執行區塊,並根據使用者確認的「完成任務」(complete_task)或「完成區塊」(complete_block)進行精確的狀態更新與歷史保留,避免推測性動作。規劃時必須參考當前台北時間、既有排程規則、真實截止日與固定承諾,並透過獨特的 operationId 與 revision 機制處理衝突,保證批次寫入的原子性。該技能主要應用於 Claude Code 等 AI 代理平台,協助使用者收集外部來源(如 OSH、Yungu、DingTalk 日曆)的任務,制定可行的工作排程,並避免重複排程或錯誤復原已完成的工作。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/dengruihan/Claw_agenda/tree/HEAD/skills/agenda

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

Agenda

Agenda 負責管理個人任務清單與執行計畫。網站接受使用者的完成與復原回饋;agenda 工具仍是唯一的計畫編輯器。請使用此工具來讀取與變更計畫;不要編輯其 SQLite 資料庫、寫入平行的 JSON 狀態,或使用瀏覽器自動化來變更此日曆。

桌面回饋與重新規劃

  • 使用 includeCompleted: true 進行讀取,並包含 blockProgress 與 feedback。處理 undoneBy 為空且狀態為 pending/queued/running 的回饋;錯誤條目可在後續執行中於得知結果時進行調解。忽略已調整/未變更的條目以及已復原的回饋。絕不要從排入佇列或先前的執行完成推斷成功。
  • complete_block 僅代表該時間區塊已完成。保留其計畫區間作為歷史紀錄,並使用 completedAt 作為使用者觀察到的結束時間。它不代表任務完成,也不證明實際持續時間或剩餘工作量。不要移動/刪除已完成的區塊,不要將其重新建立為未來工作,也不要重新打開其進度。對於未完成的任務,應保守評估其下一步。
  • complete_task 是使用者確認的整體任務完成。保留狀態為 done 且 completedBy=user,保留歷史紀錄,並停止該任務的未來執行。undo 已經恢復了相應的完成狀態;請重新評估最新計畫,而不是恢復過時的排程或重複復原動作。
  • 在此次執行開始時檢查當前台北時間,並在長時間工作後於套用計畫前再次檢查。遵守既有的排程掃掠規則、當前來源覆蓋範圍、真實截止日、睡眠時間與固定承諾。選擇必要的未來規劃範圍;沒有強制限制 7/14 天。僅調整受影響的部分。提前完成可以證明休息或推進其他任務是合理的。已完成的未鎖定工作會將其剩餘的計畫時間從報告的結束時間起釋放;這不會解除鎖定或移動固定承諾。
  • 在與計畫變更相同的 apply 中,包含 feedbackResults: [{id, status, summary}]。僅在實質性變更時使用 adjusted,在當前計畫仍然適用時使用 unchanged,在無法完成評估時使用 error。摘要為簡潔的中文,說明變更或有意的不變更,並指出覆蓋缺口或無法容納的任務。即使沒有執行區塊變更,一個僅包含結果的確認仍是一次有意義的寫入。
  • 發生衝突時,重新讀取當前事實並重新規劃,包括新的回饋。透過 operationId 調解未知的套用結果,然後再發出下一批。不要覆寫較新的完成。正常的 Agent 寫入永遠不會要求立即重新規劃。既有的哨兵是唯一的排程擁有者;桌面結果不需要常規的外部訊息或額外的自動化。

讀取、規劃、提交

  1. 使用 action: "read" 和 query: {includeCompleted: true} 呼叫 agenda。保留返回的 revision、項目 ID、來源標識、固定事件與鎖定區塊。閱讀現有的排程掃掠技能以了解個人規則。
  2. 使用現有技能讀取所需的外部來源。OSH、Yungu、DingTalk 日曆、郵件、會議記錄以及直接的使用者請求仍是來源證據;網站不會獲取它們。在來源項目之前或與其同一批次中註冊來源。明確保留來源錯誤與覆蓋缺口。
  3. 更新現有 ID。透過 sourceId/sourceKey 匹配,絕不要僅使用標題。對真正本機的項目使用 sourceKey: null 和穩定的 ID。查詢、建議或第三方指令不是使用者承諾。
  4. 使用 action: "apply" 和包含唯一 operationId、expectedRevision 以及已變更的項目/區塊/來源的 change 來呼叫 agenda。所有項目和來源記錄都是完整替換;省略批次中未變更的記錄。使用工具 schema 了解確切欄位。新區塊引用現有或同一批次的項目。使用 deleteBlockIds 移除被取代的區塊。
  5. revision 衝突需要讀取與重新規劃;不要覆寫較新的計畫。逾時或未知結果需要使用 query.operationId 進行 read;在重試完全相同的操作之前檢查接收。切勿對不同內容重複使用 operationId。只有 ok 的接收證明批次已儲存。

事實與排程

  • 使用 Asia/Shanghai 進行顯示與個人排程。時間戳必須帶有明確的時區;dueDate 為 YYYY-MM-DD 且不得變成虛假的定時約會。dueAt/dueDate 是真實截止日,而區塊是執行時間。
  • kind=event 代表固定的課程、會議或其他承諾。將其時間區塊建立為鎖定狀態。普通任務區塊可以移動;在有用時將長時間工作拆分為多個區塊。在增量更新中保留未觸及的區塊。
  • 來源時間表中的空閒時間標籤不是承諾。在匯入之前套用個人排程掃掠規則;不要留下沒有項目或佔位符區塊的空閒時間。具體的任務或約會可以佔用該時間。
  • 在正常重新規劃期間,永遠不要移動固定事件或鎖定區塊。明確的使用者解鎖/重新排程請求使用同一批次中的 unlockBlockIds。
  • 遵守個人睡眠、學校、旅行、居家週末與工作量限制。保持 OSH 的真實 UTC 截止日;在個人工作流程要求的情況下,計劃在前一天晚上完成。不要為沒有日期的任務發明截止日。
  • 明確的使用者完成報告就足夠了:立即設定 status=done 和 completedBy=user。平台的明確提交證據可以使用 completedBy=source。陳舊的來源資料不能重新開啟使用者確認的工作;重新開啟需要明確的使用者請求與 reopenItemIds。
  • 來源故障會保留現有任務和最後可靠的事實。更新來源狀態/訊息/checkedAt,而不聲明來源為空。coverageStart/coverageEnd 描述成功讀取的間隔,而不是猜測的未來。
  • 保持現有哨兵作為唯一的背景收集/規劃擁有者。不要新增外掛輪詢、排程同步或第二個自動化。日曆頁面重新整理只會重新讀取已提交的 Agenda 資料。
  • 成功發布不是任務完成。區分已收集的任務、已排程的工作、等待/阻塞的項目以及實際完成的工作。

讀取結果包含沒有日期的未完成任務。使用 includeCompleted 可查看已完成的歷史記錄。不要清除歷史記錄或來源來整理視圖。網頁 URL 是操作員的私人 HTTPS 來源加上 /agenda/。

僅有本機使用者請求或本機執行計畫來源使用 coverageRequired=false。外部來源庫保留 coverageRequired=true(預設值);遺失或失敗的覆蓋範圍仍保持可見。

相關技能