create-github-action-workflow-specification

create-github-action-workflow-specification

熱門

為現有的 GitHub Actions CI/CD 工作流程建立正式規格,最佳化以利 AI 使用與工作流程維護。

3.6萬星標
0分支
更新於 2026/7/11
SKILL.md
readonlyread-only
name
create-github-action-workflow-specification
description

為現有的 GitHub Actions CI/CD 工作流程建立正式規格,最佳化以利 AI 使用與工作流程維護。

建立 GitHub Actions 工作流程規格

為 GitHub Actions 工作流程 ${input:WorkflowFile} 建立一份完整的規格。

這份規格作為工作流程行為、需求與限制的說明文件。它必須與實作無關,專注於工作流程達成什麼,而非如何實作

AI 最佳化需求

  • Token 效率:使用簡潔語言,不犧牲清晰度
  • 結構化資料:利用表格、清單與圖表呈現密集資訊
  • 語意清晰:全篇一致使用精確術語
  • 實作抽象化:避免特定語法、指令或工具版本
  • 可維護性:設計便於隨工作流程演進而更新

規格範本

儲存為:/spec/spec-process-cicd-[workflow-name].md

---
title: CI/CD 工作流程規格 - [工作流程名稱]
version: 1.0
date_created: [YYYY-MM-DD]
last_updated: [YYYY-MM-DD]
owner: DevOps 團隊
tags: [process, cicd, github-actions, automation, [領域特定標籤]]
---

## 工作流程概述

**目的**:[一句話描述工作流程的主要目標]
**觸發事件**:[列出觸發條件]
**目標環境**:[環境範圍]

## 執行流程圖

```mermaid
graph TD
    A[觸發事件] --> B[工作 1]
    B --> C[工作 2]
    C --> D[工作 3]
    D --> E[結束]
    
    B --> F[並行工作]
    F --> D
    
    style A fill:#e1f5fe
    style E fill:#e8f5e8

工作與相依性

工作名稱 目的 相依性 執行環境
job-1 [目的] [前置條件] [執行器/環境]
job-2 [目的] job-1 [執行器/環境]

需求矩陣

功能需求

編號 需求 優先級 驗收標準
REQ-001 [需求] [可測試標準]
REQ-002 [需求] [可測試標準]

安全需求

編號 需求 實作限制
SEC-001 [安全需求] [限制說明]

效能需求

編號 指標 目標 測量方式
PERF-001 [指標] [目標值] [如何測量]

輸入/輸出合約

輸入

## 環境變數
ENV_VAR_1: string  # 用途:[說明]
ENV_VAR_2: secret  # 用途:[說明]

## 儲存庫觸發
paths: [路徑過濾器清單]
branches: [分支模式清單]

輸出

## 工作輸出
job_1_output: string  # 說明:[用途]
build_artifact: file  # 說明:[內容類型]

機密與變數

類型 名稱 用途 範圍
機密 SECRET_1 [用途] 工作流程
變數 VAR_1 [用途] 儲存庫

執行限制

執行時期限制

  • 超時:[最大執行時間]
  • 並行:[平行執行限制]
  • 資源限制:[記憶體/CPU 限制]

環境限制

  • 執行器需求:[作業系統/硬體需求]
  • 網路存取:[外部連線需求]
  • 權限:[所需存取層級]

錯誤處理策略

錯誤類型 回應 復原動作
建置失敗 [回應] [復原步驟]
測試失敗 [回應] [復原步驟]
部署失敗 [回應] [復原步驟]

品質閘門

閘門定義

閘門 標準 繞過條件
程式碼品質 [標準] [何時允許]
安全掃描 [門檻] [何時允許]
測試覆蓋率 [百分比] [何時允許]

監控與可觀測性

關鍵指標

  • 成功率:[目標百分比]
  • 執行時間:[目標持續時間]
  • 資源使用:[監控方式]

警示

條件 嚴重性 通知對象
[條件] [等級] [誰/哪裡]

整合點

外部系統

系統 整合類型 資料交換 SLA 需求
[系統] [類型] [資料格式] [需求]

相依工作流程

工作流程 關係 觸發機制
[工作流程] [類型] [如何觸發]

合規與治理

稽核需求

  • 執行日誌:[保留政策]
  • 核准閘門:[所需核准]
  • 變更控制:[更新流程]

安全控制

  • 存取控制:[權限模型]
  • 機密管理:[輪替政策]
  • 弱點掃描:[掃描頻率]

邊界案例與例外

情境矩陣

情境 預期行為 驗證方式
[邊界案例] [行為] [如何驗證]

驗證標準

工作流程驗證

  • VLD-001:[驗證規則]
  • VLD-002:[驗證規則]

效能基準

  • PERF-001:[基準標準]
  • PERF-002:[基準標準]

變更管理

更新流程

  1. 規格更新:先修改此文件
  2. 審查與核准:[核准流程]
  3. 實作:將變更套用到工作流程
  4. 測試:[驗證方式]
  5. 部署:[發布流程]

版本歷史

版本 日期 變更內容 作者
1.0 [日期] 初始規格 [作者]

相關規格

  • [相關工作流程規格連結]
  • [基礎設施規格連結]
  • [部署規格連結]

### 分析說明

分析工作流程檔案時:

1. **提取核心目的**:識別主要業務目標
2. **繪製工作流程**:建立顯示執行順序的相依圖
3. **識別合約**:記錄輸入、輸出與介面
4. **擷取限制**:提取超時、權限與限制
5. **定義品質閘門**:識別驗證與核准點
6. **記錄錯誤路徑**:繪製失敗情境與復原
7. **抽象化實作**:專注於行為,而非語法

### Mermaid 圖表指南

#### 流程類型
- **循序**:`A --> B --> C`
- **平行**:`A --> B & A --> C; B --> D & C --> D`
- **條件**:`A --> B{Decision}; B -->|Yes| C; B -->|No| D`

#### 樣式
```mermaid
style TriggerNode fill:#e1f5fe
style SuccessNode fill:#e8f5e8
style FailureNode fill:#ffebee
style ProcessNode fill:#f3e5f5

複雜工作流程

對於 5 個以上工作的工作流程,使用子圖:

graph TD
    subgraph "建置階段"
        A[Lint] --> B[Test] --> C[Build]
    end
    subgraph "部署階段"  
        D[Staging] --> E[Production]
    end
    C --> D

Token 最佳化策略

  1. 使用表格:以結構化格式呈現密集資訊
  2. 一致縮寫:定義一次,全文使用
  3. 項目符號:避免散文段落
  4. 程式碼區塊:結構化資料勝於敘述
  5. 交叉引用:連結而非重複資訊

專注於建立一份既可作為文件,也可作為工作流程更新範本的規格。