moai-adk 0.4.7__py3-none-any.whl → 0.4.8__py3-none-any.whl

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.

Potentially problematic release.


This version of moai-adk might be problematic. Click here for more details.

Files changed (101) hide show
  1. moai_adk/templates/.claude/agents/alfred/cc-manager.md +188 -954
  2. moai_adk/templates/.claude/agents/alfred/debug-helper.md +4 -5
  3. moai_adk/templates/.claude/agents/alfred/doc-syncer.md +2 -2
  4. moai_adk/templates/.claude/agents/alfred/git-manager.md +2 -2
  5. moai_adk/templates/.claude/agents/alfred/implementation-planner.md +3 -3
  6. moai_adk/templates/.claude/agents/alfred/project-manager.md +6 -6
  7. moai_adk/templates/.claude/agents/alfred/quality-gate.md +4 -6
  8. moai_adk/templates/.claude/agents/alfred/skill-factory.md +36 -36
  9. moai_adk/templates/.claude/agents/alfred/spec-builder.md +2 -2
  10. moai_adk/templates/.claude/agents/alfred/tag-agent.md +2 -2
  11. moai_adk/templates/.claude/agents/alfred/tdd-implementer.md +3 -3
  12. moai_adk/templates/.claude/agents/alfred/trust-checker.md +5 -5
  13. moai_adk/templates/.claude/commands/alfred/0-project.md +98 -42
  14. moai_adk/templates/.claude/commands/alfred/1-plan.md +7 -7
  15. moai_adk/templates/.claude/commands/alfred/2-run.md +36 -36
  16. moai_adk/templates/.claude/commands/alfred/3-sync.md +10 -10
  17. moai_adk/templates/.claude/hooks/alfred/alfred_hooks.py +14 -1
  18. moai_adk/templates/.claude/hooks/alfred/core/__init__.py +115 -33
  19. moai_adk/templates/.claude/hooks/alfred/handlers/session.py +8 -9
  20. moai_adk/templates/.claude/hooks/alfred/handlers/tool.py +6 -6
  21. moai_adk/templates/.claude/hooks/alfred/handlers/user.py +5 -4
  22. moai_adk/templates/.claude/output-styles/alfred/agentic-coding.md +1 -1
  23. moai_adk/templates/.claude/output-styles/alfred/moai-adk-learning.md +1 -1
  24. moai_adk/templates/.claude/output-styles/alfred/study-with-alfred.md +1 -1
  25. moai_adk/templates/.claude/settings.json +42 -2
  26. moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/SKILL.md +480 -0
  27. moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/examples.md +257 -0
  28. moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/reference.md +120 -0
  29. moai_adk/templates/.claude/skills/moai-cc-agents/SKILL.md +249 -0
  30. moai_adk/templates/.claude/skills/moai-cc-agents/templates/agent-template.md +32 -0
  31. moai_adk/templates/.claude/skills/moai-cc-claude-md/SKILL.md +278 -0
  32. moai_adk/templates/.claude/skills/moai-cc-claude-md/templates/CLAUDE-template.md +26 -0
  33. moai_adk/templates/.claude/skills/moai-cc-commands/SKILL.md +287 -0
  34. moai_adk/templates/.claude/skills/moai-cc-commands/templates/command-template.md +21 -0
  35. moai_adk/templates/.claude/skills/moai-cc-hooks/SKILL.md +232 -0
  36. moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/pre-bash-check.sh +19 -0
  37. moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/preserve-permissions.sh +19 -0
  38. moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/validate-bash-command.py +24 -0
  39. moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/SKILL.md +179 -0
  40. moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/templates/settings-mcp-template.json +39 -0
  41. moai_adk/templates/.claude/skills/moai-cc-memory/SKILL.md +296 -0
  42. moai_adk/templates/.claude/skills/moai-cc-memory/templates/session-summary-template.md +18 -0
  43. moai_adk/templates/.claude/skills/moai-cc-settings/SKILL.md +243 -0
  44. moai_adk/templates/.claude/skills/moai-cc-settings/templates/settings-complete-template.json +30 -0
  45. moai_adk/templates/.claude/skills/moai-cc-skills/SKILL.md +271 -0
  46. moai_adk/templates/.claude/skills/moai-cc-skills/templates/SKILL-template.md +15 -0
  47. moai_adk/templates/.claude/skills/moai-skill-factory/EXAMPLES.md +261 -35
  48. moai_adk/templates/.claude/skills/moai-skill-factory/INTERACTIVE-DISCOVERY.md +15 -15
  49. moai_adk/templates/.claude/skills/moai-skill-factory/PARALLEL-ANALYSIS-REPORT.md +429 -0
  50. moai_adk/templates/.claude/skills/moai-skill-factory/PYTHON-VERSION-MATRIX.md +391 -0
  51. moai_adk/templates/.claude/skills/moai-skill-factory/SKILL-FACTORY-WORKFLOW.md +431 -0
  52. moai_adk/templates/.claude/skills/moai-skill-factory/SKILL.md +33 -33
  53. moai_adk/templates/.claude/skills/moai-skill-factory/STEP-BY-STEP-GUIDE.md +466 -0
  54. moai_adk/templates/.claude/skills/moai-skill-factory/reference.md +438 -42
  55. moai_adk/templates/.claude/skills/moai-spec-authoring/README.md +129 -0
  56. moai_adk/templates/.claude/skills/moai-spec-authoring/SKILL.md +1300 -0
  57. moai_adk/templates/.claude/skills/moai-spec-authoring/examples/validate-spec.sh +161 -0
  58. moai_adk/templates/CLAUDE.md +101 -93
  59. {moai_adk-0.4.7.dist-info → moai_adk-0.4.8.dist-info}/METADATA +537 -146
  60. {moai_adk-0.4.7.dist-info → moai_adk-0.4.8.dist-info}/RECORD +63 -73
  61. moai_adk/templates/.claude/skills/moai-alfred-code-reviewer/SKILL.md +0 -113
  62. moai_adk/templates/.claude/skills/moai-alfred-code-reviewer/examples.md +0 -29
  63. moai_adk/templates/.claude/skills/moai-alfred-code-reviewer/reference.md +0 -28
  64. moai_adk/templates/.claude/skills/moai-alfred-debugger-pro/SKILL.md +0 -113
  65. moai_adk/templates/.claude/skills/moai-alfred-debugger-pro/examples.md +0 -29
  66. moai_adk/templates/.claude/skills/moai-alfred-debugger-pro/reference.md +0 -28
  67. moai_adk/templates/.claude/skills/moai-alfred-performance-optimizer/SKILL.md +0 -113
  68. moai_adk/templates/.claude/skills/moai-alfred-performance-optimizer/examples.md +0 -29
  69. moai_adk/templates/.claude/skills/moai-alfred-performance-optimizer/reference.md +0 -28
  70. moai_adk/templates/.claude/skills/moai-alfred-refactoring-coach/SKILL.md +0 -113
  71. moai_adk/templates/.claude/skills/moai-alfred-refactoring-coach/examples.md +0 -29
  72. moai_adk/templates/.claude/skills/moai-alfred-refactoring-coach/reference.md +0 -28
  73. moai_adk/templates/.claude/skills/moai-alfred-tui-survey/SKILL.md +0 -635
  74. moai_adk/templates/.claude/skills/moai-alfred-tui-survey/examples.md +0 -992
  75. moai_adk/templates/.claude/skills/moai-alfred-tui-survey/reference.md +0 -801
  76. moai_adk/templates/.claude/skills/moai-claude-code/SKILL.md +0 -121
  77. moai_adk/templates/.claude/skills/moai-claude-code/examples.md +0 -29
  78. moai_adk/templates/.claude/skills/moai-claude-code/reference.md +0 -28
  79. moai_adk/templates/.claude/skills/moai-claude-code/templates/agent-full.md +0 -332
  80. moai_adk/templates/.claude/skills/moai-claude-code/templates/command-full.md +0 -384
  81. moai_adk/templates/.claude/skills/moai-claude-code/templates/plugin-full.json +0 -363
  82. moai_adk/templates/.claude/skills/moai-claude-code/templates/settings-full.json +0 -595
  83. moai_adk/templates/.claude/skills/moai-claude-code/templates/skill-full.md +0 -496
  84. moai_adk/templates/.claude/skills/moai-lang-clojure/SKILL.md +0 -123
  85. moai_adk/templates/.claude/skills/moai-lang-clojure/examples.md +0 -29
  86. moai_adk/templates/.claude/skills/moai-lang-clojure/reference.md +0 -30
  87. moai_adk/templates/.claude/skills/moai-lang-elixir/SKILL.md +0 -124
  88. moai_adk/templates/.claude/skills/moai-lang-elixir/examples.md +0 -29
  89. moai_adk/templates/.claude/skills/moai-lang-elixir/reference.md +0 -31
  90. moai_adk/templates/.claude/skills/moai-lang-haskell/SKILL.md +0 -124
  91. moai_adk/templates/.claude/skills/moai-lang-haskell/examples.md +0 -29
  92. moai_adk/templates/.claude/skills/moai-lang-haskell/reference.md +0 -31
  93. moai_adk/templates/.claude/skills/moai-lang-julia/SKILL.md +0 -123
  94. moai_adk/templates/.claude/skills/moai-lang-julia/examples.md +0 -29
  95. moai_adk/templates/.claude/skills/moai-lang-julia/reference.md +0 -30
  96. moai_adk/templates/.claude/skills/moai-lang-lua/SKILL.md +0 -123
  97. moai_adk/templates/.claude/skills/moai-lang-lua/examples.md +0 -29
  98. moai_adk/templates/.claude/skills/moai-lang-lua/reference.md +0 -30
  99. {moai_adk-0.4.7.dist-info → moai_adk-0.4.8.dist-info}/WHEEL +0 -0
  100. {moai_adk-0.4.7.dist-info → moai_adk-0.4.8.dist-info}/entry_points.txt +0 -0
  101. {moai_adk-0.4.7.dist-info → moai_adk-0.4.8.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,271 @@
1
+ ---
2
+ name: "Creating and Optimizing Claude Code Skills"
3
+ description: "Design reusable knowledge capsules with progressive disclosure (metadata → content → resources). Apply freedom levels (high/medium/low), create examples, validate YAML. Use when building domain-specific guidance or automating recurring patterns."
4
+ allowed-tools: "Read, Write, Edit, Glob, Bash"
5
+ ---
6
+
7
+ # Creating and Optimizing Claude Code Skills
8
+
9
+ Skills are modular, reusable knowledge capsules that load via Progressive Disclosure. They combine templates, patterns, and best practices without blocking user workflow.
10
+
11
+ ## Skill File Structure
12
+
13
+ **Location**: `.claude/skills/skill-name/`
14
+
15
+ ```
16
+ skill-name/
17
+ ├── SKILL.md # Main instructions (~400 lines)
18
+ ├── reference.md # Detailed reference (optional)
19
+ ├── examples.md # Real-world examples (optional)
20
+ ├── CHECKLIST.md # Validation guide (optional)
21
+ ├── scripts/ # Utility scripts
22
+ │ ├── validator.sh
23
+ │ └── formatter.py
24
+ └── templates/ # Reusable templates
25
+ ├── config.json
26
+ └── main.md
27
+ ```
28
+
29
+ ## YAML Frontmatter
30
+
31
+ ```yaml
32
+ ---
33
+ name: "Skill Name (Gerund + Domain)"
34
+ description: "[Capability]. Use when [trigger 1], [trigger 2], [trigger 3]."
35
+ allowed-tools: "Read, Write, Bash(python:*)"
36
+ ---
37
+ ```
38
+
39
+ ### Field Rules
40
+
41
+ | Field | Max | Format | Example |
42
+ |-------|-----|--------|---------|
43
+ | `name` | 64 chars | Gerund + Domain | "Processing CSV Files with Python" |
44
+ | `description` | 1024 chars | 3rd person, 3+ triggers | "Extract data, validate schema, merge datasets. Use when processing CSV, Excel files, or data cleaning." |
45
+ | `allowed-tools` | — | Comma-separated minimal list | "Read, Bash(python:*), Bash(grep:*)" |
46
+
47
+ ## Freedom Level Framework
48
+
49
+ | Freedom | % | Use Case | Content Style |
50
+ |---------|---|----------|----------------|
51
+ | **High** | 20-30% | Flexible, creative | Principles, trade-offs, decision trees |
52
+ | **Medium** | 50-60% | Standard patterns | Pseudocode, flowcharts, templates |
53
+ | **Low** | 10-20% | Deterministic, error-prone | Scripts, error handling, validation |
54
+
55
+ ### High-Freedom: Architecture Design
56
+
57
+ ```markdown
58
+ ## Architecture Trade-offs
59
+
60
+ | Pattern | Pros | Cons | When |
61
+ |---------|------|------|------|
62
+ | Monolith | Simple, unified | Scales poorly | MVP, <10 people |
63
+ | Microservices | Scalable, independent | Complex, distributed tracing | 10+ teams |
64
+ | Serverless | Zero ops, elastic | Cold starts, vendor lock-in | Event-driven |
65
+
66
+ Choose based on:
67
+ 1. **Team size**: Monolith if <5 devs
68
+ 2. **Scale**: Microservices if >10M requests/month
69
+ 3. **Budget**: Serverless if unpredictable workload
70
+ ```
71
+
72
+ ### Medium-Freedom: Data Validation Pattern
73
+
74
+ ```pseudocode
75
+ ## Validation Workflow
76
+
77
+ 1. Load data source (CSV, JSON, API)
78
+ 2. For each record:
79
+ a. Check required fields exist
80
+ b. Validate data types
81
+ c. Verify constraints (range, format)
82
+ d. Check references (foreign keys)
83
+ 3. Collect errors with row numbers
84
+ 4. Report summary + fix suggestions
85
+ 5. Proceed only if all errors fixed
86
+
87
+ ## Example: CSV Validation
88
+ - Input: data.csv
89
+ - Schema: validators/schema.json
90
+ - Output: validation_report.json
91
+ ```
92
+
93
+ ### Low-Freedom: Security Validator Script
94
+
95
+ ```python
96
+ #!/usr/bin/env python3
97
+ """Validate code for OWASP Top 10 risks"""
98
+ import re
99
+ import sys
100
+
101
+ PATTERNS = [
102
+ (r"eval\(", "OWASP-A1: Code injection risk"),
103
+ (r"SELECT.*\$", "OWASP-A3: SQL injection risk"),
104
+ (r"os\.system\(", "OWASP-A6: Command injection risk"),
105
+ ]
106
+
107
+ def validate_file(filepath):
108
+ with open(filepath) as f:
109
+ content = f.read()
110
+
111
+ issues = []
112
+ for pattern, risk in PATTERNS:
113
+ if re.search(pattern, content):
114
+ issues.append(risk)
115
+
116
+ return issues
117
+
118
+ if __name__ == "__main__":
119
+ for filepath in sys.argv[1:]:
120
+ issues = validate_file(filepath)
121
+ if issues:
122
+ print(f"⚠️ {filepath}:")
123
+ for issue in issues:
124
+ print(f" • {issue}")
125
+ ```
126
+
127
+ ## Progressive Disclosure Pattern
128
+
129
+ **Level 1**: Metadata (always loaded)
130
+ ```yaml
131
+ name: "Database Query Optimization"
132
+ description: "Profile slow queries, analyze execution plans, suggest indexes..."
133
+ allowed-tools: "Read, Bash(sqlite3:*)"
134
+ ```
135
+
136
+ **Level 2**: Main content (on demand)
137
+ - Overview + quick start
138
+ - 3-4 core patterns
139
+ - Decision tree
140
+
141
+ **Level 3**: Resources (when referenced)
142
+ - `reference.md` — Detailed specs
143
+ - `examples.md` — Real-world scenarios
144
+ - `scripts/` — Utility tools
145
+
146
+ ## Skill Discovery Keywords
147
+
148
+ Embed in description for auto-activation:
149
+
150
+ ✅ **DO** include:
151
+ - Problem domain: "CSV", "SQL", "React", "API"
152
+ - Operation: "parsing", "validation", "optimization", "debugging"
153
+ - Tech stack: "Python", "TypeScript", "Go"
154
+
155
+ Example description:
156
+ ```
157
+ "Parse CSV files, validate data schemas, clean datasets.
158
+ Use when processing CSV, Excel, JSON data or when user mentions
159
+ data cleaning, validation, or transformation."
160
+ ```
161
+
162
+ ## Medium-Freedom: Example Skill Template
163
+
164
+ ```yaml
165
+ ---
166
+ name: "Testing React Components with Vitest"
167
+ description: "Write unit tests for React components, mock hooks, test async behavior. Use when testing React components, setting up Vitest, or debugging test failures."
168
+ allowed-tools: "Read, Write, Bash(npm:*), Bash(npm run:*)"
169
+ ---
170
+
171
+ # Testing React Components with Vitest
172
+
173
+ ## Quick Start
174
+
175
+ 1. Install: `npm install -D vitest @testing-library/react`
176
+ 2. Create test: `src/Component.test.tsx`
177
+ 3. Run: `npm run test`
178
+
179
+ ## Core Patterns
180
+
181
+ ### Pattern 1: Basic Component Test
182
+ ```typescript
183
+ import { render, screen } from '@testing-library/react'
184
+ import { Button } from './Button'
185
+
186
+ it('renders button with text', () => {
187
+ render(<Button>Click me</Button>)
188
+ expect(screen.getByText('Click me')).toBeInTheDocument()
189
+ })
190
+ ```
191
+
192
+ ### Pattern 2: Mock Hooks
193
+ ```typescript
194
+ import { useUserStore } from './store'
195
+
196
+ vi.mock('./store', () => ({
197
+ useUserStore: vi.fn(() => ({ user: null }))
198
+ }))
199
+ ```
200
+
201
+ ## Examples
202
+
203
+ See [examples.md](examples.md) for integration with Redux, React Query, form testing.
204
+ ```
205
+
206
+ ## Skill Validation Checklist
207
+
208
+ - [ ] `name` is specific (not "React Helper")
209
+ - [ ] `description` includes 3+ discovery keywords
210
+ - [ ] Main content ≤ 500 lines
211
+ - [ ] At least 2 concrete examples
212
+ - [ ] Progressive Disclosure applied (metadata → content → resources)
213
+ - [ ] Freedom levels mixed appropriately
214
+ - [ ] No hardcoded paths or time-sensitive data
215
+ - [ ] YAML frontmatter is valid
216
+ - [ ] Paths use forward slashes (`/` not `\`)
217
+
218
+ ## Skill Optimization Patterns
219
+
220
+ ### Anti-pattern 1: Too Generic
221
+ ```yaml
222
+ ❌ name: "Python Helper"
223
+ ✅ name: "Testing Python Code with pytest"
224
+ ```
225
+
226
+ ### Anti-pattern 2: No Examples
227
+ ```yaml
228
+ ❌ Only principles, no code samples
229
+ ✅ Each concept has working example
230
+ ```
231
+
232
+ ### Anti-pattern 3: Nested Files
233
+ ```yaml
234
+ ❌ docs/api/v2/reference/security.md
235
+ ✅ reference.md (one level)
236
+ ```
237
+
238
+ ### Anti-pattern 4: Absolute Paths
239
+ ```yaml
240
+ ❌ /Users/name/project/config.json
241
+ ✅ ./config.json or ${PROJECT_DIR}/config.json
242
+ ```
243
+
244
+ ## Best Practices
245
+
246
+ ✅ **DO**:
247
+ - Keep < 500 lines per SKILL.md
248
+ - Use relative paths with forward slashes
249
+ - Provide working code examples
250
+ - Design for reusability across projects
251
+ - Include both success and error paths
252
+
253
+ ❌ **DON'T**:
254
+ - Mix too many domains (split into separate Skills)
255
+ - Explain fundamentals (trust Claude already knows)
256
+ - Create nested directory structures
257
+ - Include time-sensitive info (dates, versions)
258
+ - Use Windows-style paths
259
+
260
+ ## Skill Lifecycle
261
+
262
+ 1. **Create**: Design persona, scope, freedom levels
263
+ 2. **Implement**: Write SKILL.md + examples
264
+ 3. **Test**: Verify with Haiku, Sonnet, Opus
265
+ 4. **Deploy**: Add to `.claude/skills/`
266
+ 5. **Iterate**: Get feedback, update as needed
267
+
268
+ ---
269
+
270
+ **Reference**: Claude Code Skills official documentation
271
+ **Version**: 1.0.0
@@ -0,0 +1,15 @@
1
+ ---
2
+ name: "Skill Name (Gerund + Domain)"
3
+ description: "[Capability]. Use when [trigger 1], [trigger 2], [trigger 3]."
4
+ allowed-tools: "Read, Write, Bash(python:*)"
5
+ ---
6
+
7
+ # Skill Name
8
+
9
+ ## Quick Start
10
+
11
+ ## Core Patterns
12
+
13
+ ## Examples
14
+
15
+ See examples.md for real-world scenarios.
@@ -1,52 +1,278 @@
1
- # moai-skill-factory - Working Examples
1
+ # Skill Factory Examples
2
+
3
+ > Real-world skill creation scenarios
2
4
 
3
5
  _Last updated: 2025-10-22_
4
6
 
5
- ## Example 1: Creating a New Language Skill
7
+ ---
8
+
9
+ ## Example 1: Creating a Python Testing Skill (Complete Workflow)
6
10
 
7
- ```bash
8
- # Phase 1: Interactive Discovery
9
- User: "Create a new Skill for TypeScript development"
10
- skill-factory activates moai-alfred-tui-survey
11
- → User answers questions about scope, tools, patterns
12
- Skill metadata drafted
11
+ ### Phase 1: Discovery (15 min)
12
+
13
+ **Problem Statement**:
14
+ "Developers need guidance on Python testing best practices with pytest, coverage, and fixtures."
15
+
16
+ **Trigger Keywords**:
17
+ `python`, `pytest`, `testing`, `fixtures`, `coverage`, `unittest`, `tdd`
18
+
19
+ **Reference URLs**:
20
+ - https://docs.pytest.org/en/stable/
21
+ - https://coverage.readthedocs.io/
22
+ - https://realpython.com/pytest-python-testing/
13
23
 
14
- # Phase 2: Web Research
15
- → skill-factory uses WebSearch for latest TypeScript versions
16
- → Fetches official docs: https://typescriptlang.org/docs
17
- → Validates tool versions (TypeScript 5.7, Vitest 2.1, etc.)
24
+ **Target Tier**: Language (moai-lang-python-testing)
18
25
 
19
- # Phase 3: Skill Generation
20
- → Creates SKILL.md with v2.0.0 structure
21
- Generates examples.md with working code samples
22
- → Creates reference.md with CLI commands
23
- → Dual deployment to .claude/skills and templates/
26
+ ---
27
+
28
+ ### Phase 2: Design (20 min)
29
+
30
+ **Metadata**:
31
+ ```yaml
32
+ ---
33
+ name: Testing Python Applications with pytest
34
+ description: Write and run Python tests using pytest, manage fixtures, measure coverage, and integrate with CI/CD. Use when testing Python code, setting up test environments, or when the user mentions pytest, coverage, fixtures, or TDD.
35
+ allowed-tools: Read, Bash
36
+ ---
24
37
  ```
25
38
 
26
- ## Example 2: Updating Existing Skills
39
+ **Content Outline**:
40
+ ```
41
+ 1. Introduction (High Freedom - 10%)
42
+ - Why pytest over unittest
43
+ - Testing philosophy
27
44
 
28
- ```bash
29
- # Batch update workflow
30
- User: "Update all Python Skills to latest versions"
31
- → skill-factory analyzes current SKILL.md
32
- WebSearch for latest tool versions (pytest 8.4.2, ruff 0.13.1)
33
- → Detects outdated patterns (black → ruff migration)
34
- Generates update report with changelog
35
- Applies updates across all affected Skills
45
+ 2. Core Concepts (Medium Freedom - 40%)
46
+ - Test discovery patterns
47
+ - Fixture usage
48
+ - Parametrization
49
+ - Mocking strategies
50
+
51
+ 3. Examples (Medium Freedom - 30%)
52
+ - Simple unit test
53
+ - Fixture example
54
+ - Parametrized test
55
+ - Integration test
56
+
57
+ 4. Coverage & CI (Low Freedom - 20%)
58
+ - Coverage command
59
+ - CI configuration (GitHub Actions)
36
60
  ```
37
61
 
38
- ## Example 3: Skill Quality Validation
62
+ ---
63
+
64
+ ### Phase 3: Production (60 min)
65
+
66
+ **SKILL.md Excerpt**:
67
+
68
+ ```markdown
69
+ # Testing Python Applications with pytest
70
+
71
+ ## Quick Start
39
72
 
40
73
  ```bash
41
- # Pre-publication checklist
42
- Validates YAML frontmatter (v2.0.0 schema)
43
- → Checks keywords field exists
44
- Verifies tool version matrix present
45
- → Ensures examples.md and reference.md exist
46
- → Confirms dual deployment sync
47
- Reports validation results
74
+ # Install pytest
75
+ pip install pytest pytest-cov
76
+
77
+ # Run tests
78
+ pytest
79
+
80
+ # With coverage
81
+ pytest --cov=src --cov-report=term-missing
48
82
  ```
49
83
 
84
+ ## Core Concepts
85
+
86
+ ### Test Discovery
87
+
88
+ pytest automatically discovers tests matching these patterns:
89
+ - Files: `test_*.py` or `*_test.py`
90
+ - Functions: `test_*`
91
+ - Classes: `Test*`
92
+
93
+ ### Fixtures
94
+
95
+ Fixtures provide reusable test setup:
96
+
97
+ ```python
98
+ import pytest
99
+
100
+ @pytest.fixture
101
+ def user_data():
102
+ return {"name": "Alice", "age": 30}
103
+
104
+ def test_user_creation(user_data):
105
+ assert user_data["name"] == "Alice"
106
+ ```
107
+
108
+ For complete reference, see [reference.md](reference.md).
109
+ ```
110
+
111
+ **reference.md Excerpt**:
112
+
113
+ ```markdown
114
+ # pytest Reference
115
+
116
+ ## Fixture Scopes
117
+
118
+ - `function` (default): Run once per test function
119
+ - `class`: Run once per test class
120
+ - `module`: Run once per module
121
+ - `session`: Run once per test session
122
+
123
+ ## Parametrization
124
+
125
+ ```python
126
+ @pytest.mark.parametrize("input,expected", [
127
+ (2, 4),
128
+ (3, 9),
129
+ (4, 16),
130
+ ])
131
+ def test_square(input, expected):
132
+ assert input ** 2 == expected
133
+ ```
134
+ ```
135
+
136
+ **examples.md Excerpt**:
137
+
138
+ ```markdown
139
+ # pytest Examples
140
+
141
+ ## Example 1: API Testing with Fixtures
142
+
143
+ ```python
144
+ import pytest
145
+ import requests
146
+
147
+ @pytest.fixture
148
+ def api_client():
149
+ return requests.Session()
150
+
151
+ @pytest.fixture
152
+ def base_url():
153
+ return "https://api.example.com"
154
+
155
+ def test_get_user(api_client, base_url):
156
+ response = api_client.get(f"{base_url}/users/1")
157
+ assert response.status_code == 200
158
+ assert "id" in response.json()
159
+ ```
160
+ ```
161
+
162
+ ---
163
+
164
+ ### Phase 4: Validation (20 min)
165
+
166
+ **Checklist Results**:
167
+ - ✅ Name: 45 characters (gerund format)
168
+ - ✅ Description: 256 characters (includes 7 keywords)
169
+ - ✅ SKILL.md: 420 lines
170
+ - ✅ Examples: 4 scenarios included
171
+ - ✅ Tested with Haiku and Sonnet
172
+
173
+ ---
174
+
175
+ ## Example 2: Creating a Git Workflow Skill (Abbreviated)
176
+
177
+ ### Discovery
178
+
179
+ **Problem**: "Developers need GitFlow automation with commit conventions and PR templates."
180
+
181
+ **Keywords**: `git`, `gitflow`, `commit`, `pr`, `pull request`, `branch`, `merge`
182
+
183
+ ### Design
184
+
185
+ ```yaml
186
+ name: Automating Git Workflows with GitFlow
187
+ description: Manage Git branches using GitFlow, write conventional commits, create pull requests, and automate releases. Use when working with Git repositories, feature branches, or when the user mentions GitFlow, commits, or pull requests.
188
+ allowed-tools: Read, Bash
189
+ ```
190
+
191
+ ### Content Structure
192
+ - 35% High Freedom: Branch strategy philosophy
193
+ - 45% Medium Freedom: Commit patterns, PR templates
194
+ - 20% Low Freedom: Git commands, automation scripts
195
+
196
+ ---
197
+
198
+ ## Example 3: Creating a Security Scanning Skill (Abbreviated)
199
+
200
+ ### Discovery
201
+
202
+ **Problem**: "Projects need automated security scanning for dependencies and SAST."
203
+
204
+ **Keywords**: `security`, `sast`, `vulnerabilities`, `dependencies`, `owasp`, `audit`
205
+
206
+ ### Design
207
+
208
+ ```yaml
209
+ name: Securing Applications with SAST and Dependency Scanning
210
+ description: Run static application security testing (SAST), scan dependencies for vulnerabilities, enforce OWASP Top 10 compliance, and integrate security checks into CI/CD. Use when performing security audits, scanning for vulnerabilities, or when the user mentions SAST, OWASP, or security scanning.
211
+ allowed-tools: Read, Bash
212
+ ```
213
+
214
+ ### Freedom Breakdown
215
+ - 25% High: Security principles, threat modeling
216
+ - 35% Medium: Scanning patterns, report interpretation
217
+ - 40% Low: Specific scanning commands per language
218
+
219
+ ---
220
+
221
+ ## Common Skill Creation Mistakes
222
+
223
+ ### Mistake 1: Too Generic
224
+
225
+ ❌ **Bad Name**: "Python Helper"
226
+ ✅ **Good Name**: "Testing Python Applications with pytest"
227
+
228
+ ### Mistake 2: Missing Keywords
229
+
230
+ ❌ **Bad Description**: "Helps with Python testing."
231
+ ✅ **Good Description**: "Write and run Python tests using pytest, fixtures, parametrization, and coverage reporting."
232
+
233
+ ### Mistake 3: No Examples
234
+
235
+ ❌ **Bad Practice**: Only provide theory and no code examples
236
+ ✅ **Good Practice**: Include 3-4 complete, runnable examples
237
+
238
+ ### Mistake 4: Outdated Information
239
+
240
+ ❌ **Bad**: "Use Python 2.7 with unittest"
241
+ ✅ **Good**: "Use Python 3.11+ with pytest (latest stable version)"
242
+
243
+ ---
244
+
245
+ ## Skill Creation Time Estimates
246
+
247
+ | Skill Complexity | Discovery | Design | Production | Validation | Total |
248
+ |-----------------|-----------|---------|-----------|------------|-------|
249
+ | **Simple** (single tool) | 10 min | 15 min | 30 min | 10 min | ~1 hour |
250
+ | **Medium** (multi-tool, 3-5 examples) | 15 min | 20 min | 60 min | 20 min | ~2 hours |
251
+ | **Complex** (multi-domain, 5+ examples) | 30 min | 30 min | 90 min | 30 min | ~3 hours |
252
+
253
+ ---
254
+
255
+ ## Quick Skill Creation Checklist
256
+
257
+ - [ ] Problem statement (1-2 sentences)
258
+ - [ ] 5+ trigger keywords identified
259
+ - [ ] 3+ reference URLs collected
260
+ - [ ] Name written (gerund + domain, ≤64 chars)
261
+ - [ ] Description written (capabilities + triggers, ≤1024 chars)
262
+ - [ ] Allowed tools listed (minimal set)
263
+ - [ ] Content outline (High/Medium/Low freedom %)
264
+ - [ ] SKILL.md written (≤500 lines)
265
+ - [ ] reference.md created (detailed docs)
266
+ - [ ] examples.md created (3-4 scenarios)
267
+ - [ ] CHECKLIST.md validation passed
268
+ - [ ] Tested with Haiku and Sonnet
269
+
270
+ ---
271
+
272
+ **For complete skill creation reference, see [reference.md](reference.md)**
273
+
50
274
  ---
51
275
 
52
- _For more examples, see SKILL.md and supporting documentation_
276
+ **Last Updated**: 2025-10-22
277
+ **Examples**: 3 complete workflows + mistake patterns
278
+ **Maintained by**: MoAI-ADK Foundation Team
@@ -1,6 +1,6 @@
1
1
  # Interactive Discovery: TUI-Based Skill Requirement Gathering
2
2
 
3
- This guide covers using **moai-alfred-tui-survey** Skill to engage users through interactive dialogue and clarify Skill requirements.
3
+ This guide covers using **moai-alfred-interactive-questions** Skill to engage users through interactive dialogue and clarify Skill requirements.
4
4
 
5
5
  ---
6
6
 
@@ -242,13 +242,13 @@ framework_versions = {
242
242
 
243
243
  **Available Stable Version Matrix** (referenced as source of truth):
244
244
 
245
- | Framework | Latest | LTS | EOL Date | Ref |
246
- |---|---|---|---|---|
247
- | **Python** | 3.13.1 | 3.12.7 | 3.12: 2028-10 | [python.org](https://python.org) |
248
- | **Node.js** | 23.0.0 | 22.11.0 | 22.x: 2025-10 | [nodejs.org](https://nodejs.org) |
249
- | **Go** | 1.23.3 | 1.22.x | 1.22: 2025-02 | [golang.org](https://golang.org) |
250
- | **Rust** | 1.82.0 | MSRV: 1.70 | N/A | [rust-lang.org](https://rust-lang.org) |
251
- | **Java** | 23.0.1 | 21.0.x | 21: 2028-09 | [oracle.com](https://oracle.com) |
245
+ | Framework | Latest | LTS | EOL Date | Ref |
246
+ | ----------- | ------ | ---------- | ------------- | -------------------------------------- |
247
+ | **Python** | 3.13.1 | 3.12.7 | 3.12: 2028-10 | [python.org](https://python.org) |
248
+ | **Node.js** | 23.0.0 | 22.11.0 | 22.x: 2025-10 | [nodejs.org](https://nodejs.org) |
249
+ | **Go** | 1.23.3 | 1.22.x | 1.22: 2025-02 | [golang.org](https://golang.org) |
250
+ | **Rust** | 1.82.0 | MSRV: 1.70 | N/A | [rust-lang.org](https://rust-lang.org) |
251
+ | **Java** | 23.0.1 | 21.0.x | 21: 2028-09 | [oracle.com](https://oracle.com) |
252
252
 
253
253
  **When This Survey Is Needed**:
254
254
  - ✅ Creating a new Skill (always)
@@ -501,12 +501,12 @@ WebSearch findings INFORM the Skill
501
501
 
502
502
  Map survey answers to research queries:
503
503
 
504
- | Survey Answer | WebSearch Topic | Example Query |
505
- |---|---|---|
506
- | Python 3.12 | Latest version | "Python 3.12 best practices 2025" |
507
- | Async testing | Modern pattern | "async/await testing patterns 2025" |
508
- | Performance | Optimization | "performance profiling tools 2025" |
509
- | Security | Compliance | "OWASP security patterns 2025" |
504
+ | Survey Answer | WebSearch Topic | Example Query |
505
+ | ------------- | --------------- | ----------------------------------- |
506
+ | Python 3.12 | Latest version | "Python 3.12 best practices 2025" |
507
+ | Async testing | Modern pattern | "async/await testing patterns 2025" |
508
+ | Performance | Optimization | "performance profiling tools 2025" |
509
+ | Security | Compliance | "OWASP security patterns 2025" |
510
510
 
511
511
  ---
512
512
 
@@ -515,7 +515,7 @@ Map survey answers to research queries:
515
515
  - [SKILL.md](SKILL.md) — Main Skill framework
516
516
  - [WEB-RESEARCH.md](WEB-RESEARCH.md) — Using discoveries in research
517
517
  - [skill-factory.md](../../agents/alfred/skill-factory.md) — Sub-Agent orchestration
518
- - `moai-alfred-tui-survey` Skill — TUI implementation
518
+ - `moai-alfred-interactive-questions` Skill — TUI implementation
519
519
 
520
520
  ---
521
521