Community程式設計與開發github.com

DGatoM/DG-Claw

將你與使用者剛完成的流程轉換成技能(存放在工作區的 `.claude/skills/<名稱>/SKILL.md`),以便下次能重複使用;並在使用者修正結果時改進該技能。當你與使用者完成一個可重複的 3 步驟以上流程,或使用者說出特定觸發詞時使用。也用於夜間反思,判斷是否值得建議技能。未經使用者同意絕不建立技能。

DG-Claw 是什麼?

「DGatoM/DG-Claw」是一項 AI Agent 技能,其主要功能是將使用者與 AI 共同完成的複雜、可重複流程,轉化為結構化技能檔案(SKILL.md),以便未來自動化執行。這項技能的核心價值在於減少重複性工作:使用者只需完成一次流程(例如撰寫每月報告、核對數據),AI 即可將其固化為指令集,下次以十分之一的時間產出相同品質的結果。技能支援所有執行 `claude` 指令的開發環境,並透過 `memory/skills-candidatas.md` 自動追蹤潛在技能候選:當同一任務重複出現兩次(或超過 5 個步驟的重複任務一次),夜間反思機制便會主動建議建立技能。使用者可以隨時透過「`/dgclaw:aprender`」、`ls .claude/skills/` 檢查現有技能,或直接要求 AI「把這個變成技能」。技能建立嚴格遵循「使用者同意才建立」的原則,且絕不儲存密碼、token 等機密(僅引用安全來源)。此外,如果使用者對已建立的技能結果提出修正(例如調整報告格式),AI 會同時更新 SKILL.md 中的步驟與「已發生陷阱」記錄,確保技能持續改進。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/DGatoM/DG-Claw/tree/HEAD/skills/aprender

Installed? Explore more 程式設計與開發 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜歡的 AI 中提問

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

說明文件

/dgclaw:aprender:將成功流程變成技能

技能是一份書面的步驟指南,我在執行任務前會先閱讀它。它讓我不必依賴記憶:那些花了一小時對話才搞定的流程,會變成一張食譜,下次我能在五分鐘內,用同樣的方式完成。

以下三條規則適用於所有情況:

  1. 技能只在使用者同意下才建立。我會建議、解釋為什麼值得,然後等待。沒有回應就不算同意。
  2. 我只建議一次。如果使用者說不要或沒有回應,我會記下來並不再堅持。
  3. 機密絕不寫進技能。密碼、token、金鑰、卡號:技能只會說「去哪裡取得」(例如「金鑰位於控制台的保險庫中」),絕不包含實際數值。

何時值得建議

在以下四個條件都成立時建議:

  • 步驟達到 3 個或以上,而不只是一個回答。例如:查詢中央銀行的利率、重新計算、更新檔案、發送 PDF。
  • 可以用其他數據重複執行。流程相同;只是主題、月份、客戶不同。
  • 使用者很可能會再次要求。跡象包括:「每個月」、「再一次」、「跟上次一樣」,這是使用者工作中會重複的交付事項,或是我們第二次做類似的事。
  • 最終成功了。使用者核准了結果或使用了該交付物。

另外,請先確認該技能尚未存在:ls .claude/skills/ 以及 memory/skills-aprendidas.md。

何時不建議

  • 一次性任務,不會再回來(例如「幫我寫這封給管委會的信」)。
  • 一或兩個步驟。我已經能一次搞定的事,不需要食譜。
  • 流程取決於只適用於當次的決定。
  • 對話以未解決的問題結束,或者使用者很急或很生氣。在這種情況下,將建議延後到夜間反思(它會記錄在「我想與使用者討論的事」中)。
  • 使用者已經拒絕過同一個技能(已記錄在 memory/skills-aprendidas.md)。

夜間計數器:memory/skills-candidatas.md

並非所有重複都會立即被發現。夜間反思會發現第二次:它會重新閱讀這一天,尋找我手動完成的多步驟流程,並逐行計數:

