@wipal/agent-team 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.
Files changed (89) hide show
  1. package/.claude/rules/common/general-rules.md +141 -0
  2. package/.claude/rules/lessons/lessons.md +91 -0
  3. package/.claude/rules/role-rules/dev-fe-rules.md +146 -0
  4. package/.claude/rules/role-rules/sa-rules.md +226 -0
  5. package/.claude/skills/SKILL-INDEX.md +299 -0
  6. package/.claude/skills/community/security-validator/SKILL.md +392 -0
  7. package/.claude/skills/core/agent-creation/SKILL.md +338 -0
  8. package/.claude/skills/core/code-review/SKILL.md +154 -0
  9. package/.claude/skills/core/git-automation/SKILL.md +93 -0
  10. package/.claude/skills/core/retrospect-work/SKILL.md +172 -0
  11. package/.claude/skills/domain/architecture/adr-writing/SKILL.md +254 -0
  12. package/.claude/skills/domain/architecture/adr-writing/references/adr-best-practices.md +257 -0
  13. package/.claude/skills/domain/architecture/adr-writing/references/adr-examples.md +246 -0
  14. package/.claude/skills/domain/architecture/adr-writing/references/adr-template.md +160 -0
  15. package/.claude/skills/domain/architecture/architecture-patterns/SKILL.md +316 -0
  16. package/.claude/skills/domain/architecture/architecture-patterns/references/event-driven.md +393 -0
  17. package/.claude/skills/domain/architecture/architecture-patterns/references/microservices.md +315 -0
  18. package/.claude/skills/domain/architecture/architecture-patterns/references/monolith.md +321 -0
  19. package/.claude/skills/domain/architecture/architecture-patterns/references/serverless.md +457 -0
  20. package/.claude/skills/domain/architecture/performance-engineering/SKILL.md +227 -0
  21. package/.claude/skills/domain/architecture/performance-engineering/references/benchmarking.md +336 -0
  22. package/.claude/skills/domain/architecture/performance-engineering/references/caching-strategies.md +284 -0
  23. package/.claude/skills/domain/architecture/performance-engineering/references/optimization.md +298 -0
  24. package/.claude/skills/domain/architecture/security-architecture/SKILL.md +206 -0
  25. package/.claude/skills/domain/architecture/security-architecture/references/auth-patterns.md +209 -0
  26. package/.claude/skills/domain/architecture/security-architecture/references/compliance.md +246 -0
  27. package/.claude/skills/domain/architecture/security-architecture/references/threat-modeling.md +219 -0
  28. package/.claude/skills/domain/architecture/system-design/SKILL.md +227 -0
  29. package/.claude/skills/domain/architecture/system-design/references/distributed-systems.md +231 -0
  30. package/.claude/skills/domain/architecture/system-design/references/resilience.md +344 -0
  31. package/.claude/skills/domain/architecture/system-design/references/scalability.md +303 -0
  32. package/.claude/skills/domain/architecture/tech-selection/SKILL.md +192 -0
  33. package/.claude/skills/domain/architecture/tech-selection/references/build-vs-buy.md +258 -0
  34. package/.claude/skills/domain/architecture/tech-selection/references/evaluation-framework.md +203 -0
  35. package/.claude/skills/domain/architecture/tech-selection/references/tech-radar.md +257 -0
  36. package/.claude/skills/domain/backend/api-design/SKILL.md +121 -0
  37. package/.claude/skills/domain/backend/database-design/SKILL.md +156 -0
  38. package/.claude/skills/domain/backend/performance-be/SKILL.md +210 -0
  39. package/.claude/skills/domain/backend/security/SKILL.md +138 -0
  40. package/.claude/skills/domain/backend/testing-be/SKILL.md +203 -0
  41. package/.claude/skills/domain/devops/ci-cd/SKILL.md +188 -0
  42. package/.claude/skills/domain/devops/containerization/SKILL.md +177 -0
  43. package/.claude/skills/domain/devops/deployment/SKILL.md +198 -0
  44. package/.claude/skills/domain/devops/infrastructure-as-code/SKILL.md +178 -0
  45. package/.claude/skills/domain/devops/monitoring/SKILL.md +163 -0
  46. package/.claude/skills/domain/frontend/accessibility/SKILL.md +179 -0
  47. package/.claude/skills/domain/frontend/frontend-design/SKILL.md +138 -0
  48. package/.claude/skills/domain/frontend/performance-fe/SKILL.md +195 -0
  49. package/.claude/skills/domain/frontend/state-management/SKILL.md +190 -0
  50. package/.claude/skills/domain/frontend/testing-fe/SKILL.md +193 -0
  51. package/.claude/skills/domain/product/requirements-gathering/SKILL.md +136 -0
  52. package/.claude/skills/domain/product/roadmap-planning/SKILL.md +169 -0
  53. package/.claude/skills/domain/product/sprint-planning/SKILL.md +151 -0
  54. package/.claude/skills/domain/product/stakeholder-communication/SKILL.md +162 -0
  55. package/.claude/skills/domain/product/user-stories/SKILL.md +141 -0
  56. package/.claude/skills/domain/quality/bug-reporting/SKILL.md +150 -0
  57. package/.claude/skills/domain/quality/regression-testing/SKILL.md +178 -0
  58. package/.claude/skills/domain/quality/test-automation/SKILL.md +185 -0
  59. package/.claude/skills/domain/quality/test-planning/SKILL.md +177 -0
  60. package/.claude/skills/leadership/code-review-advanced/SKILL.md +167 -0
  61. package/.claude/skills/leadership/mentoring/SKILL.md +151 -0
  62. package/.claude/skills/leadership/technical-debt/SKILL.md +166 -0
  63. package/.claude/skills/leadership/technical-decision/SKILL.md +160 -0
  64. package/.claude/skills/security-reports/.gitkeep +0 -0
  65. package/.claude/skills/skills-registry.yaml +441 -0
  66. package/README.md +232 -0
  67. package/bin/agent-team.js +107 -0
  68. package/package.json +51 -0
  69. package/src/commands/add.js +227 -0
  70. package/src/commands/init.js +136 -0
  71. package/src/commands/list.js +66 -0
  72. package/src/commands/remove.js +71 -0
  73. package/src/commands/switch.js +53 -0
  74. package/src/index.js +11 -0
  75. package/src/interactive/prompts.js +153 -0
  76. package/src/server/api/agents.js +150 -0
  77. package/src/server/api/roles.js +97 -0
  78. package/src/server/api/skills.js +79 -0
  79. package/src/server/index.js +78 -0
  80. package/src/ui/agents.html +174 -0
  81. package/src/ui/css/styles.css +470 -0
  82. package/src/ui/index.html +107 -0
  83. package/src/ui/roles.html +371 -0
  84. package/src/ui/skills.html +332 -0
  85. package/src/utils/file-utils.js +193 -0
  86. package/src/utils/skill-resolver.js +594 -0
  87. package/src/utils/skill-scanner.js +154 -0
  88. package/templates/CLAUDE.md.tmpl +42 -0
  89. package/templates/knowledge.md.tmpl +31 -0
