Community程式設計與開發github.com

jumibot/informe_deliberativa

建立或更新軟體工廠中審議任務的報告(研究、審議、設計),採用固定結構:摘要、分析、已決定事項、待決定事項(區塊化)、提議分離事項及產出的任務。問題以卡片搭配選項、推薦標示及狀態(開放、已決、分離)呈現,且根據委託人的每次回覆即時更新。每次迭代會提升版本、將舊版備份至 `_respaldo/` 目錄,並重新產生 HTML。當審議任務需要撰寫或更新報告、記錄回覆、決策或分離,或將舊報告轉換為此格式時使用。此技能使用 `crear_documentos` 的產生器與共用資源。

informe_deliberativa 是什麼?

這個技能專門為軟體工廠(Software Factory)中的審議任務(研究、審議、設計)設計,負責建立或更新結構化的報告。報告包含強制性的章節:摘要、分析、已決定事項、待決定事項(可分成多個區塊,每個區塊標明最終歸屬)、提議分離事項及產出任務。問題以特定卡片格式呈現,每個問題是一個複選題,包含選項、推薦答案(以 `recomendada` 標記)與狀態(開放、已決定、已分離)。報告根據任務委託人的每次回覆進行迭代更新,版本號會遞增,舊版會自動備份到 `_respaldo/` 目錄,並重新產生對應的 HTML 檔案。此外,技能也內建驗證工具,確保報告的完整性,例如檢查所有開放問題都有選項與推薦、已決定問題有記錄決策編號、摘要中的計數與各區塊實際數量一致,以及所有內部連結都有效。此技能支援 Claude Code 等 AI 代理,需要與 `crear_documentos` 共用資源。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/jumibot/SoftwareFactory/tree/main/plugins/sf/skills/informe_deliberativa

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

在你喜歡的 AI 中提問

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

說明文件

審議報告

一個審議任務(研究、審議或設計;「三種家族中的七種任務類型」,223)會產出一份報告以及從中衍生出的任務(「審議任務產出報告及衍生任務」,218)。其難題都存在報告中,根據委託人的每次回覆即時更新,而不是放在佇列或其他檔案中。屬於其他任務的內容會提議分離;關閉任務時,仍開放的議題會移交給其對應任務(「在審議任務中,屬於其他任務的內容應提議分離」,221)。審議任務不進行任何測試,只會修改自己的報告:需要實際執行的部分,由它所建立的任務負責。

此技能說明了報告應包含哪些內容、問題如何撰寫,以及每次迭代的流程。產生器、資源、主題與驗證皆沿用 crear_documentos 的內容,應與本文件一同參閱。這是審議任務家族代理專用的技能(「專用代理,每個任務家族一個」,304);在該代理尚未建立前,由任務的子代理負責載入。

**讀者是必須做出決策的委託人。**報告能減輕其負擔:需要決策的事項優先呈現,每個問題以選項字母作答,推薦答案一目了然。良好溝通是軟體工廠的目標之一(決策 231)。

儲存位置

  • 在已整合至軟體工廠的專案中,放在 sf/informes/ 目錄(「軟體工廠文件放在 sf/ 資料夾」,203)。
  • 在軟體工廠本體中,放在 docs/referencias/reports/ 目錄,直到決定移入 sf/ 為止(「任務類型」報告的第 13 題,任務 303)。

檔案名稱使用主題而非任務編號:例如 Tipos de tarea.md 及其 .html。被取代的版本移至同一目錄下的 _respaldo/。

**範例:**軟體工廠的 docs/referencias/reports/Tipos de tarea.md 報告(任務 274)。若團隊中有此檔案,可作為範例閱讀;但不得複製其內容。空白範本位於 assets/plantilla-informe.md。

結構

