myaidev-method 0.3.2 → 0.3.4

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.
Files changed (80) hide show
  1. package/.claude-plugin/plugin.json +52 -48
  2. package/DEV_WORKFLOW_GUIDE.md +6 -6
  3. package/MCP_INTEGRATION.md +4 -4
  4. package/README.md +81 -64
  5. package/TECHNICAL_ARCHITECTURE.md +112 -18
  6. package/USER_GUIDE.md +57 -40
  7. package/bin/cli.js +49 -127
  8. package/dist/mcp/gutenberg-converter.js +667 -413
  9. package/dist/mcp/wordpress-server.js +1558 -1181
  10. package/extension.json +3 -3
  11. package/package.json +2 -1
  12. package/skills/content-writer/SKILL.md +130 -178
  13. package/skills/infographic/SKILL.md +191 -0
  14. package/skills/myaidev-analyze/SKILL.md +242 -0
  15. package/skills/myaidev-analyze/agents/dependency-mapper-agent.md +236 -0
  16. package/skills/myaidev-analyze/agents/pattern-detector-agent.md +240 -0
  17. package/skills/myaidev-analyze/agents/structure-scanner-agent.md +171 -0
  18. package/skills/myaidev-analyze/agents/tech-profiler-agent.md +291 -0
  19. package/skills/myaidev-architect/SKILL.md +389 -0
  20. package/skills/myaidev-architect/agents/compliance-checker-agent.md +287 -0
  21. package/skills/myaidev-architect/agents/requirements-analyst-agent.md +194 -0
  22. package/skills/myaidev-architect/agents/system-designer-agent.md +315 -0
  23. package/skills/myaidev-coder/SKILL.md +291 -0
  24. package/skills/myaidev-coder/agents/implementer-agent.md +185 -0
  25. package/skills/myaidev-coder/agents/integration-agent.md +168 -0
  26. package/skills/myaidev-coder/agents/pattern-scanner-agent.md +161 -0
  27. package/skills/myaidev-coder/agents/self-reviewer-agent.md +168 -0
  28. package/skills/myaidev-debug/SKILL.md +308 -0
  29. package/skills/myaidev-debug/agents/fix-agent-debug.md +317 -0
  30. package/skills/myaidev-debug/agents/hypothesis-agent.md +226 -0
  31. package/skills/myaidev-debug/agents/investigator-agent.md +250 -0
  32. package/skills/myaidev-debug/agents/symptom-collector-agent.md +231 -0
  33. package/skills/myaidev-documenter/SKILL.md +194 -0
  34. package/skills/myaidev-documenter/agents/code-reader-agent.md +172 -0
  35. package/skills/myaidev-documenter/agents/doc-validator-agent.md +174 -0
  36. package/skills/myaidev-documenter/agents/doc-writer-agent.md +379 -0
  37. package/skills/myaidev-migrate/SKILL.md +300 -0
  38. package/skills/myaidev-migrate/agents/migration-planner-agent.md +237 -0
  39. package/skills/myaidev-migrate/agents/migration-writer-agent.md +248 -0
  40. package/skills/myaidev-migrate/agents/schema-analyzer-agent.md +190 -0
  41. package/skills/myaidev-performance/SKILL.md +270 -0
  42. package/skills/myaidev-performance/agents/benchmark-agent.md +281 -0
  43. package/skills/myaidev-performance/agents/optimizer-agent.md +277 -0
  44. package/skills/myaidev-performance/agents/profiler-agent.md +252 -0
  45. package/skills/myaidev-refactor/SKILL.md +296 -0
  46. package/skills/myaidev-refactor/agents/refactor-executor-agent.md +221 -0
  47. package/skills/myaidev-refactor/agents/refactor-planner-agent.md +213 -0
  48. package/skills/myaidev-refactor/agents/regression-guard-agent.md +242 -0
  49. package/skills/myaidev-refactor/agents/smell-detector-agent.md +233 -0
  50. package/skills/myaidev-reviewer/SKILL.md +385 -0
  51. package/skills/myaidev-reviewer/agents/auto-fixer-agent.md +238 -0
  52. package/skills/myaidev-reviewer/agents/code-analyst-agent.md +220 -0
  53. package/skills/myaidev-reviewer/agents/security-scanner-agent.md +262 -0
  54. package/skills/myaidev-tester/SKILL.md +331 -0
  55. package/skills/myaidev-tester/agents/coverage-analyst-agent.md +163 -0
  56. package/skills/myaidev-tester/agents/tdd-driver-agent.md +242 -0
  57. package/skills/myaidev-tester/agents/test-runner-agent.md +176 -0
  58. package/skills/myaidev-tester/agents/test-strategist-agent.md +154 -0
  59. package/skills/myaidev-tester/agents/test-writer-agent.md +242 -0
  60. package/skills/myaidev-workflow/SKILL.md +567 -0
  61. package/skills/myaidev-workflow/agents/analyzer-agent.md +317 -0
  62. package/skills/myaidev-workflow/agents/coordinator-agent.md +253 -0
  63. package/skills/security-auditor/SKILL.md +1 -1
  64. package/skills/skill-builder/SKILL.md +417 -0
  65. package/src/cli/commands/addon.js +146 -135
  66. package/src/cli/commands/auth.js +9 -1
  67. package/src/config/workflows.js +11 -6
  68. package/src/lib/ascii-banner.js +3 -3
  69. package/src/lib/update-manager.js +120 -61
  70. package/src/mcp/gutenberg-converter.js +667 -413
  71. package/src/mcp/wordpress-server.js +1558 -1181
  72. package/src/statusline/statusline.sh +279 -0
  73. package/src/templates/claude/CLAUDE.md +124 -0
  74. package/skills/sparc-architect/SKILL.md +0 -127
  75. package/skills/sparc-coder/SKILL.md +0 -90
  76. package/skills/sparc-documenter/SKILL.md +0 -155
  77. package/skills/sparc-reviewer/SKILL.md +0 -138
  78. package/skills/sparc-tester/SKILL.md +0 -100
  79. package/skills/sparc-workflow/SKILL.md +0 -130
  80. /package/{marketplace.json → .claude-plugin/marketplace.json} +0 -0