@@ -0,0 +1,303 @@
1
+ # Scalability Strategies
2
+
3
+ ## What is Scalability?
4
+ The ability of a system to handle growing amounts of work by adding resources.
5
+
6
+ ## Types of Scaling
7
+
8
+ ### Vertical Scaling (Scale Up)
9
+ ```
10
+ Before: After:
11
+ ┌──────────┐ ┌──────────────────┐
12
+ │ 4 CPU │ │ 64 CPU │
13
+ │ 16 GB │ ──▶ │ 256 GB │
14
+ │ 1 TB │ │ 16 TB │
15
+ └──────────┘ └──────────────────┘
16
+
17
+ Pros:
18
+ - Simple (no code changes)
19
+ - Strong consistency (single node)
20
+ - Lower latency (no network)
21
+
22
+ Cons:
23
+ - Hardware limits
24
+ - Expensive at scale
25
+ - Single point of failure
26
+ - Downtime for upgrades
27
+ ```
28
+
29
+ ### Horizontal Scaling (Scale Out)
30
+ ```
31
+ Before: After:
32
+ ┌──────────┐ ┌──────────┐
33
+ │ Server │ │ Server 1 │
34
+ │ │ ──▶ ├──────────┤
35
+ └──────────┘ │ Server 2 │
36
+ ├──────────┤
37
+ │ Server 3 │
38
+ └──────────┘
39
+
40
+ Pros:
41
+ - Nearly unlimited scale
42
+ - Commodity hardware
43
+ - No single point of failure
44
+ - Incremental growth
45
+
46
+ Cons:
47
+ - Complexity (distributed)
48
+ - Network latency
49
+ - Data consistency challenges
50
+ - Load balancing needed
51
+ ```
52
+
53
+ ## Load Balancing
54
+
55
+ ### Algorithms
56
+ ```
57
+ ┌─────────────────────────────────────────────────────────┐
58
+ │ Load Balancer │
59
+ ├─────────────────────────────────────────────────────────┤
60
+ │ │
61
+ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
62
+ │ │ Server1 │ │ Server2 │ │ Server3 │ │ Server4 │ │
63
+ │ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
64
+ │ │
65
+ └─────────────────────────────────────────────────────────┘
66
+
67
+ Strategies:
68
+ 1. Round Robin - Rotate through servers
69
+ 2. Weighted Round Robin - More weight to stronger servers
70
+ 3. Least Connections - Route to least busy
71
+ 4. IP Hash - Same IP to same server (session affinity)
72
+ 5. Least Response Time - Route to fastest responding
73
+ 6. Random - Distribute randomly
74
+ ```
75
+
76
+ ### Health Checks
77
+ ```
78
+ Active Health Checks:
79
+ - LB periodically checks endpoint
80
+ - Remove unhealthy servers from pool
81
+ - Add back when healthy
82
+
83
+ Passive Health Checks:
84
+ - Monitor real requests
85
+ - Track failure rates
86
+ - Circuit breaker pattern
87
+ ```
88
+
89
+ ## Database Scaling
90
+
91
+ ### Read Replicas
92
+ ```
93
+ ┌─────────────┐
94
+ │ Primary │
95
+ │ (Writes) │
96
+ └──────┬──────┘
97
+
98
+ ┌─────────────┼─────────────┐
99
+ │ │ │
100
+ ▼ ▼ ▼
101
+ ┌──────────┐ ┌──────────┐ ┌──────────┐
102
+ │ Replica1 │ │ Replica2 │ │ Replica3 │
103
+ │ (Reads) │ │ (Reads) │ │ (Reads) │
104
+ └──────────┘ └──────────┘ └──────────┘
105
+
106
+ Considerations:
107
+ - Replication lag
108
+ - Read-after-write consistency
109
+ - Connection routing
110
+ ```
111
+
112
+ ### Sharding (Horizontal Partitioning)
113
+ ```
114
+ Sharding Strategies:
115
+
116
+ 1. Range-based:
117
+ Shard 1: Users 1-1,000,000
118
+ Shard 2: Users 1,000,001-2,000,000
119
+ Shard 3: Users 2,000,001-3,000,000
120
+
121
+ Pros: Range queries efficient
122
+ Cons: Hot spots, uneven distribution
123
+
124
+ 2. Hash-based:
125
+ Shard = hash(user_id) % num_shards
126
+
127
+ Pros: Even distribution
128
+ Cons: Range queries inefficient, resharding complex
129
+
130
+ 3. Directory-based:
131
+ Lookup table: user_id → shard
132
+
133
+ Pros: Flexible, easy resharding
134
+ Cons: Lookup overhead, single point of failure
135
+
136
+ 4. Geographic:
137
+ Shard by location (US, EU, Asia)
138
+
139
+ Pros: Compliance, latency
140
+ Cons: Uneven distribution possible
141
+ ```
142
+
143
+ ### Vertical Partitioning
144
+ ```
145
+ Split by functionality:
146
+
147
+ ┌─────────────────┐ ┌─────────────────┐
148
+ │ Users DB │ │ Orders DB │
149
+ ├─────────────────┤ ├─────────────────┤
150
+ │ id │ │ id │
151
+ │ email │ │ user_id │
152
+ │ password_hash │ │ total │
153
+ │ created_at │ │ status │
154
+ └─────────────────┘ │ created_at │
155
+ └─────────────────┘
156
+
157
+ Benefits:
158
+ - Smaller tables, better cache
159
+ - Isolated scaling
160
+ - Security (sensitive data separate)
161
+ ```
162
+
163
+ ## Caching Strategies
164
+
165
+ ### Cache Patterns
166
+ ```
167
+ 1. Cache-aside (Lazy Loading)
168
+ ┌───────┐ ┌───────┐ ┌───────┐
169
+ │Client │────▶│Cache │────▶│ DB │
170
+ └───────┘ └───────┘ └───────┘
171
+
172
+ │ miss
173
+
174
+ Application code manages cache
175
+ On read: Check cache → if miss, read DB → populate cache
176
+ On write: Update DB → invalidate cache
177
+
178
+ 2. Write-through
179
+ ┌───────┐ ┌───────┐ ┌───────┐
180
+ │Client │────▶│Cache │────▶│ DB │
181
+ └───────┘ └───────┘ └───────┘
182
+
183
+ │ always write both
184
+
185
+ Write to cache AND DB synchronously
186
+ Data always consistent
187
+
188
+ 3. Write-behind (Write-back)
189
+ ┌───────┐ ┌───────┐ ┌───────┐
190
+ │Client │────▶│Cache │────▶│ DB │
191
+ └───────┘ └───────┘ └───────┘
192
+
193
+ │ async write to DB
194
+
195
+ Write to cache, async write to DB
196
+ Higher throughput, risk of data loss
197
+
198
+ 4. Refresh-ahead
199
+ Proactively refresh before expiration
200
+ Good for predictable access patterns
201
+ ```
202
+
203
+ ### Cache Eviction Policies
204
+ ```
205
+ LRU (Least Recently Used):
206
+ - Evict item not accessed longest
207
+ - Good for temporal locality
208
+
209
+ LFU (Least Frequently Used):
210
+ - Evict item accessed least often
211
+ - Good for popularity-based access
212
+
213
+ FIFO (First In First Out):
214
+ - Simple queue-based eviction
215
+ - Less optimal but simple
216
+
217
+ TTL (Time To Live):
218
+ - Expire after time period
219
+ - Good for stale data prevention
220
+ ```
221
+
222
+ ## Queue-Based Scaling
223
+
224
+ ### Message Queue Pattern
225
+ ```
226
+ ┌─────────┐ ┌─────────────┐ ┌─────────┐
227
+ │Producer │────▶│ Queue │────▶│Consumer │
228
+ └─────────┘ │ │ └─────────┘
229
+ │ ┌─┬─┬─┬─┬─┐ │
230
+ │ └─┴─┴─┴─┴─┘ │
231
+ └─────────────┘
232
+
233
+ Benefits:
234
+ - Decouple producers from consumers
235
+ - Handle traffic spikes (queue absorbs)
236
+ - Scale consumers independently
237
+ - Asynchronous processing
238
+
239
+ Examples:
240
+ - RabbitMQ, Kafka, SQS, Redis Streams
241
+ ```
242
+
243
+ ### Backpressure
244
+ ```
245
+ When consumers can't keep up:
246
+
247
+ 1. Drop (oldest/newest/random)
248
+ 2. Block producer
249
+ 3. Shed load (reject new requests)
250
+ 4. Scale consumers
251
+ 5. Buffer (temporary solution)
252
+ ```
253
+
254
+ ## Autoscaling
255
+
256
+ ### Metrics for Scaling
257
+ ```
258
+ Scale Out Triggers:
259
+ - CPU > 70% for 5 minutes
260
+ - Memory > 80% for 5 minutes
261
+ - Request queue depth > 100
262
+ - Response time > 500ms
263
+ - Custom business metrics
264
+
265
+ Scale In Triggers:
266
+ - CPU < 30% for 15 minutes
267
+ - Memory < 40% for 15 minutes
268
+ - Queue depth < 10
269
+ ```
270
+
271
+ ### Scaling Strategies
272
+ ```
273
+ Reactive:
274
+ - Respond to current metrics
275
+ - May be too slow for spikes
276
+
277
+ Predictive:
278
+ - Use ML to predict load
279
+ - Scale before traffic arrives
280
+ - Requires historical data
281
+
282
+ Scheduled:
283
+ - Scale at known times
284
+ - Black Friday, end of month
285
+ - Simple and predictable
286
+ ```
287
+
288
+ ## Best Practices
289
+
290
+ ### Design for Scale
291
+ 1. **Stateless services** - No server affinity
292
+ 2. **Idempotent operations** - Safe to retry
293
+ 3. **Async where possible** - Don't block
294
+ 4. **Partition data** - Enable horizontal scaling
295
+ 5. **Cache aggressively** - Reduce DB load
296
+ 6. **Use CDNs** - Offload static content
297
+
298
+ ### Avoid
299
+ 1. **Distributed transactions** - Use sagas
300
+ 2. **Joins across shards** - Denormalize
301
+ 3. **Synchronous dependencies** - Add queues
302
+ 4. **Locks on hot data** - Use optimistic locking
303
+ 5. **Single points of failure** - Replicate everything
@@ -0,0 +1,192 @@
1
+ ---
2
+ name: tech-selection
3
+ description: |
4
+ Use when evaluating and selecting technologies for a project.
5
+ Provides frameworks for objective comparison and decision making.
6
+ version: 1.0.0
7
+ category: architecture
8
+ tags:
9
+ - technology
10
+ - evaluation
11
+ - selection
12
+ - decision-framework
13
+ dependencies:
14
+ - adr-writing
15
+ references:
16
+ - references/evaluation-framework.md
17
+ - references/build-vs-buy.md
18
+ - references/tech-radar.md
19
+ ---
20
+
21
+ # Technology Selection
22
+
23
+ ## Core Principle
24
+ **Choose technology based on requirements, not trends. Fit the tool to the problem.**
25
+
26
+ ## When to Use This Skill
27
+
28
+ ### Trigger Conditions
29
+ - Starting a new project
30
+ - Evaluating alternatives for existing system
31
+ - Replacing deprecated technology
32
+ - Team wants to adopt new technology
33
+
34
+ ### Keywords
35
+ - "choose technology"
36
+ - "evaluate options"
37
+ - "technology selection"
38
+ - "which framework"
39
+ - "build vs buy"
40
+
41
+ ## Evaluation Framework
42
+
43
+ ### Step 1: Define Requirements
44
+ ```
45
+ Functional Requirements:
46
+ - What must the technology do?
47
+ - What features are required?
48
+ - What integrations needed?
49
+
50
+ Non-Functional Requirements:
51
+ - Performance requirements
52
+ - Scalability needs
53
+ - Security requirements
54
+ - Compliance requirements
55
+
56
+ Constraints:
57
+ - Budget constraints
58
+ - Timeline constraints
59
+ - Team expertise
60
+ - Infrastructure constraints
61
+ ```
62
+
63
+ ### Step 2: Create Evaluation Matrix
64
+ ```
65
+ | Criteria | Weight | Tech A | Tech B | Tech C |
66
+ |----------------|--------|--------|--------|--------|
67
+ | Performance | 20% | 4/5 | 5/5 | 3/5 |
68
+ | Scalability | 15% | 5/5 | 4/5 | 4/5 |
69
+ | Developer XP | 15% | 4/5 | 3/5 | 5/5 |
70
+ | Documentation | 10% | 5/5 | 4/5 | 4/5 |
71
+ | Community | 15% | 4/5 | 5/5 | 3/5 |
72
+ | Cost | 15% | 3/5 | 4/5 | 5/5 |
73
+ | Risk | 10% | 4/5 | 4/5 | 3/5 |
74
+ |----------------|--------|--------|--------|--------|
75
+ | Weighted Score | 100% | 4.05 | 4.10 | 3.85 |
76
+ ```
77
+
78
+ ### Step 3: Evaluate Options
79
+ ```
80
+ For each technology, assess:
81
+ 1. Maturity - How long has it existed?
82
+ 2. Adoption - Who else uses it?
83
+ 3. Support - Commercial/community support?
84
+ 4. Documentation - Quality and completeness?
85
+ 5. Learning curve - Time to proficiency?
86
+ 6. Ecosystem - Plugins, integrations?
87
+ 7. Future outlook - Active development?
88
+ ```
89
+
90
+ ### Step 4: Prototype/POC
91
+ ```
92
+ If uncertain:
93
+ 1. Build small prototype
94
+ 2. Test critical requirements
95
+ 3. Involve team members
96
+ 4. Document findings
97
+ 5. Time-box the evaluation
98
+ ```
99
+
100
+ ### Step 5: Document Decision
101
+ ```
102
+ Write ADR with:
103
+ - Evaluated options
104
+ - Scoring rationale
105
+ - Final decision
106
+ - Consequences
107
+ ```
108
+
109
+ ## Decision Criteria
110
+
111
+ ### Technology Fit Criteria
112
+ ```
113
+ 1. Problem Fit
114
+ - Does it solve our problem?
115
+ - Is it over/under-engineered?
116
+
117
+ 2. Team Fit
118
+ - Does team have expertise?
119
+ - Can team learn it quickly?
120
+ - Is talent available to hire?
121
+
122
+ 3. Organization Fit
123
+ - Does it align with tech strategy?
124
+ - Does it fit existing infrastructure?
125
+ - Does it meet compliance needs?
126
+
127
+ 4. Ecosystem Fit
128
+ - Integration with existing tools?
129
+ - Community support?
130
+ - Long-term viability?
131
+ ```
132
+
133
+ ## Build vs Buy Decision
134
+
135
+ ### When to Build
136
+ ```
137
+ ✅ Core competitive advantage
138
+ ✅ Unique requirements
139
+ ✅ Full control needed
140
+ ✅ No suitable solution exists
141
+ ✅ Long-term strategic value
142
+ ✅ Team has expertise and time
143
+ ```
144
+
145
+ ### When to Buy
146
+ ```
147
+ ✅ Commodity functionality
148
+ ✅ Faster time to market needed
149
+ ✅ Team lacks expertise
150
+ ✅ Maintenance burden too high
151
+ ✅ Solution exists and is mature
152
+ ✅ Not core to business
153
+ ```
154
+
155
+ ## Common Evaluation Pitfalls
156
+
157
+ ### Avoid
158
+ ```
159
+ ❌ Resume-driven development
160
+ ❌ Hype-driven decisions
161
+ ❌ Not involving team
162
+ ❌ Skipping POC for critical choices
163
+ ❌ Ignoring operational concerns
164
+ ❌ Underestimating learning curve
165
+ ❌ Ignoring vendor lock-in
166
+ ❌ Not considering total cost
167
+ ```
168
+
169
+ ## Output
170
+
171
+ When using this skill:
172
+ 1. **Evaluation Matrix** - Scored comparison
173
+ 2. **ADR** - Documented decision
174
+ 3. **POC Report** - If prototype was built
175
+ 4. **Migration Plan** - If replacing existing tech
176
+
177
+ ## Rules
178
+
179
+ ### DO
180
+ - ✅ Start with requirements, not solutions
181
+ - ✅ Evaluate at least 2-3 options
182
+ - ✅ Include team in evaluation
183
+ - ✅ Consider total cost of ownership
184
+ - ✅ Build POC for risky choices
185
+ - ✅ Document decision with ADR
186
+
187
+ ### DON'T
188
+ - ❌ Choose based on trends/hype
189
+ - ❌ Make decision alone
190
+ - ❌ Ignore existing expertise
191
+ - ❌ Forget operational costs
192
+ - ❌ Skip documentation