- <一行描述的任務> | 次數: N | 日期: DD/MM, DD/MM | 技能的作用

已經存在的任務只會增加次數和日期,不會新增行。當候選技能累積到 2 次(或 1 次,如果流程超過 5 個步驟且使用者表示會重複),反思會將其放入「我想與使用者討論的事」:「我今天又手動做了 X;您想把它變成技能嗎?」。每晚最多一個建議,我會在下一次對話中提出,方式如下一節所述。在計數之前,我會確認技能是否已經存在:如果存在但我沒使用,那是我忘記的錯,這會記錄在日記中,而非計數器。

如何提問

在交付結果之後,用一條簡短、與交付物分開的訊息:

我們剛剛完成了這個流程:<一行描述流程,包含步驟數>。您想把它變成技能,以便下次可以重複使用嗎?我建議的原因是<具體理由:例如「您說過這是每個月都要做的」或「我們花了一小時才確定格式」>。

只需一個問題,不要列出選項,也不要施加壓力。如果使用者問什麼是技能:「這是我為自己寫的一份食譜,包含您今天教我的步驟和注意事項」。

獲得同意後:撰寫技能

  1. 名稱: 簡短、使用繁體中文,全小寫並以連字號分隔(例如 relatorio-mensal-vendas、conferir-taxas-bc)。確認該資料夾不存在。

  2. 位置: .claude/skills/<名稱>/SKILL.md,位於我的工作區(我執行指令的資料夾)。絕對不要放在外掛資料夾中,因為每次更新都會被取代。

  3. 檔案,格式如下:

    ---
    name: <名稱>
    description: <用第三人稱描述它的功能> 當 <使用者> 要求 <他使用的詞語和可能的變體:「製作月度報告」、「更新費率」>,或當 <觸發情境> 時使用。 <如果可能混淆,說明它不做什麼>
    ---
    
    # <標題>
    
    <用兩行說明用途。與 <使用者> 在 <YYYY-MM-DD> 學習所得>
    
    ## 開始之前我需要什麼
    - <如果要求中沒有提供,我會詢問的輸入項目>
    
    ## 逐步操作
    1. <具體步驟,包含我們實際使用的檔案、來源或指令>
    2. ...
    
    ## 交付前我確認的事項
    - <使用者今天要求或修正的內容>
    
    ## 如何交付
    - <格式:PDF、頁面、簡短訊息;檔案存放位置>
    
    ## 已發生過的陷阱
    - <YYYY-MM-DD> <錯誤與正確做法>
    

    description 是關鍵,它決定技能能否在正確時機被想起:使用使用者實際說出的詞彙,而不是我的詞彙。路徑應相對於工作區。總行數約 150 行;如果需要更多,請在 .claude/skills/<名稱>/references/ 中建立輔助檔案。

  4. 記錄在 memory/skills-aprendidas.md(若不存在則建立),每個技能一行:

    - **<名稱>**(建立於 YYYY-MM-DD):<功能>。源自 DD/MM 關於 <主題> 的對話。
    

    拒絕也要記錄:- (於 YYYY-MM-DD 拒絕)<流程>:使用者偏好不建立技能。

  5. 告訴使用者,用一行話:「完成了,技能 <名稱> 已建立。下次只要說 <觸發詞> 就能使用。」如果新技能沒有立即出現在我的技能清單中,它會在下一個會話開始生效;在此之前,我會在執行任務前直接讀取該 SKILL.md。

當使用者修正我的技能執行結果時

如果我依照自己撰寫的技能執行了任務,而使用者修正了某些事項(例如「不對,圖表要在表格之前」、「正確的來源是國庫局的」):

  1. 先修正任務成果。使用者要的是結果。
  2. 更新 SKILL.md:調整錯誤的步驟,並在「已發生過的陷阱」中新增一行,包含日期。
  3. 記錄在 memory/skills-aprendidas.md 中,該技能的那一行:於 YYYY-MM-DD 改進:<內容>。
  4. 用一行話告知:「我已將該修正寫入技能 <名稱>:下次我會直接使用正確的方法。」

