helloagents 1.0.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/Claude/Skills/CN/CLAUDE.md +998 -0
- package/Claude/Skills/CN/skills/helloagents/analyze/SKILL.md +187 -0
- package/Claude/Skills/CN/skills/helloagents/design/SKILL.md +261 -0
- package/Claude/Skills/CN/skills/helloagents/develop/SKILL.md +352 -0
- package/Claude/Skills/CN/skills/helloagents/kb/SKILL.md +249 -0
- package/Claude/Skills/CN/skills/helloagents/templates/SKILL.md +451 -0
- package/Claude/Skills/EN/CLAUDE.md +998 -0
- package/Claude/Skills/EN/skills/helloagents/analyze/SKILL.md +187 -0
- package/Claude/Skills/EN/skills/helloagents/design/SKILL.md +261 -0
- package/Claude/Skills/EN/skills/helloagents/develop/SKILL.md +352 -0
- package/Claude/Skills/EN/skills/helloagents/kb/SKILL.md +249 -0
- package/Claude/Skills/EN/skills/helloagents/templates/SKILL.md +451 -0
- package/Codex/Skills/CN/AGENTS.md +998 -0
- package/Codex/Skills/CN/skills/helloagents/analyze/SKILL.md +187 -0
- package/Codex/Skills/CN/skills/helloagents/design/SKILL.md +261 -0
- package/Codex/Skills/CN/skills/helloagents/develop/SKILL.md +352 -0
- package/Codex/Skills/CN/skills/helloagents/kb/SKILL.md +249 -0
- package/Codex/Skills/CN/skills/helloagents/templates/SKILL.md +451 -0
- package/Codex/Skills/EN/AGENTS.md +998 -0
- package/Codex/Skills/EN/skills/helloagents/analyze/SKILL.md +187 -0
- package/Codex/Skills/EN/skills/helloagents/design/SKILL.md +261 -0
- package/Codex/Skills/EN/skills/helloagents/develop/SKILL.md +352 -0
- package/Codex/Skills/EN/skills/helloagents/kb/SKILL.md +249 -0
- package/Codex/Skills/EN/skills/helloagents/templates/SKILL.md +451 -0
- package/README.md +840 -0
- package/bin/cli.js +85 -0
- package/lib/args.js +106 -0
- package/lib/backup.js +81 -0
- package/lib/conflict.js +118 -0
- package/lib/copy.js +125 -0
- package/lib/defaults.js +47 -0
- package/lib/index.js +297 -0
- package/lib/output.js +220 -0
- package/lib/prompts.js +173 -0
- package/lib/utils.js +225 -0
- package/package.json +38 -0
package/README.md
ADDED
|
@@ -0,0 +1,840 @@
|
|
|
1
|
+
# HelloAGENTS
|
|
2
|
+
|
|
3
|
+
<div align="center">
|
|
4
|
+
|
|
5
|
+
**AI Programming Modular Skill System — Transform chaotic AI agent outputs into structured, traceable, production-ready code through intelligent routing and human-centric workflows**
|
|
6
|
+
|
|
7
|
+
[](./LICENSE)
|
|
8
|
+
[](https://creativecommons.org/licenses/by/4.0/)
|
|
9
|
+
[](#-version-history)
|
|
10
|
+
[](./CONTRIBUTING.md)
|
|
11
|
+
[](https://github.com/hellowind777/helloagents/actions/workflows/test.yml)
|
|
12
|
+
|
|
13
|
+
[English](./README.md) · [简体中文](./README_CN.md) · [Quick Start](#-quick-start) · [Documentation](#-documentation)
|
|
14
|
+
|
|
15
|
+
</div>
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
> **⚠️ Important:** Before using, set the language in `AGENTS.md` file header (`bootstrap: lang=en-US`) and configure **"Response Language"** in Global Rules to "English" to ensure the agent outputs in the expected language.
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## 🎯 Why HelloAGENTS?
|
|
24
|
+
|
|
25
|
+
**The Problem:** AI agents are powerful but unpredictable—they produce inconsistent outputs, can't adapt to different task complexities, lack systematic requirement validation, and make decisions without transparency.
|
|
26
|
+
|
|
27
|
+
**The Solution:** HelloAGENTS introduces an **AI Programming Modular Skill System** with intelligent complexity routing, semantic intent analysis, structured requirement scoring, and human-centric interaction patterns that automatically adapt to your task needs.
|
|
28
|
+
|
|
29
|
+
| Challenge | Without HelloAGENTS | With HelloAGENTS |
|
|
30
|
+
|-----------|---------------------|------------------|
|
|
31
|
+
| **One-size-fits-all workflow** | Same heavy process for every change | Smart router picks 1 of 4 workflows via semantic + intent analysis |
|
|
32
|
+
| **Vague requirements accepted** | Agent guesses and fails | 10-point scoring system with targeted follow-up questions |
|
|
33
|
+
| **Black-box decision making** | No insight into why agent chose an approach | On-demand internal thinking with explicit uncertainty handling |
|
|
34
|
+
| **No state awareness** | Loses context between interactions | G12 state variables track packages, modes, and context |
|
|
35
|
+
| **Inconsistent outputs** | Random formatting and structure | G6 unified output format with mandatory validation |
|
|
36
|
+
| **Platform incompatibility** | Unix commands fail on Windows | Cross-platform rules with PowerShell syntax validation |
|
|
37
|
+
| **Unsafe operations** | Accidental production deployments | EHRB detection with automatic workflow escalation |
|
|
38
|
+
|
|
39
|
+
### 💡 Best For
|
|
40
|
+
- ✅ **Teams** needing intelligent workflow selection based on task complexity
|
|
41
|
+
- ✅ **Projects** requiring systematic requirement validation before coding
|
|
42
|
+
- ✅ **Developers** who want transparency in AI decision-making processes
|
|
43
|
+
- ✅ **Cross-platform projects** (Windows PowerShell + macOS + Linux)
|
|
44
|
+
- ✅ **Regulated industries** requiring full traceability and audit trails
|
|
45
|
+
|
|
46
|
+
### ⚠️ Not For
|
|
47
|
+
- ❌ One-off scripts without quality requirements
|
|
48
|
+
- ❌ Projects where "just make it work" is acceptable
|
|
49
|
+
- ❌ Environments without file system access
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## ✨ Features
|
|
54
|
+
|
|
55
|
+
### 🎯 Core Capabilities
|
|
56
|
+
|
|
57
|
+
<table>
|
|
58
|
+
<tr>
|
|
59
|
+
<td width="50%">
|
|
60
|
+
|
|
61
|
+
**🧭 Unified Intelligent Routing**
|
|
62
|
+
|
|
63
|
+
Multi-dimensional analysis for automatic workflow selection:
|
|
64
|
+
- **Semantic Analysis**: Understands request meaning, not just keywords
|
|
65
|
+
- **Intent Classification**: Q&A / Modification / Command types
|
|
66
|
+
- **Scope Estimation**: Micro (≤2 files) → Large (architecture-level)
|
|
67
|
+
- **EHRB Signal Detection**: Automatic risk identification
|
|
68
|
+
|
|
69
|
+
**Your benefit:** Right workflow every time—no manual mode switching.
|
|
70
|
+
|
|
71
|
+
</td>
|
|
72
|
+
<td width="50%">
|
|
73
|
+
|
|
74
|
+
**📊 Requirements Analysis with Scoring**
|
|
75
|
+
|
|
76
|
+
Structured validation before any code changes:
|
|
77
|
+
- **10-point scoring** across 4 dimensions (Goal clarity, Expected results, Scope boundaries, Constraints)
|
|
78
|
+
- **Targeted follow-up questions** when score <7
|
|
79
|
+
- **On-demand internal thinking** in `<thinking>` blocks
|
|
80
|
+
- **Context-aware questioning** avoids asking known information
|
|
81
|
+
|
|
82
|
+
**Your benefit:** Fewer failed implementations from vague requirements.
|
|
83
|
+
|
|
84
|
+
</td>
|
|
85
|
+
</tr>
|
|
86
|
+
<tr>
|
|
87
|
+
<td width="50%">
|
|
88
|
+
|
|
89
|
+
**🔄 Phase & State Management**
|
|
90
|
+
|
|
91
|
+
Systematic workflow with full traceability:
|
|
92
|
+
- **3-phase workflow**: Requirements Analysis → Solution Design → Development Implementation
|
|
93
|
+
- **G12 state variables**: CREATED_PACKAGE, CURRENT_PACKAGE, MODE_*
|
|
94
|
+
- **G11 lifecycle management**: Auto-migration to history/
|
|
95
|
+
- **Context preservation**: Handles follow-ups, selections, confirmations
|
|
96
|
+
|
|
97
|
+
**Your benefit:** Never lose track of what was planned vs. executed.
|
|
98
|
+
|
|
99
|
+
</td>
|
|
100
|
+
<td width="50%">
|
|
101
|
+
|
|
102
|
+
**🛡️ Human-Centric Safeguards**
|
|
103
|
+
|
|
104
|
+
Transparent and safe AI behavior:
|
|
105
|
+
- **G3 Uncertainty Principles**: Explicit assumptions + conservative fallback
|
|
106
|
+
- **EHRB escalation**: Auto-upgrades to stricter workflow on risk detection
|
|
107
|
+
- **Unified output format**: Consistent, validated responses (G6.1)
|
|
108
|
+
- **GPT/SKILLS compliant**: Rule structure follows official guidelines
|
|
109
|
+
|
|
110
|
+
**Your benefit:** Understand why the agent made each decision.
|
|
111
|
+
|
|
112
|
+
</td>
|
|
113
|
+
</tr>
|
|
114
|
+
</table>
|
|
115
|
+
|
|
116
|
+
### 📊 By the Numbers
|
|
117
|
+
- **4 intelligent workflows** auto-selected via semantic routing (vs. manual mode switching)
|
|
118
|
+
- **10-point scoring** with 4 dimensions ensures requirement quality before coding
|
|
119
|
+
- **70% smaller** core ruleset through modular skill architecture
|
|
120
|
+
- **Zero** black-box decisions with G3 uncertainty disclosure
|
|
121
|
+
- **100%** traceability through G11 solution package lifecycle
|
|
122
|
+
- **Cross-platform** Windows PowerShell + Unix + Python compatibility
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## 🚀 Quick Start
|
|
127
|
+
|
|
128
|
+
### Prerequisites
|
|
129
|
+
- CLI environment with file system access (Codex CLI, Claude Code, or custom AI client)
|
|
130
|
+
- Node.js >= 14.0.0 (only required for npx installation)
|
|
131
|
+
|
|
132
|
+
### Installation
|
|
133
|
+
|
|
134
|
+
#### Option 1: npx One-Click Install (Recommended)
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
# Interactive installation
|
|
138
|
+
npx helloagents
|
|
139
|
+
|
|
140
|
+
# Install with default options (non-interactive)
|
|
141
|
+
npx helloagents -y
|
|
142
|
+
|
|
143
|
+
# Specify platform and language
|
|
144
|
+
npx helloagents --platform claude --lang en
|
|
145
|
+
|
|
146
|
+
# Preview operations without writing (dry run)
|
|
147
|
+
npx helloagents --dry-run
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
**CLI Options:**
|
|
151
|
+
|
|
152
|
+
| Option | Description |
|
|
153
|
+
|--------|-------------|
|
|
154
|
+
| `--platform <claude\|codex>` | Target platform (skip prompt) |
|
|
155
|
+
| `--lang <cn\|en>` | Language version (skip prompt) |
|
|
156
|
+
| `--yes, -y` | Use all default options (non-interactive) |
|
|
157
|
+
| `--dry-run` | Show operations without writing |
|
|
158
|
+
| `--skills-only` | Only update skills/helloagents, skip config file |
|
|
159
|
+
| `--overwrite` | Force overwrite config file (no .new) |
|
|
160
|
+
| `--no-backup` | Skip backup step |
|
|
161
|
+
| `--no-color` | Disable ANSI color output |
|
|
162
|
+
|
|
163
|
+
**Conflict Handling:**
|
|
164
|
+
- When config file (CLAUDE.md/AGENTS.md) exists, generates `.helloagents.new` by default
|
|
165
|
+
- When skills/helloagents directory exists, backs up then overwrites by default
|
|
166
|
+
- Use `--overwrite` to force overwrite config file
|
|
167
|
+
- Use `--no-backup` to skip backup
|
|
168
|
+
|
|
169
|
+
**Default Detection:**
|
|
170
|
+
- Platform: Auto-detects `~/.claude` or `~/.codex` directory existence
|
|
171
|
+
- Language: Defaults to Chinese (cn)
|
|
172
|
+
|
|
173
|
+
#### Option 2: Manual Installation
|
|
174
|
+
|
|
175
|
+
**Step 1: Copy the ruleset to your directory**
|
|
176
|
+
|
|
177
|
+
Choose your platform and language version:
|
|
178
|
+
|
|
179
|
+
- **For Codex CLI**: Copy folder to `~/.codex/`
|
|
180
|
+
- Chinese: `Codex/Skills/CN` → `~/.codex/`
|
|
181
|
+
- English: `Codex/Skills/EN` → `~/.codex/`
|
|
182
|
+
|
|
183
|
+
- **For Claude Code**: Copy folder to `~/.claude/`
|
|
184
|
+
- Chinese: `Claude/Skills/CN` → `~/.claude/`
|
|
185
|
+
- English: `Claude/Skills/EN` → `~/.claude/`
|
|
186
|
+
|
|
187
|
+
**Step 2: Configure language**
|
|
188
|
+
|
|
189
|
+
Edit the AGENTS.md header:
|
|
190
|
+
|
|
191
|
+
```yaml
|
|
192
|
+
# In AGENTS.md G1 section:
|
|
193
|
+
OUTPUT_LANGUAGE: English # or "Simplified Chinese"
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
**Step 3: Verify installation**
|
|
197
|
+
|
|
198
|
+
Restart your terminal and ask:
|
|
199
|
+
```
|
|
200
|
+
"Show me the skills reference table"
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
**Expected:** Agent lists 5 skills (analyze, design, develop, kb, templates)
|
|
204
|
+
|
|
205
|
+
### First Use Example
|
|
206
|
+
|
|
207
|
+
```bash
|
|
208
|
+
# 1. Simple fix → Routes to Quick Fix (semantic: modification + micro scope)
|
|
209
|
+
"Fix the typo in src/utils/helper.ts line 42: 'respose' should be 'response'"
|
|
210
|
+
|
|
211
|
+
# 2. Medium task → Routes to Light Iteration (semantic: modification + small scope)
|
|
212
|
+
"Add error handling to login, signup, and password reset functions"
|
|
213
|
+
|
|
214
|
+
# 3. Complex task → Routes to Full R&D with requirement scoring
|
|
215
|
+
"Add user authentication with OAuth2"
|
|
216
|
+
# Agent will score requirements and may ask follow-up questions
|
|
217
|
+
|
|
218
|
+
# 4. Full authorization mode → Continuous execution
|
|
219
|
+
~auto "Refactor the database layer to use repositories"
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
**Expected Output (Quick Fix):**
|
|
223
|
+
|
|
224
|
+
```
|
|
225
|
+
✅【HelloAGENTS】- Quick Fix Mode Complete
|
|
226
|
+
|
|
227
|
+
- ✅ Change: Fixed typo 'respose' → 'response'
|
|
228
|
+
- 📁 Affected file: src/utils/helper.ts
|
|
229
|
+
- 📚 Knowledge Base: Updated module documentation
|
|
230
|
+
|
|
231
|
+
────
|
|
232
|
+
📁 Changes:
|
|
233
|
+
- src/utils/helper.ts
|
|
234
|
+
- helloagents/wiki/modules/utils.md
|
|
235
|
+
|
|
236
|
+
🔄 Next Step: Please verify the fix
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
**Expected Output (Requirement Scoring Follow-up):**
|
|
240
|
+
|
|
241
|
+
```
|
|
242
|
+
❓【HelloAGENTS】- Requirements Analysis
|
|
243
|
+
|
|
244
|
+
Current requirement completeness score: 5/10, unable to determine optimization goals and expected outcomes.
|
|
245
|
+
|
|
246
|
+
1. Which file or module do you want to optimize?
|
|
247
|
+
2. What specific problems need optimization? (e.g., slow performance, code duplication)
|
|
248
|
+
3. What results do you expect after optimization?
|
|
249
|
+
4. Are there specific performance metrics or time constraints?
|
|
250
|
+
|
|
251
|
+
Please answer by number, or enter "continue with current requirements" to skip (may affect solution quality).
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
---
|
|
255
|
+
|
|
256
|
+
## 🔧 How It Works
|
|
257
|
+
|
|
258
|
+
### Architecture Overview
|
|
259
|
+
|
|
260
|
+
<details>
|
|
261
|
+
<summary><strong>📊 Click to view full architecture diagram</strong></summary>
|
|
262
|
+
|
|
263
|
+
```mermaid
|
|
264
|
+
flowchart TD
|
|
265
|
+
Start([User Request]) --> Extract[Information Extraction]
|
|
266
|
+
|
|
267
|
+
Extract --> Semantic{Semantic Analysis}
|
|
268
|
+
Semantic --> Intent{Intent Classification}
|
|
269
|
+
Intent --> Scope{Scope Estimation}
|
|
270
|
+
Scope --> EHRB{EHRB Signal Check}
|
|
271
|
+
|
|
272
|
+
EHRB --> Router{Unified Intelligent Router}
|
|
273
|
+
|
|
274
|
+
Router -->|"Intent=Q&A"| QA[💡 Consultation Q&A]
|
|
275
|
+
Router -->|"Micro scope, clear path"| QuickFix[⚡ Quick Fix Mode]
|
|
276
|
+
Router -->|"Small scope, no arch"| LightIter[🔄 Light Iteration]
|
|
277
|
+
Router -->|"Multi-file, clear req"| StdDev[📦 Standard Development]
|
|
278
|
+
Router -->|"Vague/arch/EHRB"| FullRD[🔬 Full R&D]
|
|
279
|
+
|
|
280
|
+
FullRD --> Analyze[📋 Analyze Skill]
|
|
281
|
+
Analyze --> Scoring{Score ≥7?}
|
|
282
|
+
|
|
283
|
+
Scoring -->|"<7"| FollowUp[❓ Targeted Follow-up]
|
|
284
|
+
FollowUp --> UserResp{User Response}
|
|
285
|
+
UserResp -->|"Supplement"| Scoring
|
|
286
|
+
UserResp -->|"Continue anyway"| Design
|
|
287
|
+
UserResp -->|"Cancel"| Cancelled[🚫 Cancelled]
|
|
288
|
+
|
|
289
|
+
Scoring -->|"≥7"| Design[📐 Design Skill]
|
|
290
|
+
Design --> Develop[🛠️ Develop Skill]
|
|
291
|
+
|
|
292
|
+
StdDev --> Design
|
|
293
|
+
LightIter --> SimplePlan[Simplified Plan<br/>task.md only]
|
|
294
|
+
SimplePlan --> Develop
|
|
295
|
+
|
|
296
|
+
QuickFix --> DirectEdit[Direct Code Edit]
|
|
297
|
+
DirectEdit --> KBCheck{KB Exists?}
|
|
298
|
+
KBCheck -->|Yes| UpdateKB[Update Module Doc]
|
|
299
|
+
KBCheck -->|No| WarnInit[⚠️ Suggest ~init]
|
|
300
|
+
|
|
301
|
+
Develop --> StateUpdate[Update State Variables<br/>CURRENT_PACKAGE]
|
|
302
|
+
StateUpdate --> Execute[Execute task.md]
|
|
303
|
+
Execute --> SyncKB[Sync Knowledge Base]
|
|
304
|
+
SyncKB --> Migrate[Migrate to history/]
|
|
305
|
+
Migrate --> ScanLegacy[Scan Legacy Plans<br/>G11]
|
|
306
|
+
|
|
307
|
+
ScanLegacy --> Done[✅ Complete]
|
|
308
|
+
UpdateKB --> Done
|
|
309
|
+
WarnInit --> Done
|
|
310
|
+
QA --> Done
|
|
311
|
+
|
|
312
|
+
style Router fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
|
|
313
|
+
style Scoring fill:#fff3e0,stroke:#f57c00,stroke-width:2px
|
|
314
|
+
style FollowUp fill:#fce4ec,stroke:#c2185b
|
|
315
|
+
style Done fill:#4caf50,color:#fff
|
|
316
|
+
style Cancelled fill:#ff5252,color:#fff
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
</details>
|
|
320
|
+
|
|
321
|
+
### Unified Intelligent Routing Explained
|
|
322
|
+
|
|
323
|
+
<table>
|
|
324
|
+
<tr><th>Analysis Step</th><th>What It Does</th><th>Evaluation Criteria</th><th>Output</th></tr>
|
|
325
|
+
|
|
326
|
+
<tr>
|
|
327
|
+
<td><strong>1. Semantic Analysis</strong></td>
|
|
328
|
+
<td>
|
|
329
|
+
• Understands request meaning<br>
|
|
330
|
+
• Identifies action verbs and objects<br>
|
|
331
|
+
• Detects implicit requirements
|
|
332
|
+
</td>
|
|
333
|
+
<td>Natural language understanding, not keyword matching</td>
|
|
334
|
+
<td>
|
|
335
|
+
• Request interpretation<br>
|
|
336
|
+
• Implied constraints
|
|
337
|
+
</td>
|
|
338
|
+
</tr>
|
|
339
|
+
|
|
340
|
+
<tr>
|
|
341
|
+
<td><strong>2. Intent Classification</strong></td>
|
|
342
|
+
<td>
|
|
343
|
+
• Q&A type (question/chat)<br>
|
|
344
|
+
• Modification type (code change)<br>
|
|
345
|
+
• Command type (~auto/~plan/~exec)
|
|
346
|
+
</td>
|
|
347
|
+
<td>User's primary goal</td>
|
|
348
|
+
<td>
|
|
349
|
+
• Intent category<br>
|
|
350
|
+
• Command detection
|
|
351
|
+
</td>
|
|
352
|
+
</tr>
|
|
353
|
+
|
|
354
|
+
<tr>
|
|
355
|
+
<td><strong>3. Scope Estimation</strong></td>
|
|
356
|
+
<td>
|
|
357
|
+
• Micro: ≤2 files, ≤30 lines<br>
|
|
358
|
+
• Small: 3-5 files<br>
|
|
359
|
+
• Medium: Multi-file coordination<br>
|
|
360
|
+
• Large: Architecture-level
|
|
361
|
+
</td>
|
|
362
|
+
<td>File count, line count, architecture impact</td>
|
|
363
|
+
<td>
|
|
364
|
+
• Scope category<br>
|
|
365
|
+
• Uncertainty flag
|
|
366
|
+
</td>
|
|
367
|
+
</tr>
|
|
368
|
+
|
|
369
|
+
<tr>
|
|
370
|
+
<td><strong>4. EHRB Detection</strong></td>
|
|
371
|
+
<td>
|
|
372
|
+
• Production environment signals<br>
|
|
373
|
+
• PII data processing<br>
|
|
374
|
+
• Destructive operations<br>
|
|
375
|
+
• Payment-related changes
|
|
376
|
+
</td>
|
|
377
|
+
<td>Keywords: prod, DROP, rm -rf, payment</td>
|
|
378
|
+
<td>
|
|
379
|
+
• Risk level<br>
|
|
380
|
+
• Escalation trigger
|
|
381
|
+
</td>
|
|
382
|
+
</tr>
|
|
383
|
+
|
|
384
|
+
<tr>
|
|
385
|
+
<td><strong>5. Route Selection</strong></td>
|
|
386
|
+
<td>
|
|
387
|
+
• Apply decision principles<br>
|
|
388
|
+
• Handle uncertainty (G3)<br>
|
|
389
|
+
• Select optimal workflow
|
|
390
|
+
</td>
|
|
391
|
+
<td>"All must meet" for simple modes; "Any match" for Full R&D</td>
|
|
392
|
+
<td>
|
|
393
|
+
• Selected workflow<br>
|
|
394
|
+
• Reasoning trace
|
|
395
|
+
</td>
|
|
396
|
+
</tr>
|
|
397
|
+
|
|
398
|
+
</table>
|
|
399
|
+
|
|
400
|
+
### Requirements Analysis Deep Dive
|
|
401
|
+
|
|
402
|
+
**The 10-Point Scoring System:**
|
|
403
|
+
|
|
404
|
+
<table>
|
|
405
|
+
<tr><th>Dimension</th><th>Points</th><th>What It Measures</th><th>Low Score Triggers</th></tr>
|
|
406
|
+
|
|
407
|
+
<tr>
|
|
408
|
+
<td><strong>Goal Clarity</strong></td>
|
|
409
|
+
<td>0-3</td>
|
|
410
|
+
<td>Is the task objective clear and specific?</td>
|
|
411
|
+
<td>"Optimize code", "Make it better"</td>
|
|
412
|
+
</tr>
|
|
413
|
+
|
|
414
|
+
<tr>
|
|
415
|
+
<td><strong>Expected Results</strong></td>
|
|
416
|
+
<td>0-3</td>
|
|
417
|
+
<td>Are success criteria and deliverables defined?</td>
|
|
418
|
+
<td>No mention of expected behavior</td>
|
|
419
|
+
</tr>
|
|
420
|
+
|
|
421
|
+
<tr>
|
|
422
|
+
<td><strong>Scope Boundaries</strong></td>
|
|
423
|
+
<td>0-2</td>
|
|
424
|
+
<td>Is the task scope clearly bounded?</td>
|
|
425
|
+
<td>Open-ended requests</td>
|
|
426
|
+
</tr>
|
|
427
|
+
|
|
428
|
+
<tr>
|
|
429
|
+
<td><strong>Constraints</strong></td>
|
|
430
|
+
<td>0-2</td>
|
|
431
|
+
<td>Are time, performance, business limits stated?</td>
|
|
432
|
+
<td>No constraints mentioned</td>
|
|
433
|
+
</tr>
|
|
434
|
+
|
|
435
|
+
</table>
|
|
436
|
+
|
|
437
|
+
**On-Demand Internal Thinking:**
|
|
438
|
+
|
|
439
|
+
```
|
|
440
|
+
<thinking>
|
|
441
|
+
1. Analyze each scoring dimension:
|
|
442
|
+
- Goal Clarity (0-3): User wants "optimization" but doesn't specify what → 1 point
|
|
443
|
+
- Expected Results (0-3): No success criteria mentioned → 1 point
|
|
444
|
+
- Scope Boundaries (0-2): "the code" is too vague → 0 points
|
|
445
|
+
- Constraints (0-2): No constraints → 0 points
|
|
446
|
+
2. Evidence: User said "optimize the code" without specifics
|
|
447
|
+
3. Missing info: Which module? What problem? What metrics?
|
|
448
|
+
4. Total: 2/10 points
|
|
449
|
+
5. Decision: Must ask follow-up questions
|
|
450
|
+
</thinking>
|
|
451
|
+
```
|
|
452
|
+
|
|
453
|
+
**Targeted Follow-up Questions:**
|
|
454
|
+
|
|
455
|
+
The system asks only what it doesn't know:
|
|
456
|
+
- ✅ "Which module needs optimization?" (user hasn't specified)
|
|
457
|
+
- ✅ "What specific problem are you facing?" (not mentioned)
|
|
458
|
+
- ❌ ~~"What framework are you using?"~~ (already known from codebase)
|
|
459
|
+
- ❌ ~~"What's the project structure?"~~ (already scanned)
|
|
460
|
+
|
|
461
|
+
---
|
|
462
|
+
|
|
463
|
+
## 📖 Documentation
|
|
464
|
+
|
|
465
|
+
### Core Concepts
|
|
466
|
+
|
|
467
|
+
<table>
|
|
468
|
+
<tr><th>Concept</th><th>Definition</th><th>Why It Matters</th></tr>
|
|
469
|
+
|
|
470
|
+
<tr>
|
|
471
|
+
<td><strong>Semantic Analysis</strong></td>
|
|
472
|
+
<td>Understanding request meaning through NLU, not keyword matching</td>
|
|
473
|
+
<td>Enables accurate intent detection even with ambiguous phrasing</td>
|
|
474
|
+
</tr>
|
|
475
|
+
|
|
476
|
+
<tr>
|
|
477
|
+
<td><strong>Intent Classification</strong></td>
|
|
478
|
+
<td>Categorizing user requests into Q&A, Modification, or Command types</td>
|
|
479
|
+
<td>Determines whether to route to Q&A, development workflow, or command execution</td>
|
|
480
|
+
</tr>
|
|
481
|
+
|
|
482
|
+
<tr>
|
|
483
|
+
<td><strong>Requirement Scoring</strong></td>
|
|
484
|
+
<td>10-point scale across 4 dimensions with ≥7 threshold</td>
|
|
485
|
+
<td>Prevents wasted effort on poorly-defined requirements</td>
|
|
486
|
+
</tr>
|
|
487
|
+
|
|
488
|
+
<tr>
|
|
489
|
+
<td><strong>Follow-up Mechanism</strong></td>
|
|
490
|
+
<td>Targeted questions when score <7, avoiding known information</td>
|
|
491
|
+
<td>Efficient requirement gathering without redundant questions</td>
|
|
492
|
+
</tr>
|
|
493
|
+
|
|
494
|
+
<tr>
|
|
495
|
+
<td><strong>Phase Management</strong></td>
|
|
496
|
+
<td>3-phase workflow: Analysis → Design → Implementation</td>
|
|
497
|
+
<td>Ensures systematic progression with clear checkpoints</td>
|
|
498
|
+
</tr>
|
|
499
|
+
|
|
500
|
+
<tr>
|
|
501
|
+
<td><strong>State Management (G12)</strong></td>
|
|
502
|
+
<td>Variables tracking packages, modes, and context</td>
|
|
503
|
+
<td>Maintains consistency across multi-turn interactions</td>
|
|
504
|
+
</tr>
|
|
505
|
+
|
|
506
|
+
<tr>
|
|
507
|
+
<td><strong>G3 Uncertainty Principles</strong></td>
|
|
508
|
+
<td>Explicit disclosure of assumptions and conservative fallback</td>
|
|
509
|
+
<td>Transparent decision-making, no hidden guesswork</td>
|
|
510
|
+
</tr>
|
|
511
|
+
|
|
512
|
+
<tr>
|
|
513
|
+
<td><strong>EHRB Detection</strong></td>
|
|
514
|
+
<td>Extreme High-Risk Behavior identification and escalation</td>
|
|
515
|
+
<td>Automatic safety guardrails for dangerous operations</td>
|
|
516
|
+
</tr>
|
|
517
|
+
|
|
518
|
+
</table>
|
|
519
|
+
|
|
520
|
+
### Special Commands
|
|
521
|
+
|
|
522
|
+
| Command | Mode | When to Use | Example |
|
|
523
|
+
|---------|------|-------------|---------|
|
|
524
|
+
| `~auto` / `~fa` | Full Authorization | Trust agent for complete Analysis→Design→Develop | `~auto "Add login"` |
|
|
525
|
+
| `~plan` / `~design` | Planning Only | Design solution for review before execution | `~plan "Refactor DB"` |
|
|
526
|
+
| `~exec` / `~run` | Execution Only | Run pre-approved plan from `plan/` | `~exec` |
|
|
527
|
+
| `~init` / `~wiki` | Knowledge Base | Initialize or refresh KB from codebase | `~init` |
|
|
528
|
+
|
|
529
|
+
### State Variables (G12)
|
|
530
|
+
|
|
531
|
+
```yaml
|
|
532
|
+
CREATED_PACKAGE: Solution package path created during Design phase
|
|
533
|
+
- Set: After detailed planning creates package
|
|
534
|
+
- Read: By Develop step 1 in Full Auth mode
|
|
535
|
+
- Clear: After read or process terminated
|
|
536
|
+
|
|
537
|
+
CURRENT_PACKAGE: Currently executing solution package path
|
|
538
|
+
- Set: When Develop determines which package to execute
|
|
539
|
+
- Use: Excluded from legacy plan scan
|
|
540
|
+
- Clear: After migration to history/
|
|
541
|
+
|
|
542
|
+
MODE_FULL_AUTH: Full authorization command active state
|
|
543
|
+
MODE_PLANNING: Planning command active state
|
|
544
|
+
MODE_EXECUTION: Execution command active state
|
|
545
|
+
- Track: Active special command state
|
|
546
|
+
- Control: Silent execution behavior
|
|
547
|
+
- Clear: When command completes or user cancels
|
|
548
|
+
```
|
|
549
|
+
|
|
550
|
+
### GPT/SKILLS Compliant Rule Structure
|
|
551
|
+
|
|
552
|
+
HelloAGENTS follows official guidelines for AI agent ruleset design:
|
|
553
|
+
|
|
554
|
+
```yaml
|
|
555
|
+
Rule Structure Pattern:
|
|
556
|
+
- Global rules (G1-G12): Universal constraints and principles
|
|
557
|
+
- Modular skills: Lazy-loaded detailed procedures
|
|
558
|
+
- XML-like tags: <uncertainty_principles>, <routing_rules>
|
|
559
|
+
- CRITICAL markers: ⚠️ for mandatory enforcement
|
|
560
|
+
- Hierarchical organization: Phase → Step → Action
|
|
561
|
+
|
|
562
|
+
Output Format Compliance:
|
|
563
|
+
- Template method pattern: Consistent structure across all outputs
|
|
564
|
+
- Status symbols: ✅❓⚠️🚫❌💡 with defined meanings
|
|
565
|
+
- Validation checklist: Self-check before output
|
|
566
|
+
- Language rules: G1 OUTPUT_LANGUAGE enforcement
|
|
567
|
+
```
|
|
568
|
+
|
|
569
|
+
---
|
|
570
|
+
|
|
571
|
+
## ❓ FAQ
|
|
572
|
+
|
|
573
|
+
<details>
|
|
574
|
+
<summary><strong>Q: How does semantic analysis differ from keyword matching?</strong></summary>
|
|
575
|
+
|
|
576
|
+
**A:** Semantic analysis understands meaning, not just words:
|
|
577
|
+
|
|
578
|
+
| Input | Keyword Matching | Semantic Analysis |
|
|
579
|
+
|-------|------------------|-------------------|
|
|
580
|
+
| "Make login faster" | Might miss "faster" = performance | Understands: optimization request for login module |
|
|
581
|
+
| "Fix the thing that broke" | Can't determine what "thing" is | Asks targeted follow-up about specific error |
|
|
582
|
+
| "Add OAuth like we discussed" | Doesn't know context | Checks conversation history for OAuth details |
|
|
583
|
+
|
|
584
|
+
</details>
|
|
585
|
+
|
|
586
|
+
<details>
|
|
587
|
+
<summary><strong>Q: Why is requirement scoring important?</strong></summary>
|
|
588
|
+
|
|
589
|
+
**A:** Without scoring, agents often:
|
|
590
|
+
- Start coding with incomplete understanding
|
|
591
|
+
- Produce solutions that miss the actual need
|
|
592
|
+
- Require multiple rounds of correction
|
|
593
|
+
|
|
594
|
+
With the 10-point system:
|
|
595
|
+
- Clear threshold (≥7) before proceeding
|
|
596
|
+
- Targeted questions fill specific gaps
|
|
597
|
+
- Higher first-attempt success rate
|
|
598
|
+
</details>
|
|
599
|
+
|
|
600
|
+
<details>
|
|
601
|
+
<summary><strong>Q: What happens when the agent is uncertain?</strong></summary>
|
|
602
|
+
|
|
603
|
+
**A:** G3 Uncertainty Principles require:
|
|
604
|
+
1. **Explicit disclosure**: "⚠️ Uncertainty Factor: [description]"
|
|
605
|
+
2. **List assumptions**: What the decision is based on
|
|
606
|
+
3. **Conservative choice**: Safer/more complete path
|
|
607
|
+
4. **Alternatives**: 2-3 options if reasonable
|
|
608
|
+
|
|
609
|
+
Example:
|
|
610
|
+
```
|
|
611
|
+
⚠️ Uncertainty Factor: Scope at Quick Fix vs Light Iteration boundary
|
|
612
|
+
- Assumption: Implementation may touch more files
|
|
613
|
+
- Decision: Using Light Iteration (safer choice)
|
|
614
|
+
- Alternative: If confirmed ≤2 files, can switch to Quick Fix
|
|
615
|
+
```
|
|
616
|
+
</details>
|
|
617
|
+
|
|
618
|
+
<details>
|
|
619
|
+
<summary><strong>Q: How does state management prevent context loss?</strong></summary>
|
|
620
|
+
|
|
621
|
+
**A:** G12 state variables maintain:
|
|
622
|
+
- **CREATED_PACKAGE**: Links Design output to Develop input
|
|
623
|
+
- **CURRENT_PACKAGE**: Tracks what's being executed
|
|
624
|
+
- **MODE_***: Remembers active command context
|
|
625
|
+
|
|
626
|
+
This ensures:
|
|
627
|
+
- Develop executes the right plan (not an old one)
|
|
628
|
+
- Legacy scan excludes current work
|
|
629
|
+
- Commands can be cancelled cleanly
|
|
630
|
+
</details>
|
|
631
|
+
|
|
632
|
+
<details>
|
|
633
|
+
<summary><strong>Q: What makes HelloAGENTS "human-centric"?</strong></summary>
|
|
634
|
+
|
|
635
|
+
**A:** Several design choices:
|
|
636
|
+
- **Transparent decisions**: G3 explains why, not just what
|
|
637
|
+
- **Targeted questions**: Doesn't ask what it already knows
|
|
638
|
+
- **Unified format**: Predictable, consistent outputs
|
|
639
|
+
- **Phase confirmations**: User can review before proceeding
|
|
640
|
+
- **Safe defaults**: Conservative routing, EHRB detection
|
|
641
|
+
</details>
|
|
642
|
+
|
|
643
|
+
<details>
|
|
644
|
+
<summary><strong>Q: Is this compliant with GPT/SKILLS official guidelines?</strong></summary>
|
|
645
|
+
|
|
646
|
+
**A:** Yes, HelloAGENTS follows official patterns:
|
|
647
|
+
- **Modular architecture**: Skills loaded on-demand
|
|
648
|
+
- **XML-like tags**: For structured rule sections
|
|
649
|
+
- **CRITICAL markers**: Clear mandatory vs. optional rules
|
|
650
|
+
- **Template method**: Consistent output structure
|
|
651
|
+
- **State management**: Explicit variable tracking
|
|
652
|
+
</details>
|
|
653
|
+
|
|
654
|
+
---
|
|
655
|
+
|
|
656
|
+
## 🛠️ Troubleshooting
|
|
657
|
+
|
|
658
|
+
### Routing Issues
|
|
659
|
+
|
|
660
|
+
**Problem:** Agent routes to wrong workflow
|
|
661
|
+
|
|
662
|
+
**Cause:** Ambiguous scope or missing context
|
|
663
|
+
|
|
664
|
+
**Solution:**
|
|
665
|
+
```bash
|
|
666
|
+
# ❌ Vague (uncertain scope)
|
|
667
|
+
"Add error handling"
|
|
668
|
+
|
|
669
|
+
# ✅ Specific (clear scope)
|
|
670
|
+
"Add try-catch error handling to login.ts and signup.ts (2 files, ~20 lines each)"
|
|
671
|
+
```
|
|
672
|
+
|
|
673
|
+
---
|
|
674
|
+
|
|
675
|
+
**Problem:** Requirement score always <7, constant follow-ups
|
|
676
|
+
|
|
677
|
+
**Cause:** Request lacks required dimensions
|
|
678
|
+
|
|
679
|
+
**Solution:**
|
|
680
|
+
```bash
|
|
681
|
+
# ❌ Missing dimensions (scores ~2-3/10)
|
|
682
|
+
"Optimize the code"
|
|
683
|
+
|
|
684
|
+
# ✅ All dimensions covered (scores 8-9/10)
|
|
685
|
+
"Optimize the ProductList component (src/components/ProductList.tsx)
|
|
686
|
+
to reduce re-renders. Currently renders 50+ times per page load.
|
|
687
|
+
Target: <10 renders. Must maintain existing filter functionality."
|
|
688
|
+
```
|
|
689
|
+
|
|
690
|
+
---
|
|
691
|
+
|
|
692
|
+
### State Issues
|
|
693
|
+
|
|
694
|
+
**Problem:** Wrong solution package executed
|
|
695
|
+
|
|
696
|
+
**Cause:** State variables not properly set/cleared
|
|
697
|
+
|
|
698
|
+
**Solution:**
|
|
699
|
+
```bash
|
|
700
|
+
# Check current state by asking:
|
|
701
|
+
"What is the current CREATED_PACKAGE and CURRENT_PACKAGE?"
|
|
702
|
+
|
|
703
|
+
# If stuck, reset by:
|
|
704
|
+
"Cancel current operation and start fresh"
|
|
705
|
+
```
|
|
706
|
+
|
|
707
|
+
---
|
|
708
|
+
|
|
709
|
+
## 🆚 Comparison with Other Approaches
|
|
710
|
+
|
|
711
|
+
| Approach | Pros | Cons | HelloAGENTS Advantage |
|
|
712
|
+
|----------|------|------|----------------------|
|
|
713
|
+
| **Raw AI Prompts** | Flexible | No structure, inconsistent | Semantic routing + unified format |
|
|
714
|
+
| **Cursor / Copilot** | IDE-integrated | No requirement validation | 10-point scoring + follow-ups |
|
|
715
|
+
| **Custom Prompts** | Tailored | No state management | G12 state + G11 lifecycle |
|
|
716
|
+
| **AutoGPT** | Autonomous | Black-box decisions | G3 uncertainty disclosure |
|
|
717
|
+
| **Aider** | Good refactoring | Unix-only, no phases | Cross-platform + 3-phase workflow |
|
|
718
|
+
|
|
719
|
+
---
|
|
720
|
+
|
|
721
|
+
## 📈 Version History
|
|
722
|
+
|
|
723
|
+
### Latest: 2025-12-18.2 🎉
|
|
724
|
+
|
|
725
|
+
**New in this version:**
|
|
726
|
+
- 🔴 **Renamed**: "Modular AI Programming Skill System" → "AI Programming Modular Skill System"
|
|
727
|
+
- ✨ **Enhanced**: Windows PowerShell syntax constraints (G1)
|
|
728
|
+
- Added: File operations -Force, Environment variables $env:VAR
|
|
729
|
+
- Added: Parameter combination validation, Command chaining rules
|
|
730
|
+
- Added: Comparison operators (-gt/-lt), Null comparison ($null placement)
|
|
731
|
+
|
|
732
|
+
**Previous: 2025-12-16.2**
|
|
733
|
+
- ✨ Modular Skills System (5 independent skills)
|
|
734
|
+
- ✨ Complexity Router (4 adaptive workflows)
|
|
735
|
+
- ✨ G3 Uncertainty Principles
|
|
736
|
+
- ✨ Cross-Platform Compatibility
|
|
737
|
+
- 📦 70% smaller core ruleset
|
|
738
|
+
|
|
739
|
+
[View Full Changelog →](./CHANGELOG.md)
|
|
740
|
+
|
|
741
|
+
---
|
|
742
|
+
|
|
743
|
+
## 🤝 Contributing
|
|
744
|
+
|
|
745
|
+
1. **Fork & Clone** the repository
|
|
746
|
+
2. **Create feature branch**: `git checkout -b feature/my-improvement`
|
|
747
|
+
3. **Follow conventions**: Conventional Commits, update CHANGELOG
|
|
748
|
+
4. **Submit PR** with description
|
|
749
|
+
|
|
750
|
+
### Contribution Ideas
|
|
751
|
+
- 🐛 Found a bug? [Report it](https://github.com/hellowind777/helloagents/issues)
|
|
752
|
+
- 💡 Have an idea? [Discuss it](https://github.com/hellowind777/helloagents/discussions)
|
|
753
|
+
- 🌍 Translate skills to other languages
|
|
754
|
+
- 🎨 Create domain-specific skills (mobile, data science)
|
|
755
|
+
|
|
756
|
+
---
|
|
757
|
+
|
|
758
|
+
## 🔒 Security
|
|
759
|
+
|
|
760
|
+
**We take security seriously.**
|
|
761
|
+
|
|
762
|
+
- ✅ EHRB detection (G9) protects against prod operations
|
|
763
|
+
- ✅ No hardcoded secrets allowed
|
|
764
|
+
- ✅ Cross-platform command validation
|
|
765
|
+
- ✅ Automatic workflow escalation on risk detection
|
|
766
|
+
|
|
767
|
+
**Found a vulnerability?** Report privately via [GitHub Discussions](https://github.com/hellowind777/helloagents/discussions)
|
|
768
|
+
|
|
769
|
+
---
|
|
770
|
+
|
|
771
|
+
## 📜 License & Attribution (**Commercial use allowed, attribution required**)
|
|
772
|
+
|
|
773
|
+
To ensure "commercial use allowed + attribution required", this project adopts a **dual-license** scheme:
|
|
774
|
+
|
|
775
|
+
1. **Code** — **Apache License 2.0** © 2025 Hellowind
|
|
776
|
+
- Commercial use is allowed. You must retain **LICENSE** and **NOTICE** information in your distribution.
|
|
777
|
+
- Include a `NOTICE` in your distribution (example):
|
|
778
|
+
<pre>
|
|
779
|
+
This product includes "HelloAGENTS" (author: <a href="https://github.com/hellowind777/helloagents">Hellowind</a>), licensed under the Apache License 2.0.
|
|
780
|
+
</pre>
|
|
781
|
+
|
|
782
|
+
2. **Documentation (README/PROJECTWIKI/Diagrams)** — **CC BY 4.0** © 2025 Hellowind
|
|
783
|
+
- Commercial use is allowed, but **attribution is required**; provide a license link and indicate whether changes were made.
|
|
784
|
+
- Suggested attribution when reusing documentation:
|
|
785
|
+
<pre>
|
|
786
|
+
Text/graphics adapted from "HelloAGENTS" — © 2025 <a href="https://github.com/hellowind777/helloagents">Hellowind</a>, CC BY 4.0.
|
|
787
|
+
</pre>
|
|
788
|
+
|
|
789
|
+
3. **Unified attribution suggestion (for both code and docs):**
|
|
790
|
+
<pre>
|
|
791
|
+
HelloAGENTS — © 2025 <a href="https://github.com/hellowind777/helloagents">Hellowind</a>. Code: Apache-2.0; Docs: CC BY 4.0.
|
|
792
|
+
</pre>
|
|
793
|
+
|
|
794
|
+
---
|
|
795
|
+
|
|
796
|
+
## 🙏 Acknowledgments
|
|
797
|
+
|
|
798
|
+
**Inspired by:**
|
|
799
|
+
- [Mermaid](https://mermaid.js.org/) — Beautiful diagrams
|
|
800
|
+
- [Conventional Commits](https://www.conventionalcommits.org/) — Commit standards
|
|
801
|
+
- [Keep a Changelog](https://keepachangelog.com/) — Version management
|
|
802
|
+
- GPT/SKILLS Official Guidelines — Rule structure patterns
|
|
803
|
+
|
|
804
|
+
**Community:**
|
|
805
|
+
- All contributors who submitted PRs
|
|
806
|
+
- Early adopters who provided feedback
|
|
807
|
+
- You, for reading this far! 🎉
|
|
808
|
+
|
|
809
|
+
---
|
|
810
|
+
|
|
811
|
+
## 📞 Support & Community
|
|
812
|
+
|
|
813
|
+
- 📖 **Documentation**: You're reading it!
|
|
814
|
+
- 💬 **Discussions**: [GitHub Discussions](https://github.com/hellowind777/helloagents/discussions)
|
|
815
|
+
- 🐛 **Bug Reports**: [GitHub Issues](https://github.com/hellowind777/helloagents/issues)
|
|
816
|
+
- 💡 **Feature Requests**: [GitHub Discussions](https://github.com/hellowind777/helloagents/discussions)
|
|
817
|
+
|
|
818
|
+
---
|
|
819
|
+
|
|
820
|
+
## 📊 Project Stats
|
|
821
|
+
|
|
822
|
+
<div align="center">
|
|
823
|
+
|
|
824
|
+

|
|
825
|
+

|
|
826
|
+

|
|
827
|
+

|
|
828
|
+

|
|
829
|
+
|
|
830
|
+
</div>
|
|
831
|
+
|
|
832
|
+
---
|
|
833
|
+
|
|
834
|
+
<div align="center">
|
|
835
|
+
|
|
836
|
+
**Made with ❤️ by [Hellowind](https://github.com/hellowind777)**
|
|
837
|
+
|
|
838
|
+
[⬆ Back to Top](#helloagents)
|
|
839
|
+
|
|
840
|
+
</div>
|