章節必須依照以下順序排列,並使用指定的 {#id},以便委託人快速定位,也讓任務能夠引用:

  1. 摘要 {#resumen}。兩到三段簡短結論:說明提案內容、依據為何、剩餘問題數量及位置。若有圖表能統整全局,應放在此處。結尾應有連結引導至待決事項([查看 N 個問題](#por-decidir){: .salto})。
  2. 分析,可包含一個或多個自訂章節:說明研究內容、提案及其理由。優先呈現提案或結論,即使其推導過程在後;接著是支持結論的評估與其限制。主題相關的卡片、圖表與表格應放置於此。
  3. 已決定事項 {#decidido}。表格記錄委託人針對此任務所做的決策:編號 | 決策 | 在此任務中確立的內容。每項決策在記錄至此處之前,必須先存於其決策檔案中。
  4. 待決定事項 {#por-decidir}。以 ::: preguntas 區塊呈現的開放問題。若問題較多,可依重要性或最終歸屬(若分離)拆分成多個區塊,每個區塊放在獨立章節({#por-decidir-<目的地>}),並以一句話說明區塊內容,以及連結至其分離提案。
  5. 提議分離 {#separar}。提議分離的內容:每個分離提案一張卡片({: #a-<目的地>}),說明帶走的內容(問題,附上各問題的連結)及去處(新任務、現有任務的步驟或 /sf_split)。若需選擇分離方式,則此選擇本身也應成為一個問題。
  6. 任務 {#tareas}。衍生的任務:任務 | 類型 | 執行內容。已存在的任務需附上編號。

附錄放在最後,僅在必要時使用:來源(::: fuentes)、完整資料、提議給將由其他任務修改的文件之文字內容。

若分析結果沒有任何待決定、提議分離或需建立的任務,則移除這些章節;其餘章節順序不變。

標頭: 包含 antetitulo(「專案 · <分析、設計或研究>報告 · <月份 年份>」)、lema、subtitulo(說明報告回覆的問題)、version、estado(「提案 · 任務 N」、「已決 · 任務 N」…)、portada: oscura、destino: proyecto、herramientas、menu: secciones(供委託人在章節間跳轉)、tipo(「分析報告」、「設計報告」、「研究報告」)及 pie(包含任務編號、報告起始來源及決策者)。

問題

每個問題是一張由 ::: preguntas 定義的卡片,採用 crear_documentos 中的「選項式問題」資源:

::: preguntas 2 plegables

### 1 · 如何確保「僅操作自己的文件」{recomendada=A} {: #p1}

目前沒有任何機制監控:任何步驟都可能進入任務範圍。

選項 A
:   任務透過指令宣告自己的文件,若分支觸及其他檔案則 `cerrar` 拒絕執行。

選項 B
:   僅在編排中撰寫規則。

推薦
:   **A.** 可透過指令實現,無需依賴主程式的記憶。

:::
  • 每個問題對應一個決策,標題需明確命名,並依重要性以數字編號(1 為最重要)。編號與錨點 {: #pN} 在問題被決定或分離後皆不變更:任務步驟會藉此引用(「決定……(問題 5)(報告「任務類型」,274)」)。
  • 一兩句背景說明,僅在選擇時需要才加入:說明現狀或為何需要決策。
  • 兩個或三個選項,分別標示為 選項 A、選項 B……,每個選項以一到兩句說明其影響。「維持現狀」在確實為一個選項時才列入。
  • 推薦附帶一句理由,並在標題中加入 recomendada=A 以突顯。每個開放問題都必須有推薦;產生器若發現遺漏會發出警告。
  • 狀態,根據每次回覆更新:
    • estado=abierta(預設):等待回覆;
    • estado=decidida elegida=B:加上 Decisión 欄位說明選擇內容、細節及已記錄的決策編號;所選選項會被標記,其他選項顯示為灰色;
    • estado=separada destino=tarea_303:已移交至其他任務(底線 _ 在標記中會顯示為空格)。仍保留在報告中,以供目標任務引用。
  • 依賴其他問題的問題,應在背景說明中提及,並附上連結。

當問題被決定或分離時,其卡片仍保留在原有區塊中,並更新為新狀態,同時決策也會被加入「已決定事項」表格。摘要會說明還有多少問題仍處於開放狀態。

每次迭代

委託人每次回覆,或分析進展導致報告變更,即為一次迭代:

  1. 備份即將被取代的版本:python -I -X utf8 <skills>/crear_documentos/scripts/respaldar.py <報告檔案>.md <原因>(「取代文件前,先備份至 _respaldo/」,217)。

  2. 撰寫變更:更新已回覆問題的狀態、「已決定事項」表格、分離提案與任務列表,以及摘要。提升標頭中的版本號(例如 2.5 → 2.6;第一個數字在報告結構變更時增加),並更新 estado。

  3. 重新產生 HTML 並納入同一變更中(「每次 .md 變更均重新產生其 HTML」,220):

    python -I -X utf8 <skills>/informe_deliberativa/scripts/informe_to_html.py <報告檔案>.md
    
  4. 推送至 develop 分支,不建立新分支,因為這屬於新文件(「新文件每次迭代均推送至 develop,並在瀏覽器中提供檢視」,216),使用屆時存在的指令(「每次迭代將新文件推送至 develop,並在瀏覽器中開啟」,297)。

  5. 提供在瀏覽器中開啟 HTML 的選項,並顯示新版本號。

驗證

採用 crear_documentos 中的驗證方式(「驗證」),並額外檢查:

  • 每個開放問題至少要有兩個選項與一個推薦;所有已決問題必須有 elegida,已分離問題必須有 destino;
  • 摘要中的計數(開放問題、分離提案、任務)必須與各章節實際數量一致;
  • 所有指向問題(#pN)或分離提案(#a-…)的連結必須有效;
  • 「已決定事項」表格中的決策必須是已經記錄過的決策。

Individual skills in this repo

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

jumibot/documento_fundacional

Crea o revisa el documento fundacional de un proyecto o de un producto — su presentación formal, más formal que el documento de visión y sin historia conductora — con la necesidad documentada, la tesis de desarrollo, qué es el producto, los escenarios de uso, las evidencias con lo que respaldan y lo que no, qué debe demostrar el piloto y las fuentes. Para el autor y para compartir con colaboradores, socios o financiadores. Úsala cuando pidan un documento fundacional, una presentación o justificación formal del proyecto, un manifiesto, un dossier o un caso de desarrollo, o convertir uno existente (PDF, HTML) a este formato. Genera .md → .html con el generador y los recursos comunes de crear_documentos (portada sobria, secciones plegables, tarjetas, fichas con buscador, referencias) y el tema de la identidad del proyecto; se imprime en A4.

jumibot/flujo_tareas

Ciclo de vida de las tareas de un proyecto bajo la Software Factory (SF) y su cola, .sf/peticiones.json — estados (en cola, en curso, en observación, descartada), pasos, ramas feature/NN-nombre, subagentes, prueba y cierre por squash en develop, descarte, reversión, reapertura, eliminación, fusión y separación, historial por tarea y copias de la cola — con el CLI tools/cola.py. Úsala siempre que haya que tocar la cola — anotar una petición o un bug, poner una tarea en curso o dejarla en cola, crear su rama, añadir o marcar pasos, lanzar o recoger un subagente, dejarla lista para probar, cerrarla, pasarla a observación o devolverla a ella, cerrarla o revertirla en observación, descartarla, reabrirla, eliminarla, fusionar o separar tareas, o recuperar una cola rota.

相關技能