@moon791017/neo-skills 1.0.42 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +25 -25
- package/README.md +91 -125
- package/bin/_utils.js +0 -87
- package/package.json +4 -20
- package/skills/neo-azure-pipelines/SKILL.md +1 -1
- package/skills/neo-clarification/SKILL.md +50 -54
- package/skills/neo-clarification/assets/clarification-template.md +40 -0
- package/skills/neo-clarification/evals/eval_queries.json +26 -0
- package/skills/neo-clarification/evals/evals.json +30 -0
- package/skills/neo-clarification/references/5w1h-framework.md +43 -0
- package/skills/neo-clarification/scripts/validate-requirements.py +130 -0
- package/skills/neo-code-review/SKILL.md +73 -73
- package/skills/neo-code-review/evals/eval_queries.json +26 -0
- package/skills/neo-code-review/evals/evals.json +30 -0
- package/skills/neo-code-review/references/review-checklist.md +76 -0
- package/skills/neo-code-review/scripts/git-diff-reviewer.py +171 -0
- package/skills/neo-rust/SKILL.md +88 -28
- package/skills/neo-rust/evals/eval_queries.json +42 -0
- package/skills/neo-rust/evals/evals.json +27 -0
- package/.antigravityignore +0 -44
- package/bin/install-skills.js +0 -90
- package/dist/hooks/secret-guard.js +0 -5
- package/dist/server.js +0 -218
package/AGENTS.md
CHANGED
|
@@ -3,58 +3,58 @@
|
|
|
3
3
|
**Neo Skills** 是一個專為 **Antigravity CLI (AGY)** 設計的擴充外掛,旨在將 Agent 轉化為**全方位專家代理 (Universal Expert Agent)**。它利用 Model Context Protocol (MCP) 提供特定領域的專業知識 (Skills)。目前配備了專業的 **DevOps**(Azure Pipelines)與 **Frontend/Backend** 多語系(.NET, Python, Swift, TypeScript/JavaScript, Rust, Vue)等領域的模組,其架構設計可託管任何領域的技能。
|
|
4
4
|
|
|
5
5
|
## 回應風格
|
|
6
|
-
使用「繁體中文 (台灣)」
|
|
6
|
+
- 使用「繁體中文 (台灣)」
|
|
7
|
+
- commit訊息必須是「繁體中文 (台灣)」
|
|
7
8
|
|
|
8
9
|
---
|
|
9
10
|
|
|
10
11
|
# Repository Guidelines
|
|
11
12
|
|
|
12
13
|
## Project Structure & Module Organization
|
|
13
|
-
`
|
|
14
|
+
`bin/` contains the installer CLI `install-system-instructions.js` and shared helpers. `skills/<skill-name>/` is the main content surface for contributors; each skill centers on a `SKILL.md` file and may also include `reference/` or `references/` docs, `assets/` templates, or reusable helper `scripts/`. Tests live in `test/*.test.js`.
|
|
14
15
|
|
|
15
16
|
## Build, Test, and Development Commands
|
|
16
|
-
Use `npm install` for local setup; CI uses `npm ci`.
|
|
17
|
+
Use `npm install` for local setup; CI uses `npm ci`. Use `npm test` to run the Node test suite (`node --test`).
|
|
17
18
|
|
|
18
19
|
## Coding Style & Naming Conventions
|
|
19
|
-
Use ESM modules, 2-space indentation, and keep code ASCII unless a file already uses localized text. Follow the existing style of the file you touch instead of reformatting unrelated lines; current JS utilities mostly use single quotes
|
|
20
|
+
Use ESM modules, 2-space indentation, and keep code ASCII unless a file already uses localized text. Follow the existing style of the file you touch instead of reformatting unrelated lines; current JS utilities mostly use single quotes. Prefer `camelCase` for functions and variables, `UPPER_SNAKE_CASE` for shared constants, and `kebab-case` for skill directories and hook filenames (for example, `neo-python`). Keep comments brief and only where intent is not obvious.
|
|
21
|
+
|
|
22
|
+
### AI Helper Script Specifications (scripts/)
|
|
23
|
+
When writing scripts under `skills/<skill-name>/scripts/` or global helper scripts:
|
|
24
|
+
1. **STRICTLY Non-Interactive**: Accept inputs only via command-line arguments (using `argparse`), environment variables, or stdin. **Do NOT use interactive prompts (like `input()` or TTY confirmation dialogs), as they will hang the agent indefinitely.**
|
|
25
|
+
2. **Stdout & Stderr Separation**: Write diagnostic messages, progress logs, and errors to `stderr`. Write only clean, programmatically parseable data (such as JSON or CSV) to `stdout`.
|
|
26
|
+
3. **Inline Dependencies (PEP 723)**: Python scripts must include an inline PEP 723 dependency block (e.g., `# /// script ...`) to enable self-contained runs via `uv run`.
|
|
20
27
|
|
|
21
28
|
## Testing Guidelines
|
|
22
|
-
Add or update tests whenever you change installer behavior, filesystem layout, or hook logic. Place tests in `test/` and name them `*.test.js`. Mirror existing patterns: use temp directories, assert on exit codes, and verify real files were created.
|
|
29
|
+
Add or update tests whenever you change installer behavior, filesystem layout, or hook logic. Place tests in `test/` and name them `*.test.js`. Mirror existing patterns: use temp directories, assert on exit codes, and verify real files were created. PR CI must pass `npm test`.
|
|
23
30
|
|
|
24
31
|
## Commit & Pull Request Guidelines
|
|
25
32
|
Follow the Conventional Commits pattern already used in history: `feat:`, `fix:`, `docs:`, `test(ci):`, `refactor(skills):`. Keep subjects short and imperative; add a scope when it clarifies impact. PRs against `develop` trigger the validation workflow, while merges to `main` feed the `release-please` release flow. In each PR, summarize behavior changes, list the commands you ran, and link the related issue when applicable.
|
|
26
33
|
|
|
27
34
|
## Security & Content Notes
|
|
28
|
-
Do not commit secrets, sample credentials, or unsafe prompts.
|
|
35
|
+
Do not commit secrets, sample credentials, or unsafe prompts. When updating a skill, keep its `SKILL.md`, references, and any user-facing docs aligned.
|
|
29
36
|
|
|
30
37
|
---
|
|
31
38
|
|
|
32
39
|
## 📂 系統架構
|
|
33
40
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
### 1. MCP 伺服器 (`src/server.ts`)
|
|
37
|
-
擴充套件的進入點。提供了一個 MCP 伺服器,負責:
|
|
38
|
-
* 註冊 **工具 (Tools)**(例如:`fetch_web_content` 用於網頁擷取)。
|
|
39
|
-
* *注意:若要在 AGY CLI 中使用此工具,需手動在 AGY 的 MCP 設定中配置此伺服器。*
|
|
41
|
+
專案組織為主要核心層次:
|
|
40
42
|
|
|
41
|
-
###
|
|
43
|
+
### 知識庫 (`skills/` & `.agents/skills`)
|
|
42
44
|
每個子目錄代表一個包含專家知識的「技能模組」。
|
|
43
|
-
*
|
|
44
|
-
* `SKILL.md`:**大腦**。定義該領域的 **Perceive-Reason-Act**
|
|
45
|
-
* `
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
|
|
49
|
-
*
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
確保操作安全與數據隱私的機制。
|
|
53
|
-
* **安全守衛 (`secret-guard.ts`)**:一個即時分析工具執行參數的攔截掛鉤 (Hook)。它會阻斷涉及敏感檔案(如 `.env`, 私鑰, 憑證)的操作,以防止意外洩漏。
|
|
45
|
+
* **結構與漸進式揭露 (Progressive Disclosure) 規範:**
|
|
46
|
+
* `SKILL.md`:**大腦**。定義該領域的 **Perceive-Reason-Act** 迴圈。**其第一行必須是 YAML frontmatter 分界符 `---`**,並包含正確 the `name`(必須與其父目錄名稱完全一致以利 Discovery 自動偵測)與 trigger-focused 的 `description`。
|
|
47
|
+
* `references/`:**深度知識**。將詳細的檢核表、分析框架或長文檔放於此處,僅在 Reason 階段依需求由 Agent 動態載入。
|
|
48
|
+
* `assets/`:**輸出範本**。提供標準的 Markdown 結構範本,降低 Token 開銷。
|
|
49
|
+
* `evals/`:**評估集**。必須包含 `evals.json` 與 `eval_queries.json` 用於檢測技能的觸發率與輸出品質。
|
|
50
|
+
* **載入邏輯(對齊 npx skills add 標準):**
|
|
51
|
+
* **全域技能**: 載入自 `~/.gemini/skills/`,可透過 `npx skills add -g Benknightdark/neo-skills` 安裝。
|
|
52
|
+
* **專案專屬技能**: 載入自專案根目錄下的 `.agents/skills/`,可透過 `npx skills add Benknightdark/neo-skills` 安裝。
|
|
53
|
+
* **範例:** `skills/neo-azure-pipelines/` 包含設計 CI/CD 管線的邏輯, `skills/neo-typescript/` 包含 TypeScript 強型別與互通性最佳實踐。
|
|
54
54
|
|
|
55
55
|
## 💡 使用哲學
|
|
56
56
|
|
|
57
|
-
|
|
57
|
+
在使用此程式碼庫時,Agent 遵循 **Perceive-Reason-Act** 協定:
|
|
58
58
|
|
|
59
59
|
1. **感知 (Perceive)**:分析使用者的專案上下文(語言、框架、現有設定)。
|
|
60
60
|
2. **推理 (Reason)**:諮詢內部知識庫 (`SKILL.md`) 以制定策略。
|
package/README.md
CHANGED
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
<img src="images/banner.png" alt="leak-hunter repository secret scanner banner" width="100%">
|
|
8
8
|
</p>
|
|
9
9
|
|
|
10
|
-
**Neo Skills**
|
|
10
|
+
**Neo Skills** 是一個專為現代 **AI Agent** 設計的**企業級全方位能力擴充套件**。本專案基於 Model Context Protocol (MCP) 與標準化代理治理架構 (Agent Harness),為 AI 代理安裝高可靠、可插拔的「專家技能模組 (Skills)」,使其不僅僅是個聊天機器人,而是能深度融入本地開發與運維環境,轉化為具備「感知-推理-行動 (Perceive-Reason-Act)」自主決策能力的**跨領域專家**。
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
無論是複雜的 DevOps 自動化(Azure Pipelines)、代碼品質安全審查、需求還原與分析釐清,或是多語系的現代化開發,Neo Skills 都能透過模組化的外部知識庫、AI 專用非互動式腳本與品質評估集 (Evals),讓 AI 代理在安全、受控的 Harness 治理下,成為您最強大的全能數位助手。
|
|
13
13
|
|
|
14
14
|
## 🚀 核心願景
|
|
15
15
|
|
|
@@ -86,176 +86,156 @@
|
|
|
86
86
|
|
|
87
87
|
* **AI 助手開發治理 (`skills/neo-agent-harness`)**:檢查專案規則、測試、CI、審查流程與安全防護是否足夠清楚,協助 AI 助手更穩定、更安全地參與開發。
|
|
88
88
|
|
|
89
|
-
### 13. 安全守衛 (Security Guard)
|
|
90
|
-
|
|
91
|
-
* **主動防護 (`secret-guard.ts`)**:作為 CLI 的中介軟體 (Hook),自動攔截並掃描所有工具執行的參數。若偵測到敏感資訊(如環境設定檔、私鑰、雲端憑證等)將強制阻擋執行,防止機密外洩。
|
|
92
|
-
|
|
93
89
|
## 📂 系統架構
|
|
94
90
|
|
|
95
|
-
|
|
91
|
+
本專案主要由標準專家技能模組組成的知識庫所構成:
|
|
96
92
|
|
|
97
93
|
| 層次 | 目錄 | 描述 |
|
|
98
94
|
| :--- | :--- | :--- |
|
|
99
|
-
| **Server** | `src/server.ts` | 擴充套件的進入點,負責註冊 Tool,處理與 AI Agent CLI 的通訊。 |
|
|
100
95
|
| **Knowledge Base** | `skills/` | **"大腦"**。包含各領域知識 (`SKILL.md`) 與可重用的模板 (`templates/`)。 |
|
|
101
|
-
| **Security Layer** | `src/hooks/` | **"安全守衛"**。攔截並掃描工具執行參數,防止敏感資訊外洩。 |
|
|
102
96
|
|
|
103
97
|
## 📦 安裝與使用
|
|
104
98
|
|
|
105
|
-
|
|
99
|
+
Neo Skills 已全面升級並採用 [agentskills.io](https://agentskills.io) 官方推薦的 **Agent Skills 開源標準規範**。
|
|
106
100
|
|
|
107
|
-
|
|
108
|
-
| :--- | :--- | :--- | :--- |
|
|
109
|
-
| **Antigravity** | [Antigravity CLI](https://antigravity.google) | 透過外掛程式自動載入 | `agents.md` |
|
|
110
|
-
| **Claude** | [Claude Code](https://docs.anthropic.com/en/docs/claude-code) | `.claude/skills/` | `CLAUDE.md` |
|
|
111
|
-
| **Copilot** | [GitHub Copilot CLI](https://docs.github.com/en/copilot) | `.copilot/skills/`(全域)<br>`.github/skills/`(專案) | `.copilot/copilot-instructions.md`(全域)<br>`.github/copilot-instructions.md`(專案) |
|
|
112
|
-
| **Codex** | [OpenAI Codex CLI](https://github.com/openai/codex) | `.codex/skills/` | `AGENTS.md` |
|
|
101
|
+
透過標準的 **Skills CLI**,您不需要手動下載、複製或在 `CLAUDE.md` 等檔案中手動附加長篇大論的系統提示詞。現代的 AI Coding Agents(如 Claude Code, Cursor, Copilot 等)已原生支持從 `.agents/skills/` 自動發現與加載這些高度專業的技能。
|
|
113
102
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
| 工具 | 用途 | 安裝目標 |
|
|
117
|
-
| :--- | :--- | :--- |
|
|
118
|
-
| `install-skills` | 將技能模組(`skills/`)複製到 Agent 的技能目錄 | 資料夾(如 `.claude/skills`) |
|
|
119
|
-
| `install-system-instructions` | 將系統提示詞寫入 Agent 的指導檔 | 單一檔案(如 `CLAUDE.md`) |
|
|
120
|
-
|
|
121
|
-
> 兩個工具皆支援 `--ai-agent` 與 `--project-path` 參數,邏輯一致。
|
|
103
|
+
> [!NOTE]
|
|
104
|
+
> 技能下載管理工具底層使用由 Vercel Labs 開源的全球 package manager `skills` (即 `@vercel/skills`)。這使得技能的安裝與管理如同 npm 安裝套件般優雅、快速。
|
|
122
105
|
|
|
123
106
|
---
|
|
124
107
|
|
|
125
|
-
###
|
|
108
|
+
### 一、一鍵安裝所有技能
|
|
126
109
|
|
|
127
|
-
|
|
110
|
+
如果您希望將 Neo Skills 專案內建的所有專家技能一次性安裝至您的當前專案中,只需在專案根目錄下執行:
|
|
128
111
|
|
|
129
112
|
```bash
|
|
130
|
-
|
|
131
|
-
npx -p @moon791017/neo-skills install-skills --ai-agent agy -y
|
|
113
|
+
npx skills add Benknightdark/neo-skills
|
|
132
114
|
```
|
|
133
115
|
|
|
134
|
-
或者手動將專案連結至 `~/.gemini/antigravity-cli/plugins/neo-skills`。
|
|
135
|
-
|
|
136
116
|
---
|
|
137
117
|
|
|
138
|
-
###
|
|
139
|
-
|
|
140
|
-
將 `skills/` 目錄下的所有技能模組複製到目標 AI Agent 的技能資料夾。
|
|
141
|
-
|
|
142
|
-
**語法:**
|
|
118
|
+
### 二、按需安裝特定技能
|
|
143
119
|
|
|
144
|
-
|
|
145
|
-
install-skills [--ai-agent <name>] [--project-path <path>]
|
|
146
|
-
```
|
|
120
|
+
如果您只需要其中某幾項特定領域的專家技能,您可以使用 `--skill` 參數指定安裝:
|
|
147
121
|
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
|
151
|
-
|
|
|
152
|
-
|
|
|
153
|
-
|
|
|
154
|
-
|
|
155
|
-
|
|
122
|
+
| 內建專家技能 | 一鍵安裝指令 |
|
|
123
|
+
| :--- | :--- |
|
|
124
|
+
| **1. C# 語法專家** | `npx skills add Benknightdark/neo-skills --skill neo-csharp` |
|
|
125
|
+
| **2. .NET 核心路由** | `npx skills add Benknightdark/neo-skills --skill neo-dotnet` |
|
|
126
|
+
| **3. .NET Minimal APIs 專家** | `npx skills add Benknightdark/neo-skills --skill neo-dotnet-minimal-apis` |
|
|
127
|
+
| **4. .NET Web API 專家** | `npx skills add Benknightdark/neo-skills --skill neo-dotnet-webapi` |
|
|
128
|
+
| **5. .NET MVC 專家** | `npx skills add Benknightdark/neo-skills --skill neo-dotnet-mvc` |
|
|
129
|
+
| **6. EF Core 專家** | `npx skills add Benknightdark/neo-skills --skill neo-dotnet-ef-core` |
|
|
130
|
+
| **7. .NET Tag Helper 專家** | `npx skills add Benknightdark/neo-skills --skill neo-dotnet-tag-helper` |
|
|
131
|
+
| **8. C# Interface 生成器** | `npx skills add Benknightdark/neo-skills --skill neo-csharp-interface-generator` |
|
|
132
|
+
| **9. Python 3.10+ 專家** | `npx skills add Benknightdark/neo-skills --skill neo-python` |
|
|
133
|
+
| **10. Python 環境與依賴管理專家** | `npx skills add Benknightdark/neo-skills --skill neo-python-manager` |
|
|
134
|
+
| **11. Swift 5.0+ 專家** | `npx skills add Benknightdark/neo-skills --skill neo-swift` |
|
|
135
|
+
| **12. SwiftUI 專家** | `npx skills add Benknightdark/neo-skills --skill neo-swift-ui` |
|
|
136
|
+
| **13. JavaScript 專家** | `npx skills add Benknightdark/neo-skills --skill neo-javascript` |
|
|
137
|
+
| **14. TypeScript 專家** | `npx skills add Benknightdark/neo-skills --skill neo-typescript` |
|
|
138
|
+
| **15. Vue 3 現代開發專家** | `npx skills add Benknightdark/neo-skills --skill neo-vue` |
|
|
139
|
+
| **16. Rust 開發專家** | `npx skills add Benknightdark/neo-skills --skill neo-rust` |
|
|
140
|
+
| **17. DevOps (Azure Pipelines) 架構師** | `npx skills add Benknightdark/neo-skills --skill neo-azure-pipelines` |
|
|
141
|
+
| **18. Code Review 專家** | `npx skills add Benknightdark/neo-skills --skill neo-code-review` |
|
|
142
|
+
| **19. 程式碼解釋助手** | `npx skills add Benknightdark/neo-skills --skill neo-explain` |
|
|
143
|
+
| **20. 需求分析與釐清助手** | `npx skills add Benknightdark/neo-skills --skill neo-clarification` |
|
|
144
|
+
| **21. AI 開發流程治理專家** | `npx skills add Benknightdark/neo-skills --skill neo-agent-harness` |
|
|
156
145
|
|
|
157
|
-
|
|
158
|
-
| :--- | :--- | :--- |
|
|
159
|
-
| Antigravity | `~/.gemini/skills/` | `<project>/.agents/skills/` |
|
|
160
|
-
| Claude | `~/.claude/skills/` | `<project>/.claude/skills/` |
|
|
161
|
-
| Copilot | `~/.copilot/skills/` | `<project>/.github/skills/` |
|
|
162
|
-
| Codex | `~/.codex/skills/` | `<project>/.codex/skills/` |
|
|
146
|
+
---
|
|
163
147
|
|
|
164
|
-
|
|
148
|
+
### 三、主流 AI Agent 對齊說明
|
|
165
149
|
|
|
166
|
-
|
|
167
|
-
# 安裝指定 Agent 至全域
|
|
168
|
-
npx -p @moon791017/neo-skills install-skills --ai-agent claude -y
|
|
150
|
+
在安裝技能後,主流的 AI 代理會遵循以下載入機制,無須任何額外手動配置:
|
|
169
151
|
|
|
170
|
-
|
|
171
|
-
|
|
152
|
+
> [!TIP]
|
|
153
|
+
> **全域安裝選項**:若您希望將技能安裝至全域路徑以供所有專案使用,可以在上述指令後面加上 `-g` 參數(例如 `npx skills add -g Benknightdark/neo-skills`)。
|
|
172
154
|
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
155
|
+
| AI Agent | 專案載入目錄 (Project-level) | 全域載入目錄 (Global-level) | 系統提示載入方式 |
|
|
156
|
+
| :--- | :--- | :--- | :--- |
|
|
157
|
+
| **Antigravity (AGY)** | `<project>/.agents/skills/` | `~/.gemini/skills/` | 自動掃描並動態感知載入(Perceive 階段) |
|
|
158
|
+
| **Claude Code** | `<project>/.agents/skills/` | `~/.claude/skills/` | 原生載入並透過 trigger-phrases 自動觸發 |
|
|
159
|
+
| **Copilot CLI / Cursor** | `<project>/.agents/skills/` | `~/.copilot/skills/` | 自動偵測專案下的 `.agents/` 設定檔案 |
|
|
176
160
|
|
|
177
161
|
---
|
|
178
162
|
|
|
179
|
-
###
|
|
163
|
+
### 四、安裝系統提示詞 (`install-system-instructions`)
|
|
180
164
|
|
|
181
|
-
|
|
165
|
+
> [!IMPORTANT]
|
|
166
|
+
> **獨家加值特色功能**:由於 [agentskills.io](https://agentskills.io) 標準僅處理 `.agents/skills` 專案技能的目錄同步,**並未提供將核心系統提示詞(System Instructions)附加至 AI 代理引導檔** 的功能。
|
|
167
|
+
>
|
|
168
|
+
> 為了解決這個問題,Neo Skills 專門保留並提供強大的系統提示詞安裝器 `install-system-instructions`。此 CLI 工具會自動掃描、建立,並在不破壞您既有檔案內容的前提下,將專家提示詞完美附加或更新至各 AI 代理的專屬引導檔中。
|
|
182
169
|
|
|
183
170
|
**語法:**
|
|
184
171
|
|
|
185
|
-
```
|
|
186
|
-
install-system-instructions --instructions <key> [--ai-agent <name>] [--project-path <path>]
|
|
172
|
+
```bash
|
|
173
|
+
npx -p @moon791017/neo-skills install-system-instructions --instructions <key> [--ai-agent <name>] [--project-path <path>] [--replace-all]
|
|
187
174
|
```
|
|
188
175
|
|
|
189
|
-
|
|
176
|
+
**參數與引數說明:**
|
|
190
177
|
|
|
191
178
|
| 參數 | 必填 | 說明 |
|
|
192
179
|
| :--- | :---: | :--- |
|
|
193
|
-
| `--instructions <key>` | ✅ |
|
|
194
|
-
| `--ai-agent <name>` | 否 | 指定目標 Agent(`claude` / `copilot` / `codex`)。省略時安裝至全部。 |
|
|
195
|
-
| `--project-path <path>` | 否 |
|
|
196
|
-
| `--replace-all` | 否 |
|
|
180
|
+
| `--instructions <key>` | ✅ | 指定要安裝的系統提示詞(可用選項見下方列表)。 |
|
|
181
|
+
| `--ai-agent <name>` | 否 | 指定目標 Agent(`claude` / `copilot` / `codex` / `agy`)。省略時安裝至全部。 |
|
|
182
|
+
| `--project-path <path>` | 否 | 指定專案根目錄。省略時安裝至使用者的全域路徑。 |
|
|
183
|
+
| `--replace-all` | 否 | 若先前已安裝過該提示詞,則會將其移除後全新重裝,適合用於更新提示詞版本。 |
|
|
197
184
|
|
|
198
|
-
|
|
185
|
+
**系統引導檔路徑對照:**
|
|
199
186
|
|
|
200
|
-
| Agent |
|
|
187
|
+
| Agent | 全域引導檔路徑 | 專案引導檔路徑 |
|
|
201
188
|
| :--- | :--- | :--- |
|
|
202
|
-
| Claude | `~/.claude/CLAUDE.md` | `<project>/CLAUDE.md` |
|
|
203
|
-
| Copilot | `~/.copilot/copilot-instructions.md` | `<project>/.github/copilot-instructions.md` |
|
|
204
|
-
| Codex | `~/.codex/AGENTS.md` | `<project>/AGENTS.md` |
|
|
189
|
+
| **Claude Code** | `~/.claude/CLAUDE.md` | `<project>/CLAUDE.md` |
|
|
190
|
+
| **Copilot CLI** | `~/.copilot/copilot-instructions.md` | `<project>/.github/copilot-instructions.md` |
|
|
191
|
+
| **Codex** | `~/.codex/AGENTS.md` | `<project>/AGENTS.md` |
|
|
192
|
+
| **Antigravity (AGY)** | `~/.gemini/antigravity-cli/instructions.md` | `<project>/agents.md` |
|
|
205
193
|
|
|
206
|
-
|
|
194
|
+
**支援的系統提示詞種類:**
|
|
207
195
|
|
|
208
|
-
| Key |
|
|
196
|
+
| Key | 提示詞名稱 | 核心功能與扮演角色 |
|
|
209
197
|
| :--- | :--- | :--- |
|
|
210
|
-
| `technical-co-founder` | Technical Co-Founder | 讓 AI
|
|
211
|
-
| `git-commit` | Git Commit Message Generator |
|
|
212
|
-
| `fact-check` | Fact-Check Thinking | 強制 AI 在回答前先進行「事實檢查思考」,嚴格依據來源與事實回答,避免臆測與捏造內容。 |
|
|
198
|
+
| `technical-co-founder` | **Technical Co-Founder** | 讓 AI 扮演您的技術共同創辦人,以 Discovery → Planning → Building → Polish → Handoff 五階段框架,協助您從零打造可上線的真實產品。 |
|
|
199
|
+
| `git-commit` | **Git Commit Message Generator** | 智能分析暫存區變更,自動生成符合 Conventional Commits 規範的精確提交訊息,經確認後一鍵提交。 |
|
|
200
|
+
| `fact-check` | **Fact-Check Thinking** | 強制 AI 在回答前先進行「事實檢查思考」,嚴格依據來源與事實回答,避免臆測與捏造內容。 |
|
|
213
201
|
|
|
214
|
-
|
|
202
|
+
**實用範例:**
|
|
215
203
|
|
|
216
204
|
```bash
|
|
217
|
-
#
|
|
218
|
-
npx -p @moon791017/neo-skills install-system-instructions
|
|
219
|
-
--instructions technical-co-founder -y
|
|
220
|
-
|
|
221
|
-
# 安裝至指定 Agent 的全域指導檔 (~/.claude/CLAUDE.md)
|
|
222
|
-
npx -p @moon791017/neo-skills install-system-instructions \
|
|
223
|
-
--ai-agent claude --instructions technical-co-founder -y
|
|
205
|
+
# 1. 一次安裝「技術共同創辦人」提示詞至全部支援的 AI Agent 全域引導檔
|
|
206
|
+
npx -p @moon791017/neo-skills install-system-instructions --instructions technical-co-founder -y
|
|
224
207
|
|
|
225
|
-
#
|
|
226
|
-
npx -p @moon791017/neo-skills install-system-instructions
|
|
227
|
-
--ai-agent claude --instructions technical-co-founder --project-path /my/project -y
|
|
208
|
+
# 2. 安裝「技術共同創辦人」提示詞至 Claude Code 的專案級 CLAUDE.md
|
|
209
|
+
npx -p @moon791017/neo-skills install-system-instructions --ai-agent claude --instructions technical-co-founder --project-path . -y
|
|
228
210
|
|
|
229
|
-
#
|
|
230
|
-
npx -p @moon791017/neo-skills install-system-instructions
|
|
231
|
-
--ai-agent copilot --instructions technical-co-founder --project-path /my/project -y
|
|
211
|
+
# 3. 如果需要更新/覆蓋已安裝的 git-commit 提示詞,加上 --replace-all 進行重裝
|
|
212
|
+
npx -p @moon791017/neo-skills install-system-instructions --ai-agent claude --instructions git-commit --replace-all -y
|
|
232
213
|
```
|
|
233
214
|
|
|
234
|
-
|
|
215
|
+
---
|
|
235
216
|
|
|
236
217
|
## 💡 常用指令範例
|
|
237
218
|
|
|
238
|
-
|
|
219
|
+
您可以根據不同的開發與維運需求場景,快速安裝對應的專家技能,並直接對 AI 代理下達相關指令:
|
|
239
220
|
|
|
240
|
-
| 需求場景 | 推薦咒語範例 |
|
|
241
|
-
| :--- | :--- |
|
|
242
|
-
| **設定 .NET CI Pipeline** | `幫這個專案設定 CI 流程` |
|
|
243
|
-
| **部署至 IIS** | `部署到 IIS,站台名稱為 MySite` |
|
|
244
|
-
|
|
|
245
|
-
|
|
|
246
|
-
| **生成 C# Interface
|
|
247
|
-
| **
|
|
248
|
-
|
|
|
249
|
-
| **AI
|
|
221
|
+
| 需求場景 | 所需專家技能 | 快速安裝指令 | 推薦咒語範例 |
|
|
222
|
+
| :--- | :--- | :--- | :--- |
|
|
223
|
+
| **設定 .NET CI Pipeline** | `neo-azure-pipelines` | `npx skills add Benknightdark/neo-skills --skill neo-azure-pipelines` | `幫這個專案設定 CI 流程` |
|
|
224
|
+
| **部署至 IIS On-Premises** | `neo-azure-pipelines` | `npx skills add Benknightdark/neo-skills --skill neo-azure-pipelines` | `部署到 IIS,站台名稱為 MySite` |
|
|
225
|
+
| **全方位程式碼深度審查** | `neo-code-review` | `npx skills add Benknightdark/neo-skills --skill neo-code-review` | `幫我 code review 剛才的修改` |
|
|
226
|
+
| **技術解析與架構洞察** | `neo-explain` | `npx skills add Benknightdark/neo-skills --skill neo-explain` | `分析這個專案的架構` |
|
|
227
|
+
| **生成 C# Interface 介面** | `neo-csharp-interface-generator` | `npx skills add Benknightdark/neo-skills --skill neo-csharp-interface-generator` | `幫我針對這個 class 產生介面` |
|
|
228
|
+
| **TS 型別設計與 CJS/ESM 互通** | `neo-typescript` | `npx skills add Benknightdark/neo-skills --skill neo-typescript` | `解決 tsconfig 還有 ESM/CJS 互通性的問題` |
|
|
229
|
+
| **複雜/模糊需求釐清與規格化** | `neo-clarification` | `npx skills add Benknightdark/neo-skills --skill neo-clarification` | `我想做一個電商網站` |
|
|
230
|
+
| **AI 助手開發治理與流程健檢** | `neo-agent-harness` | `npx skills add Benknightdark/neo-skills --skill neo-agent-harness` | `幫我檢查這個專案怎麼讓 AI 助手開發得更穩、更安全` |
|
|
250
231
|
|
|
251
|
-
## 🛠
|
|
232
|
+
## 🛠 開發與測試指南
|
|
252
233
|
|
|
253
|
-
|
|
234
|
+
本專案支援本地測試與 NPM 打包。
|
|
254
235
|
|
|
255
236
|
### 前置需求
|
|
256
237
|
|
|
257
238
|
* **[Node.js](https://nodejs.org/) (v18+)**:基本執行環境。
|
|
258
|
-
* **[Bun](https://bun.sh/)**:僅在**開發**、**建置**或執行 **Gemini MCP Server** 時需要。
|
|
259
239
|
|
|
260
240
|
### 快速開始
|
|
261
241
|
|
|
@@ -265,22 +245,8 @@ npx -p @moon791017/neo-skills install-system-instructions \
|
|
|
265
245
|
npm install
|
|
266
246
|
```
|
|
267
247
|
|
|
268
|
-
2.
|
|
269
|
-
直接執行原始碼進行測試:
|
|
270
|
-
|
|
271
|
-
```bash
|
|
272
|
-
bun src/server.ts
|
|
273
|
-
```
|
|
274
|
-
|
|
275
|
-
3. **建置專案**
|
|
276
|
-
將 TypeScript 編譯並打包至 `dist/` 目錄:
|
|
277
|
-
|
|
278
|
-
```bash
|
|
279
|
-
bun run build
|
|
280
|
-
```
|
|
281
|
-
|
|
282
|
-
4. **類型檢查**
|
|
248
|
+
2. **執行單元測試**
|
|
283
249
|
|
|
284
250
|
```bash
|
|
285
|
-
|
|
251
|
+
npm test
|
|
286
252
|
```
|
package/bin/_utils.js
CHANGED
|
@@ -1,14 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Shared utilities for agent skill installers.
|
|
3
3
|
*/
|
|
4
|
-
import { cp, mkdir, access } from 'node:fs/promises';
|
|
5
|
-
import { join, resolve, dirname } from 'node:path';
|
|
6
|
-
import { homedir } from 'node:os';
|
|
7
|
-
import { fileURLToPath } from 'node:url';
|
|
8
|
-
|
|
9
|
-
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
10
|
-
const packageRoot = resolve(__dirname, '..');
|
|
11
|
-
const sourceDir = join(packageRoot, 'skills');
|
|
12
4
|
|
|
13
5
|
/**
|
|
14
6
|
* Agent 設定中心 — 所有 agent 的安裝參數集中管理於此。
|
|
@@ -61,82 +53,3 @@ export const AGENTS = {
|
|
|
61
53
|
hint: 'Neo Skills 已安裝。請確保 AGY 已載入 instructions.md 或 agents.md 作為上下文檔案。',
|
|
62
54
|
},
|
|
63
55
|
};
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* 根據 agent config 建立 installer 函式。
|
|
67
|
-
*
|
|
68
|
-
* 路徑解析邏輯:
|
|
69
|
-
* 1. 決定根目錄 (baseDir):
|
|
70
|
-
* - 有 --project-path → 使用者指定的絕對路徑
|
|
71
|
-
* - 無 --project-path → $HOME
|
|
72
|
-
* 2. 決定子目錄 (subDir):
|
|
73
|
-
* - 有 --project-path 且 config 定義了 projectPath → 使用 projectPath
|
|
74
|
-
* - 其餘情況 → 使用 homePath
|
|
75
|
-
* 3. 最終安裝路徑 = baseDir + subDir
|
|
76
|
-
*
|
|
77
|
-
* 範例(以 Copilot 為例):
|
|
78
|
-
* 預設: ~/.copilot/skills (homedir + homePath)
|
|
79
|
-
* --project-path /my/project: /my/project/.github/skills (projectPath + projectPath)
|
|
80
|
-
*
|
|
81
|
-
* @param {object} config - AGENTS 中的 agent 設定物件
|
|
82
|
-
* @param {string} [targetPath] - 使用者透過 --project-path 指定的自訂根目錄
|
|
83
|
-
*/
|
|
84
|
-
export function createInstaller({ name: agentName, homePath, projectPath, sourceDir: customSourceDir, hint }, cliBasePath) {
|
|
85
|
-
return async function install() {
|
|
86
|
-
console.log(`🚀 [${agentName}] 開始同步 Neo Skills...`);
|
|
87
|
-
|
|
88
|
-
const effectiveSourceDir = customSourceDir ? resolve(packageRoot, customSourceDir) : sourceDir;
|
|
89
|
-
|
|
90
|
-
try {
|
|
91
|
-
await access(effectiveSourceDir);
|
|
92
|
-
} catch {
|
|
93
|
-
const msg = `在 ${effectiveSourceDir} 找不到來源目錄。`;
|
|
94
|
-
console.error(`❌ 錯誤: ${msg}`);
|
|
95
|
-
return { success: false, message: msg };
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
// 根目錄:--project-path 優先,否則 $HOME
|
|
99
|
-
const baseDir = cliBasePath ? resolve(cliBasePath) : homedir();
|
|
100
|
-
// 子目錄:專案層級有獨立路徑時採用 projectPath,否則用預設的 homePath
|
|
101
|
-
const subDir = cliBasePath && projectPath ? projectPath : homePath;
|
|
102
|
-
const targetSkillsDir = join(baseDir, subDir);
|
|
103
|
-
|
|
104
|
-
console.log(`📁 來源路徑: ${effectiveSourceDir}`);
|
|
105
|
-
console.log(`🎯 目標路徑: ${targetSkillsDir}`);
|
|
106
|
-
|
|
107
|
-
await mkdir(targetSkillsDir, { recursive: true });
|
|
108
|
-
|
|
109
|
-
let copyCount = 0;
|
|
110
|
-
await cp(effectiveSourceDir, targetSkillsDir, {
|
|
111
|
-
recursive: true,
|
|
112
|
-
force: true,
|
|
113
|
-
filter: (src) => {
|
|
114
|
-
const relativePath = src.replace(effectiveSourceDir, '');
|
|
115
|
-
const isIgnored =
|
|
116
|
-
relativePath.includes('node_modules') ||
|
|
117
|
-
relativePath.includes('.git') ||
|
|
118
|
-
relativePath.includes('dist') ||
|
|
119
|
-
relativePath.includes('.antigravitycli') ||
|
|
120
|
-
relativePath.includes('.agents');
|
|
121
|
-
|
|
122
|
-
if (!isIgnored) {
|
|
123
|
-
// 只有當 src 不是目錄時才增加計數,或者簡化計數邏輯
|
|
124
|
-
copyCount++;
|
|
125
|
-
return true;
|
|
126
|
-
}
|
|
127
|
-
return false;
|
|
128
|
-
}
|
|
129
|
-
});
|
|
130
|
-
|
|
131
|
-
if (copyCount === 0) {
|
|
132
|
-
console.warn('⚠️ 警告: 沒有任何檔案被複製。請檢查來源目錄是否正確。');
|
|
133
|
-
return { success: true, message: '沒有任何檔案被複製' };
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
const displayPath = cliBasePath || homePath;
|
|
137
|
-
const msg = `已同步 ${copyCount} 個檔案/資料夾至 ${displayPath}`;
|
|
138
|
-
console.log(`✅ [${agentName}] 安裝成功!${msg}`);
|
|
139
|
-
if (hint) console.log(`💡 提示: ${hint}`);
|
|
140
|
-
return { success: true, message: msg };
|
|
141
|
-
};
|
|
142
|
-
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@moon791017/neo-skills",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Neo Skills: A Universal Expert Agent Extension",
|
|
6
6
|
"homepage": "https://neo-blog-iota.vercel.app/",
|
|
@@ -13,41 +13,25 @@
|
|
|
13
13
|
"ai agent skills"
|
|
14
14
|
],
|
|
15
15
|
"bin": {
|
|
16
|
-
"neo-skills": "./bin/install-skills.js",
|
|
17
|
-
"install-skills": "./bin/install-skills.js",
|
|
18
16
|
"install-system-instructions": "./bin/install-system-instructions.js"
|
|
19
17
|
},
|
|
20
18
|
"files": [
|
|
21
|
-
"dist",
|
|
22
19
|
"bin",
|
|
23
20
|
"skills",
|
|
24
|
-
"AGENTS.md"
|
|
25
|
-
".antigravityignore"
|
|
21
|
+
"AGENTS.md"
|
|
26
22
|
],
|
|
27
23
|
"repository": {
|
|
28
24
|
"type": "git",
|
|
29
25
|
"url": "git+https://github.com/Benknightdark/neo-skills.git"
|
|
30
26
|
},
|
|
31
27
|
"scripts": {
|
|
32
|
-
"build": "
|
|
33
|
-
"build:server": "bun build src/server.ts --outdir dist --target node --minify",
|
|
34
|
-
"build:hooks": "bun build src/hooks/*.ts --outdir dist/hooks --target node --minify",
|
|
28
|
+
"build": "echo 'Pure JavaScript and Skills package, no build required.'",
|
|
35
29
|
"install-deps": "npm install",
|
|
36
|
-
"clean": "rm -rf dist",
|
|
37
|
-
"start": "node dist/server.js",
|
|
38
|
-
"dev": "bun src/server.ts",
|
|
39
|
-
"typecheck": "tsc --noEmit",
|
|
40
30
|
"test": "node --test"
|
|
41
31
|
},
|
|
42
32
|
"devDependencies": {
|
|
43
|
-
"@types/bun": "^1.3.11",
|
|
44
33
|
"@types/node": "^25.6.0"
|
|
45
34
|
},
|
|
46
35
|
"license": "MIT",
|
|
47
|
-
"dependencies": {
|
|
48
|
-
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
49
|
-
"axios": "^1.15.0",
|
|
50
|
-
"cheerio": "^1.2.0",
|
|
51
|
-
"zod": "^4.3.6"
|
|
52
|
-
}
|
|
36
|
+
"dependencies": {}
|
|
53
37
|
}
|