如果修正僅適用於當次(例如「今天不用圖表」),則不更新技能。如果不確定,我會問:「這是只針對今天,還是永久適用?」

我絕不做的事

  • 未經使用者同意就建立或刪除技能。
  • 修改外掛的技能(/dgclaw:*):那些不屬於我,每次更新都會恢復原狀。
  • 在技能中撰寫任何規避我的規則(LAWS.md)或使用者禁止事項的規則。

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

DGatoM/DG-Claw

Marca, lista e desmarca compromissos de verdade do agente NA MAQUINA onde ele mora (timers do systemd, via persona-cron-mgr.py), pra ele agir sozinho na hora certa mesmo com ninguem falando com ele. Use SEMPRE que o dono pedir pra agendar, marcar ou repetir um trabalho DO AGENTE num horario ("todo dia as 9h me manda o resumo", "cria um cron", "cria um agendamento", "roda isso de hora em hora", "quais crons voce tem", "cancela aquele agendamento"). Vale tambem quando a transcricao de audio trouxer CHROME, CROME, CRONO, CROM ou CRONI num pedido de horario, que e quase sempre a palavra CRON mal ouvida. Pedido para AVISAR o dono ("me lembra...", "me avisa as 15h") nao e rotina: use a skill lembretes, que insiste ate ele confirmar. NUNCA use o agendamento da sessao do Claude Code pra isso: aquilo morre com a sessao, isto fica na maquina.

DGatoM/DG-Claw

Gera ou troca o AVATAR do assistente DG Claw, a figura que aparece no painel. Use quando o usuario pedir "gerar o avatar", "criar a carinha dele", "mudar o mascote do painel", "trocar a foto do assistente", "fazer a imagem dele", ou rodar /dgclaw:avatar. Explica os tres caminhos (usar o que ja vem, gerar a partir da aparencia descrita, ou subir a propria imagem) e onde os arquivos ficam. As expressoes que mudam com o humor sao da extensao DG Alive.

DGatoM/DG-Claw

Posta e consulta o quadro de avisos entre os agentes do DG Claw, pelo comando dgclaw-api. Use quando o agente precisar contar algo aos outros agentes ("avisar os outros agentes", "conta pra Marina que...", "posta no quadro", "deixa um aviso pra equipe", "registra essa decisão pra todos"), quando precisar saber o que a equipe registrou ("o que a equipe registrou", "quais as preferências do dono", "tem aviso novo?"), corrigir ou retirar um aviso que postou, ou quando chegar um recado no formato <quadro-de-avisos de="..." id="..." tipo="...">. Serve para decisões, preferências, entregas, aprendizados, referências, pedidos e o resumo do dia. Não serve para conversa do dia a dia, andamento de tarefa nem dado de aluno ou cliente.

DGatoM/DG-Claw

Conecta o agente a um canal externo de conversa, Telegram ou WhatsApp, para o dono falar com ele pelo celular. Use quando o dono disser "quero falar com você no Telegram", "liga o Telegram", "configura o Telegram pra mim", "conecta meu WhatsApp", "quero falar com você no WhatsApp", "quero conversar pelo celular", "desliga o Telegram", "desliga o WhatsApp" ou "apaga a conexão". Conduz o passo a passo em linguagem simples usando o comando dgclaw-agente: no Telegram, criar o bot no BotFather, parear o dono e ligar; no WhatsApp, avisar o risco (API não oficial, risco de banimento, só com número secundário), parear por código, liberar o número do dono e ligar. Também ensina a responder pelo WhatsApp (tools whatsapp_reply e whatsapp_send_file) e a tratar as mensagens de lá como externas. Não funciona no agente Admin, que não tem canal externo.

相關技能