AgentSkillsCN

project-audit

全面的项目审计,检查是否符合《宪法》、章程、架构设计以及最佳实践。当您需要审视项目健康状况、为重大发布做准备,或进行新成员入职培训时,可使用此技能。触发条件:AUDIT、审计、检查项目、健康检查、整理项目、review project、项目检查、合规性、检核、品质检查、health check。

SKILL.md
--- frontmatter
name: project-audit
description: Comprehensive project audit checking compliance with CONSTITUTION, bylaws, architecture, and best practices. Use when reviewing project health, preparing for major releases, or onboarding. Triggers: AUDIT, 審計, 檢查專案, 健康檢查, 整理專案, review project, 專案檢查, compliance, 檢核, 品質檢查, health check.

Project Audit 技能 (專案審計)

描述

根據 CONSTITUTION.md 和所有子法對專案進行全面審計。

觸發條件

  • 「審計專案」「專案審計」
  • 「檢查專案」「健康檢查」
  • 「整理專案」「review project」

🎯 審計流程

code
┌─────────────────────────────────────────────────────────────────────┐
│                    Project Audit Workflow                            │
├─────────────────────────────────────────────────────────────────────┤
│                                                                      │
│   [1] DDD 架構審計     ──▶ .github/bylaws/ddd-architecture.md       │
│   [2] Memory Bank 審計 ──▶ .github/bylaws/memory-bank.md            │
│   [3] Python 環境審計  ──▶ .github/bylaws/python-environment.md     │
│   [4] Git 工作流審計   ──▶ .github/bylaws/git-workflow.md           │
│   [5] 檔案路徑審計     ──▶ .github/bylaws/file-paths.md             │
│   [6] Docker 服務審計  ──▶ .github/bylaws/docker-operations.md      │
│   [7] 文檔完整性審計   ──▶ README, CHANGELOG, ROADMAP               │
│   [8] 測試覆蓋審計     ──▶ tests/, {service}/tests/                 │
│                                                                      │
└─────────────────────────────────────────────────────────────────────┘

📋 [1] DDD 架構審計

檢查命令

bash
# 檢查服務目錄結構
ls -la */src/

# 應該看到 DDD 分層
# domain/, application/, infrastructure/, interface/

合規標準

服務必要分層例外
automl-servicedomain, application, infrastructure, interface
stats-servicedomain, application, infrastructure, interface
automl-mcp-serverinfrastructureMCP 適配器例外
automl-worker-Worker 簡化結構
stats-worker-Worker 簡化結構

檢查項目

code
DDD 架構審計

□ 核心服務有完整 DDD 分層
□ Domain 層無外部依賴
□ Infrastructure 實現 Repository Pattern
□ 依賴方向:Presentation → Application → Domain ← Infrastructure

📋 [2] Memory Bank 審計

檢查命令

bash
ls -la memory-bank/

必要檔案

檔案用途必要
activeContext.md當前工作焦點
progress.md進度追蹤
decisionLog.md決策記錄
productContext.md產品上下文
projectBrief.md專案簡介
architect.md架構記錄
systemPatterns.md系統模式

檢查項目

code
Memory Bank 審計

□ 7 個必要檔案都存在
□ progress.md 有最新進度
□ activeContext.md 反映當前狀態
□ decisionLog.md 記錄重大決策

📋 [3] Python 環境審計

檢查命令

bash
# 檢查依賴管理檔案
find . -name "pyproject.toml" -o -name "requirements*.txt" -o -name "uv.lock"

# 檢查虛擬環境
ls -la .venv/

合規標準

項目標準降級條件
套件管理器uv 優先CI 環境可用 pip
虛擬環境必須使用
pyproject.toml必須有
uv.lock應該有uv 未安裝可省略

檢查項目

code
Python 環境審計

□ 根目錄有 pyproject.toml
□ Docker 容器可用 requirements.txt(合規降級)
□ 虛擬環境存在 (.venv)
□ 依賴版本已鎖定

📋 [4] Git 工作流審計

檢查命令

bash
# 檢查最近 commit
git log --oneline -10

# 檢查未提交變更
git status --short

# 檢查分支
git branch -a

合規標準

Commit Message 格式:

code
<type>(<scope>): <subject>

Type: feat, fix, docs, refactor, test, chore

檢查項目

code
Git 工作流審計

□ Commit Message 符合格式
□ 無遺留未提交的重要變更
□ 分支策略適當(可為單一 main/master)

📋 [5] 檔案路徑審計

檢查命令

bash
# 搜尋可能的路徑問題
grep -r "/home/" --include="*.py" */src/
grep -r "sample_data" --include="*.py" */src/

# 檢查測試位置
find . -name "test_*.py" -o -name "*_test.py"

合規標準

使用情境正確路徑錯誤路徑
MCP 工具參數/data/sample_data//home/eric/...
容器內程式碼/data/..../sample_data/
測試檔案位置tests/, {service}/tests/根目錄

檢查項目

code
檔案路徑審計

□ MCP 工具使用 Container 路徑
□ 無測試檔案在根目錄
□ 測試資料在 sample_data/ 或 fixtures/

📋 [6] Docker 服務審計

檢查命令

bash
# 檢查服務狀態
docker compose ps

# 檢查配置
cat docker-compose.yml | head -50

# 檢查環境變數
cat .env 2>/dev/null || echo ".env not found"

檢查項目

code
Docker 服務審計

□ docker-compose.yml 存在且正確
□ .env 或 .env.example 存在
□ 服務可正常啟動
□ Volume 掛載正確

📋 [7] 文檔完整性審計

檢查命令

bash
# 檢查主要文件
head -50 README.md
head -50 CHANGELOG.md
head -50 docs/ROADMAP.md

檢查項目

code
文檔完整性審計

□ README.md 反映當前功能
□ CHANGELOG.md 有最新版本記錄
□ ROADMAP.md 有進度標記
□ 安裝/使用說明可執行

📋 [8] 測試覆蓋審計

檢查命令

bash
# 列出測試檔案
find . -path "./.venv" -prune -o -name "test_*.py" -print

# 執行測試
pytest --collect-only

# 覆蓋率
pytest --cov

檢查項目

code
測試覆蓋審計

□ 單元測試存在
□ 整合測試存在(如適用)
□ E2E 測試存在
□ 測試可通過

📊 審計報告範本

code
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 專案審計報告
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

日期:YYYY-MM-DD
專案:{project_name}

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ 合規項目
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

| 類別 | 項目 | 狀態 |
|------|------|------|
| DDD | 核心服務分層 | ✅ |
| Memory Bank | 7 個檔案完整 | ✅ |
| Git | Commit 格式 | ✅ |
| 文檔 | README 最新 | ✅ |

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠️ 待改進項目
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

| 類別 | 問題 | 建議 |
|------|------|------|
| Python | 無 uv.lock | 安裝 uv 後產生 |
| 測試 | 覆蓋率 < 80% | 增加測試 |

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔢 統計數據
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

- 測試數量:{N}
- 測試通過率:{X}%
- 程式碼行數:{N}
- Commit 數量:{N}

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📌 行動項目
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

1. [ ] {待辦 1}
2. [ ] {待辦 2}

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

💡 審計最佳實踐

定期審計

  • 每週一次快速審計
  • 每月一次完整審計
  • 版本發布前必須審計

審計後行動

  1. 立即修復嚴重問題
  2. 建立 Issue 追蹤中等問題
  3. 記錄到 progress.md