@@ -0,0 +1,279 @@
1
+ #!/bin/bash
2
+ # MyAIDev Method - Claude Code Status Line
3
+ # Displays branded project status in the Claude Code footer.
4
+ # Called by Claude Code with JSON context on stdin.
5
+
6
+ # ── Read Claude Code JSON input ──────────────────────────────────────────────
7
+ INPUT=$(cat 2>/dev/null || echo "{}")
8
+
9
+ # ── Parse fields from stdin JSON ─────────────────────────────────────────────
10
+ # NOTE: context_window.used_percentage is unreliable in status line hooks.
11
+ # Instead, read individual token counts from current_usage and calculate manually.
12
+ # See: github.com/anthropics/claude-code/issues/13783
13
+ CONTEXT_BASELINE=22600 # system prompt, tools, MCP tokens not visible to hooks
14
+
15
+ if command -v jq >/dev/null 2>&1; then
16
+ eval "$(echo "$INPUT" | jq -r '
17
+ "MODEL=" + (.model.display_name // "" | @sh) + "\n" +
18
+ "CWD=" + (.cwd // .workspace.current_dir // "" | @sh) + "\n" +
19
+ "CONTEXT_MAX=" + ((.context_window.context_window_size // 200000) | tostring)
20
+ ' 2>/dev/null)"
21
+ else
22
+ MODEL=""
23
+ CWD=""
24
+ CONTEXT_MAX=200000
25
+ fi
26
+
27
+ # Calculate context usage from baseline estimate (approximate)
28
+ CONTEXT_USED=$CONTEXT_BASELINE
29
+
30
+ if [ "$CONTEXT_MAX" -gt 0 ] && [ "$CONTEXT_USED" -gt 0 ]; then
31
+ CTX_PCT=$((CONTEXT_USED * 100 / CONTEXT_MAX))
32
+ else
33
+ CTX_PCT=0
34
+ fi
35
+ [ "$CTX_PCT" -gt 100 ] && CTX_PCT=100
36
+
37
+ # ── ccusage: fetch real token/cost data with caching ─────────────────────────
38
+ CCUSAGE_CACHE="/tmp/.myaidev_ccusage_cache"
39
+ CCUSAGE_LOCK="/tmp/.myaidev_ccusage.lock"
40
+ CCUSAGE_TTL=30 # seconds
41
+
42
+ CCUSAGE_TOKENS=""
43
+ CCUSAGE_COST=""
44
+
45
+ # Load cached data first (if it exists)
46
+ if [ -f "$CCUSAGE_CACHE" ]; then
47
+ source "$CCUSAGE_CACHE"
48
+ fi
49
+
50
+ # Check if cache needs updating
51
+ ccusage_needs_update=false
52
+ if [ ! -f "$CCUSAGE_CACHE" ] || [ -z "$CCUSAGE_TOKENS" ]; then
53
+ ccusage_needs_update=true
54
+ elif [ -f "$CCUSAGE_CACHE" ]; then
55
+ cache_mtime=$(stat -c%Y "$CCUSAGE_CACHE" 2>/dev/null || stat -f%m "$CCUSAGE_CACHE" 2>/dev/null || echo 0)
56
+ cache_age=$(( $(date +%s) - cache_mtime ))
57
+ if [ "$cache_age" -ge "$CCUSAGE_TTL" ]; then
58
+ ccusage_needs_update=true
59
+ fi
60
+ fi
61
+
62
+ if [ "$ccusage_needs_update" = true ]; then
63
+ # Try to acquire lock (non-blocking, using mkdir for atomicity)
64
+ if mkdir "$CCUSAGE_LOCK" 2>/dev/null; then
65
+ # Run ccusage with timeout, try npx first then bunx
66
+ ccusage_output=""
67
+ if command -v timeout >/dev/null 2>&1; then
68
+ ccusage_output=$(timeout 5 npx ccusage 2>/dev/null | sed 's/\x1b\[[0-9;]*m//g' | grep "│ Total" | head -1)
69
+ if [ -z "$ccusage_output" ] && command -v bunx >/dev/null 2>&1; then
70
+ ccusage_output=$(timeout 5 bunx ccusage 2>/dev/null | sed 's/\x1b\[[0-9;]*m//g' | grep "│ Total" | head -1)
71
+ fi
72
+ elif command -v bunx >/dev/null 2>&1; then
73
+ ccusage_output=$(bunx ccusage 2>/dev/null | sed 's/\x1b\[[0-9;]*m//g' | grep "│ Total" | head -1)
74
+ fi
75
+
76
+ if [ -n "$ccusage_output" ]; then
77
+ # Extract input tokens (col 4), output tokens (col 5), cost (col 9)
78
+ cc_input=$(echo "$ccusage_output" | awk -F'│' '{print $4}' | sed 's/[^0-9]//g' | head -c 10)
79
+ cc_output=$(echo "$ccusage_output" | awk -F'│' '{print $5}' | sed 's/[^0-9]//g' | head -c 10)
80
+ cc_cost=$(echo "$ccusage_output" | awk -F'│' '{print $9}' | sed 's/^ *//;s/ *$//')
81
+
82
+ if [ -n "$cc_input" ] && [ -n "$cc_output" ]; then
83
+ cc_total=$((cc_input + cc_output))
84
+ CCUSAGE_TOKENS=$(printf "%'d" "$cc_total" 2>/dev/null || echo "$cc_total")
85
+ CCUSAGE_COST="$cc_cost"
86
+
87
+ # Write to cache
88
+ echo "CCUSAGE_TOKENS=\"$CCUSAGE_TOKENS\"" > "$CCUSAGE_CACHE"
89
+ printf "CCUSAGE_COST=\"%s\"\n" "${CCUSAGE_COST//$/\\$}" >> "$CCUSAGE_CACHE"
90
+ fi
91
+ fi
92
+
93
+ # Release lock
94
+ rmdir "$CCUSAGE_LOCK" 2>/dev/null
95
+ else
96
+ # Lock held by another process — check for stale lock (>30s old)
97
+ if [ -d "$CCUSAGE_LOCK" ]; then
98
+ lock_mtime=$(stat -c%Y "$CCUSAGE_LOCK" 2>/dev/null || stat -f%m "$CCUSAGE_LOCK" 2>/dev/null || echo 0)
99
+ lock_age=$(( $(date +%s) - lock_mtime ))
100
+ if [ "$lock_age" -gt 30 ]; then
101
+ rmdir "$CCUSAGE_LOCK" 2>/dev/null
102
+ fi
103
+ fi
104
+ # Use whatever cached data we loaded above
105
+ fi
106
+ fi
107
+
108
+ # ── Token formatting ─────────────────────────────────────────────────────────
109
+ format_tokens() {
110
+ local t=$1
111
+ # Strip commas for numeric comparison
112
+ local raw=$(echo "$t" | sed 's/,//g')
113
+ if [ "$raw" -ge 1000000 ] 2>/dev/null; then
114
+ printf "%.1fM" "$(echo "$raw / 1000000" | bc -l 2>/dev/null || echo "0")"
115
+ elif [ "$raw" -ge 1000 ] 2>/dev/null; then
116
+ printf "%.1fK" "$(echo "$raw / 1000" | bc -l 2>/dev/null || echo "0")"
117
+ else
118
+ printf "%s" "$t"
119
+ fi
120
+ }
121
+
122
+ # Format display values from ccusage data
123
+ if [ -n "$CCUSAGE_TOKENS" ]; then
124
+ TOTAL_TOKENS_FMT=$(format_tokens "$CCUSAGE_TOKENS")
125
+ else
126
+ TOTAL_TOKENS_FMT="N/A"
127
+ fi
128
+
129
+ if [ -n "$CCUSAGE_COST" ]; then
130
+ COST_FMT="$CCUSAGE_COST"
131
+ else
132
+ COST_FMT="N/A"
133
+ fi
134
+
135
+ # ── Local data sources ───────────────────────────────────────────────────────
136
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
137
+
138
+ # MyAIDev version from install marker
139
+ VERSION=$(cat "$SCRIPT_DIR/.myaidev-version" 2>/dev/null || echo "?")
140
+
141
+ # Git branch
142
+ GIT_BRANCH=""
143
+ if git rev-parse --is-inside-work-tree >/dev/null 2>&1; then
144
+ GIT_BRANCH=$(git branch --show-current 2>/dev/null)
145
+ fi
146
+
147
+ # Installed skill count
148
+ SKILL_COUNT=0
149
+ if [ -d "$SCRIPT_DIR/skills" ]; then
150
+ SKILL_COUNT=$(ls -d "$SCRIPT_DIR/skills"/*/ 2>/dev/null | wc -l | tr -d ' ')
151
+ fi
152
+
153
+ # MCP server count (from settings.json or project .claude/settings.json)
154
+ MCP_TOTAL=0
155
+ MCP_ENABLED=0
156
+ for SETTINGS_FILE in "$SCRIPT_DIR/settings.json" "$SCRIPT_DIR/../.mcp.json" "$HOME/.claude/settings.json"; do
157
+ if [ -f "$SETTINGS_FILE" ] && command -v jq >/dev/null 2>&1; then
158
+ if echo "$SETTINGS_FILE" | grep -q "mcp.json"; then
159
+ # .mcp.json format: top-level "mcpServers" object
160
+ MCP_TOTAL=$(jq '.mcpServers // {} | keys | length' "$SETTINGS_FILE" 2>/dev/null || echo "0")
161
+ MCP_ENABLED="$MCP_TOTAL"
162
+ else
163
+ # settings.json format: "mcpServers" with optional "enabledMcpjsonServers"
164
+ MCP_TOTAL=$(jq '.mcpServers // {} | keys | length' "$SETTINGS_FILE" 2>/dev/null || echo "0")
165
+ HAS_ENABLED=$(jq 'has("enabledMcpjsonServers")' "$SETTINGS_FILE" 2>/dev/null)
166
+ if [ "$HAS_ENABLED" = "true" ]; then
167
+ MCP_ENABLED=$(jq '.enabledMcpjsonServers | length' "$SETTINGS_FILE" 2>/dev/null || echo "0")
168
+ else
169
+ MCP_ENABLED="$MCP_TOTAL"
170
+ fi
171
+ fi
172
+ # Stop searching if we found MCP servers
173
+ [ "$MCP_TOTAL" -gt 0 ] && break
174
+ fi
175
+ done
176
+
177
+ # Abbreviate CWD
178
+ if [ -z "$CWD" ]; then
179
+ CWD="$PWD"
180
+ fi
181
+ SHORT_CWD="${CWD/#$HOME/~}"
182
+ if [ "${#SHORT_CWD}" -gt 35 ]; then
183
+ SHORT_CWD=".../${SHORT_CWD##*/}"
184
+ fi
185
+
186
+ # Shorten model name (e.g., "Claude Opus 4.6" -> "Opus 4.6")
187
+ SHORT_MODEL="${MODEL#Claude }"
188
+ [ -z "$SHORT_MODEL" ] && SHORT_MODEL="..."
189
+
190
+ # ── ANSI Colors ──────────────────────────────────────────────────────────────
191
+ CYAN='\033[0;36m'
192
+ BRIGHT_CYAN='\033[1;36m'
193
+ GREEN='\033[0;32m'
194
+ BRIGHT_GREEN='\033[1;32m'
195
+ YELLOW='\033[0;33m'
196
+ BRIGHT_YELLOW='\033[1;33m'
197
+ RED='\033[0;31m'
198
+ MAGENTA='\033[0;35m'
199
+ DIM='\033[2m'
200
+ BOLD='\033[1m'
201
+ RESET='\033[0m'
202
+
203
+ # MYAI in bright white, DEV in vivid orange
204
+ C_WHITE='\033[1;97m'
205
+ C_ORANGE='\033[1;38;2;255;140;0m'
206
+
207
+ # ── Build context usage bar ──────────────────────────────────────────────────
208
+ BAR_WIDTH=10
209
+ FILLED=$((CTX_PCT * BAR_WIDTH / 100))
210
+ EMPTY=$((BAR_WIDTH - FILLED))
211
+
212
+ if [ "$CTX_PCT" -lt 40 ]; then
213
+ BAR_COLOR="$GREEN"
214
+ elif [ "$CTX_PCT" -lt 70 ]; then
215
+ BAR_COLOR="$YELLOW"
216
+ else
217
+ BAR_COLOR="$RED"
218
+ fi
219
+
220
+ BAR_FILLED=""
221
+ BAR_EMPTY=""
222
+ for ((i = 0; i < FILLED; i++)); do BAR_FILLED="${BAR_FILLED}█"; done
223
+ for ((i = 0; i < EMPTY; i++)); do BAR_EMPTY="${BAR_EMPTY}░"; done
224
+
225
+ # ── MCP status color ────────────────────────────────────────────────────────
226
+ if [ "$MCP_TOTAL" -eq 0 ]; then
227
+ MCP_COLOR="$DIM"
228
+ MCP_DOT="○"
229
+ elif [ "$MCP_ENABLED" -eq "$MCP_TOTAL" ]; then
230
+ MCP_COLOR="$BRIGHT_GREEN"
231
+ MCP_DOT="●"
232
+ elif [ "$MCP_ENABLED" -gt 0 ]; then
233
+ MCP_COLOR="$BRIGHT_YELLOW"
234
+ MCP_DOT="●"
235
+ else
236
+ MCP_COLOR="$RED"
237
+ MCP_DOT="●"
238
+ fi
239
+
240
+ # ── Line 1: Branding, model, branch, CWD, skills, context ───────────────────
241
+ LINE1=""
242
+
243
+ # Branding: MYAIDEV with white-to-orange gradient + version
244
+ LINE1="${C_WHITE}MYAI${C_ORANGE}DEV${RESET} ${DIM}v${VERSION}${RESET}"
245
+
246
+ # Model
247
+ LINE1="${LINE1} ${DIM}│${RESET} 🧠 ${BOLD}${SHORT_MODEL}${RESET}"
248
+
249
+ # Git branch
250
+ if [ -n "$GIT_BRANCH" ]; then
251
+ LINE1="${LINE1} ${DIM}│${RESET} ${CYAN}⎇ ${GIT_BRANCH}${RESET}"
252
+ fi
253
+
254
+ # Working directory
255
+ LINE1="${LINE1} ${DIM}│${RESET} 📁 ${DIM}${SHORT_CWD}${RESET}"
256
+
257
+ # Skill count
258
+ if [ "$SKILL_COUNT" -gt 0 ]; then
259
+ LINE1="${LINE1} ${DIM}│${RESET} ${CYAN}⬡${RESET} ${SKILL_COUNT}"
260
+ fi
261
+
262
+ # Context bar
263
+ LINE1="${LINE1} ${DIM}│${RESET} ${BAR_COLOR}[${BAR_FILLED}${DIM}${BAR_EMPTY}${RESET}${BAR_COLOR}]${RESET} ${CTX_PCT}%"
264
+
265
+ # ── Line 2: MCP, tokens, cost ───────────────────────────────────────────────
266
+ LINE2=" "
267
+
268
+ # MCP servers
269
+ LINE2="${LINE2}${CYAN}MCP${RESET} ${MCP_COLOR}${MCP_DOT}${MCP_ENABLED}/${MCP_TOTAL}${RESET}"
270
+
271
+ # Total tokens
272
+ LINE2="${LINE2} ${DIM}│${RESET} 💎 ${DIM}Total Tokens:${RESET} ${BOLD}${TOTAL_TOKENS_FMT}${RESET}"
273
+
274
+ # Total cost
275
+ LINE2="${LINE2} ${DIM}Total Cost:${RESET} ${MAGENTA}${COST_FMT}${RESET}"
276
+
277
+ # ── Output ───────────────────────────────────────────────────────────────────
278
+ printf "%b\n" "$LINE1"
279
+ printf "%b\n" "$LINE2"
@@ -0,0 +1,124 @@
1
+ # Claude Code Configuration
2
+
3
+ This project uses the MyAIDev Method — a skills-based AI development framework.
4
+
5
+ ## Skills (`.claude/skills/`)
6
+
7
+ Skills are the primary delivery mechanism. Each skill is a self-contained orchestrator with its own subagents.
8
+
9
+ ### Development (MyAIDev SPARC Workflow)
10
+
11
+ **Recommended entry point**: `/myaidev-workflow` orchestrates the full pipeline.
12
+
13
+ #### Core SPARC Pipeline
14
+ - `myaidev-workflow` - Multi-agent SPARC orchestrator with feedback loops, project profiles, TDD mode
15
+ - `myaidev-architect` - System architecture design with requirements analysis and compliance checking
16
+ - `myaidev-coder` - Pattern-aware code implementation with convention detection and self-review
17
+ - `myaidev-tester` - Test generation with TDD support (London/Chicago styles) and coverage analysis
18
+ - `myaidev-reviewer` - Code review with auto-fix capability, security scanning, and quality gates
19
+ - `myaidev-documenter` - Documentation generation with code analysis, writing, and validation
20
+
21
+ #### Standalone Development Tools
22
+ - `myaidev-analyze` - Deep codebase analysis: patterns, conventions, tech stack, dependencies, risks
23
+ - `myaidev-debug` - Systematic debugging with hypothesis testing and root cause analysis
24
+ - `myaidev-refactor` - Code smell detection, safe refactoring planning, and regression guarding
25
+ - `myaidev-performance` - Performance profiling, optimization, and before/after benchmarking
26
+ - `myaidev-migrate` - Framework upgrades, schema migrations, dependency swaps, pattern transitions
27
+
28
+ ### Content Creation
29
+ - `content-writer` - Multi-agent pipeline (research, plan, write, SEO, edit, visuals)
30
+ - `content-rules-setup` - Interactive brand voice configuration
31
+ - `content-verifier` - Content uniqueness and quality verification
32
+ - `content-coordinator` - Batch content verification and publishing
33
+ - `content-enrichment` - Enrich articles with real-time data and visuals
34
+
35
+ ### Publishing
36
+ - `wordpress-publisher` - WordPress REST API publishing
37
+ - `payloadcms-publisher` - PayloadCMS with Lexical format
38
+ - `docusaurus-publisher` - Docusaurus with sidebar config
39
+ - `mintlify-publisher` - Mintlify with navigation updates
40
+ - `astro-publisher` - Astro content collections
41
+
42
+ ### Visual & Media
43
+ - `visual-generator` - AI image/video generation (Gemini, DALL-E, FLUX, Veo)
44
+
45
+ ### Deployment & Infrastructure
46
+ - `deployer` - Multi-environment deployment (dev/staging/prod)
47
+ - `coolify-deployer` - Coolify PaaS deployment
48
+ - `openstack-manager` - OpenStack VM management
49
+
50
+ ### Git & CI/CD
51
+ - `git-workflow` - PRs, releases, hotfixes, branch sync
52
+
53
+ ### Security
54
+ - `security-tester` - Penetration testing (PTES methodology)
55
+ - `security-auditor` - Compliance auditing (PCI-DSS, GDPR, SOC 2)
56
+
57
+ ### Skill Development
58
+ - `skill-builder` - Guided skill creation with concept discovery, iterative refinement, testing, and marketplace submission
59
+ - `skill-contributor` - Quick skill scaffolding and marketplace submission
60
+
61
+ ### Configuration
62
+ - `configure` - Interactive environment setup wizard
63
+
64
+ ## Content Customization
65
+
66
+ - **content-rules.md** - Brand voice and writing guidelines
67
+ - Run the `content-rules-setup` skill to generate this interactively
68
+
69
+ ## Platform Configuration
70
+
71
+ Run the `configure` skill to set up credentials, or manually edit `.env`:
72
+
73
+ ```bash
74
+ # WordPress
75
+ WORDPRESS_URL=https://your-site.com
76
+ WORDPRESS_USERNAME=your-username
77
+ WORDPRESS_APP_PASSWORD=your-app-password
78
+
79
+ # PayloadCMS
80
+ PAYLOADCMS_URL=https://cms.your-site.com
81
+ PAYLOADCMS_EMAIL=your-email
82
+ PAYLOADCMS_PASSWORD=your-password
83
+
84
+ # Visual APIs
85
+ GOOGLE_API_KEY=your-key
86
+ OPENAI_API_KEY=your-key
87
+
88
+ # Coolify
89
+ COOLIFY_URL=https://coolify.your-server.com
90
+ COOLIFY_API_KEY=your-key
91
+ ```
92
+
93
+ ## Scripts and Utilities
94
+
95
+ The `.myaidev-method/` directory contains helper scripts that skills can invoke:
96
+
97
+ ```bash
98
+ node .myaidev-method/scripts/payloadcms-publish.js "article.md"
99
+ node .myaidev-method/scripts/wordpress-health-check.js
100
+ node .myaidev-method/scripts/coolify-deploy-app.js --name myapp
101
+ ```
102
+
103
+ ## Project Structure
104
+
105
+ ```
106
+ .claude/
107
+ ├── skills/ # All skill definitions (SKILL.md + agents/)
108
+ ├── mcp/ # MCP server configurations
109
+ └── CLAUDE.md # This file
110
+ .myaidev-method/
111
+ ├── scripts/ # Publishing and deployment scripts
112
+ ├── lib/ # Utility libraries
113
+ └── package.json # Script dependencies
114
+ ```
115
+
116
+ ## Updating
117
+
118
+ ```bash
119
+ npx myaidev-method@latest update --claude # Interactive update
120
+ npx myaidev-method@latest update --claude --force # Force overwrite
121
+ npx myaidev-method@latest update --claude --dry-run # Preview changes
122
+ ```
123
+
124
+ See `USER_GUIDE.md` for detailed instructions.
@@ -1,127 +0,0 @@
1
- ---
2
- name: sparc-architect
3
- description: Analyzes requirements and designs system architecture following the SPARC Specification phase. Use when planning a new feature, designing system components, or creating technical specifications before implementation.
4
- argument-hint: [requirement] [--scope=module]
5
- allowed-tools: [Read, Write, Edit, Glob, Grep, Task, WebSearch]
6
- ---
7
-
8
- # SPARC Architect Skill
9
-
10
- The Specification phase of the SPARC methodology. Analyze requirements, design system architecture, and create technical specifications.
11
-
12
- Handles the **Specification (S)** phase of the SPARC methodology. Part of the `/myaidev-method:sparc-workflow` pipeline.
13
-
14
- ## Capabilities
15
-
16
- - Requirements analysis and decomposition
17
- - System architecture design
18
- - Component interface definition
19
- - Data flow and state management planning
20
- - Technology stack recommendations
21
- - Risk identification and mitigation strategies
22
- - Integration point mapping
23
-
24
- ## Process
25
-
26
- 1. **Requirement Analysis**
27
- - Parse and understand the requirement
28
- - Identify stakeholders and constraints
29
- - Define acceptance criteria
30
- - List assumptions and dependencies
31
-
32
- 2. **Architecture Design**
33
- - Design high-level system architecture
34
- - Define component boundaries
35
- - Specify interfaces and contracts
36
- - Plan data models and schemas
37
-
38
- 3. **Technical Specification**
39
- - Create detailed technical spec
40
- - Document API endpoints (if applicable)
41
- - Define error handling strategies
42
- - Plan for scalability and performance
43
-
44
- 4. **Review Preparation**
45
- - Generate architecture diagrams (descriptions)
46
- - Create implementation roadmap
47
- - Identify testing requirements
48
- - Document security considerations
49
-
50
- ## Output Format
51
-
52
- ```markdown
53
- # Technical Specification: [Feature Name]
54
-
55
- ## Overview
56
- [Brief description of the feature/requirement]
57
-
58
- ## Requirements
59
- - FR-1: [Functional requirement]
60
- - FR-2: [Functional requirement]
61
- - NFR-1: [Non-functional requirement]
62
-
63
- ## Architecture
64
-
65
- ### Components
66
- - **[Component A]**: [Description and responsibility]
67
- - **[Component B]**: [Description and responsibility]
68
-
69
- ### Interfaces
70
- ```typescript
71
- interface ComponentA {
72
- method(): ReturnType;
73
- }
74
- ```
75
-
76
- ### Data Flow
77
- 1. [Step 1]
78
- 2. [Step 2]
79
- 3. [Step 3]
80
-
81
- ## Implementation Plan
82
- 1. Phase 1: [Description]
83
- 2. Phase 2: [Description]
84
- 3. Phase 3: [Description]
85
-
86
- ## Testing Strategy
87
- - Unit tests for: [components]
88
- - Integration tests for: [flows]
89
- - E2E tests for: [scenarios]
90
-
91
- ## Security Considerations
92
- - [Consideration 1]
93
- - [Consideration 2]
94
-
95
- ## Open Questions
96
- - [ ] [Question 1]
97
- - [ ] [Question 2]
98
- ```
99
-
100
- ## Parameters
101
-
102
- | Parameter | Description | Default |
103
- |-----------|-------------|---------|
104
- | `requirement` | The feature or requirement to design | Required |
105
- | `--scope` | file, module, project, system | module |
106
- | `--depth` | shallow, standard, deep | standard |
107
- | `--output` | Output file path | ./specs/[name].md |
108
-
109
- ## Example Usage
110
-
111
- ```bash
112
- # Design a new feature
113
- /myaidev-method:architect "User authentication with OAuth2 support"
114
-
115
- # System-level architecture
116
- /myaidev-method:architect "Migrate monolith to microservices" --scope=system --depth=deep
117
-
118
- # Quick module design
119
- /myaidev-method:architect "Add caching layer" --scope=module
120
- ```
121
-
122
- ## Integration
123
-
124
- - Output feeds into `/myaidev-method:coder` for implementation
125
- - Works with `/myaidev-method:sparc` for full workflow orchestration
126
- - Specifications stored in `specs/` or `docs/` directory
127
-
@@ -1,90 +0,0 @@
1
- ---
2
- name: sparc-coder
3
- description: Transforms specifications into working code following the SPARC Pseudocode and Architecture phases. Use when implementing features from specs, writing code from technical designs, or converting pseudocode to implementation.
4
- argument-hint: [spec-file] [--implement]
5
- allowed-tools: [Read, Write, Edit, Glob, Grep, Bash, Task]
6
- ---
7
-
8
- # SPARC Coder Skill
9
-
10
- The Pseudocode and Architecture implementation phases of the SPARC methodology. Transform specifications into working code following established patterns.
11
-
12
- Handles the **Pseudocode (P)** and **Architecture (A)** phases of the SPARC methodology. Part of the `/myaidev-method:sparc-workflow` pipeline.
13
-
14
- ## Capabilities
15
-
16
- - Implement features from specifications
17
- - Follow existing codebase patterns and conventions
18
- - Generate clean, well-documented code
19
- - Create necessary tests alongside implementation
20
- - Handle error cases and edge conditions
21
- - Integrate with existing systems
22
-
23
- ## Process
24
-
25
- 1. **Specification Review**
26
- - Read and understand the technical specification
27
- - Identify implementation requirements
28
- - Map components to files/modules
29
-
30
- 2. **Pseudocode Planning**
31
- - Create pseudocode for complex logic
32
- - Plan function signatures and interfaces
33
- - Identify shared utilities needed
34
-
35
- 3. **Implementation**
36
- - Write code following project conventions
37
- - Implement in logical, testable chunks
38
- - Add appropriate comments and documentation
39
- - Handle errors gracefully
40
-
41
- 4. **Self-Review**
42
- - Check against specification
43
- - Verify edge cases handled
44
- - Ensure code is readable and maintainable
45
-
46
- ## Parameters
47
-
48
- | Parameter | Description | Default |
49
- |-----------|-------------|---------|
50
- | `spec-file` | Path to specification file | Required |
51
- | `--implement` | Start implementation immediately | false |
52
- | `--module` | Target module/directory | auto-detect |
53
- | `--tests` | Generate tests alongside code | true |
54
- | `--dry-run` | Show plan without writing code | false |
55
-
56
- ## Example Usage
57
-
58
- ```bash
59
- # Implement from specification
60
- /myaidev-method:coder "./specs/auth-feature.md" --implement
61
-
62
- # Preview implementation plan
63
- /myaidev-method:coder "./specs/payment-integration.md" --dry-run
64
-
65
- # Implement specific module
66
- /myaidev-method:coder "./specs/api-endpoints.md" --module=src/api
67
- ```
68
-
69
- ## Integration
70
-
71
- - Receives input from `/myaidev-method:architect`
72
- - Output reviewed by `/myaidev-method:reviewer`
73
- - Tests validated by `/myaidev-method:tester`
74
- - Part of `/myaidev-method:sparc` full workflow
75
-
76
- ## Output Structure
77
-
78
- ```
79
- src/
80
- ├── [feature]/
81
- │ ├── index.ts # Public API
82
- │ ├── [component].ts # Implementation
83
- │ ├── types.ts # TypeScript types
84
- │ └── utils.ts # Utilities
85
- tests/
86
- └── [feature]/
87
- ├── [component].test.ts
88
- └── integration.test.ts
89
- ```
90
-