@slamb2k/mad-skills 2.0.14 → 2.0.16
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-plugin/plugin.json +1 -1
- package/README.md +390 -15
- package/package.json +1 -1
- package/skills/brace/SKILL.md +1 -1
- package/skills/build/SKILL.md +6 -2
- package/skills/distil/SKILL.md +1 -1
- package/skills/dock/SKILL.md +357 -0
- package/skills/dock/references/dockerfile-templates.md +358 -0
- package/skills/dock/references/interview-guide.md +209 -0
- package/skills/dock/references/pipeline-templates.md +398 -0
- package/skills/dock/references/platform-deploy-guides.md +457 -0
- package/skills/dock/tests/evals.json +36 -0
- package/skills/keel/SKILL.md +498 -0
- package/skills/keel/references/bicep-templates.md +359 -0
- package/skills/keel/references/iac-pipeline-templates.md +519 -0
- package/skills/keel/references/interview-guide.md +257 -0
- package/skills/keel/references/terraform-templates.md +474 -0
- package/skills/keel/tests/evals.json +35 -0
- package/skills/manifest.json +27 -7
- package/skills/prime/SKILL.md +15 -10
- package/skills/prime/references/domains.md +27 -30
- package/skills/rig/SKILL.md +10 -1
- package/skills/ship/SKILL.md +1 -1
- package/skills/ship/references/stage-prompts.md +5 -13
- package/skills/speccy/SKILL.md +6 -2
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
# Keel Interview Guide
|
|
2
|
+
|
|
3
|
+
Prompts and questions for the detection and interview phases of /keel.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Detection Prompt
|
|
8
|
+
|
|
9
|
+
**Agent:** Explore (medium)
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
Scan the codebase to detect existing infrastructure-as-code, cloud provider
|
|
13
|
+
signals, and infrastructure dependencies.
|
|
14
|
+
|
|
15
|
+
Limit INFRA_DETECTION_REPORT to 30 lines maximum.
|
|
16
|
+
|
|
17
|
+
## What to scan
|
|
18
|
+
|
|
19
|
+
1. **Existing IaC**
|
|
20
|
+
- Terraform: *.tf files, .terraform/, terraform.tfstate, .terraform.lock.hcl
|
|
21
|
+
- Bicep: *.bicep, *.bicepparam
|
|
22
|
+
- Pulumi: Pulumi.yaml, Pulumi.*.yaml
|
|
23
|
+
- AWS CDK: cdk.json, cdk.out/
|
|
24
|
+
- CloudFormation: template.yaml, template.json, *-template.yml
|
|
25
|
+
- ARM: azuredeploy.json, azuredeploy.parameters.json
|
|
26
|
+
Report: tool, file locations, what resources are defined
|
|
27
|
+
|
|
28
|
+
2. **Cloud provider signals**
|
|
29
|
+
- Azure: .azure/, azure-pipelines.yml, AZURE_* env vars in workflows,
|
|
30
|
+
@azure packages in deps, Bicep files, ARM templates
|
|
31
|
+
- AWS: .aws/, buildspec.yml, AWS_* env vars, @aws-sdk packages,
|
|
32
|
+
CDK files, CloudFormation templates, SAM templates
|
|
33
|
+
- GCP: .gcloud/, cloudbuild.yaml, GOOGLE_* env vars, @google-cloud packages
|
|
34
|
+
Report: detected provider(s) with confidence
|
|
35
|
+
|
|
36
|
+
3. **CI/CD system**
|
|
37
|
+
- .github/workflows/*.yml → GitHub Actions
|
|
38
|
+
- azure-pipelines.yml → Azure Pipelines
|
|
39
|
+
- .gitlab-ci.yml → GitLab CI
|
|
40
|
+
Report: system, existing infra-related jobs if any
|
|
41
|
+
|
|
42
|
+
4. **Container config (signals for /dock integration)**
|
|
43
|
+
- Dockerfile, docker-compose.yml
|
|
44
|
+
- deploy/ directory (from /dock)
|
|
45
|
+
- deploy/environments.json or .yml
|
|
46
|
+
Report: what deployment targets are configured
|
|
47
|
+
|
|
48
|
+
5. **Database signals**
|
|
49
|
+
- prisma/schema.prisma → PostgreSQL/MySQL/SQLite
|
|
50
|
+
- migrations/ or alembic/ → database migrations
|
|
51
|
+
- knex migrations, sequelize migrations
|
|
52
|
+
- Database connection string patterns in .env.example
|
|
53
|
+
Report: database type and ORM/migration tool
|
|
54
|
+
|
|
55
|
+
6. **Cache/queue signals**
|
|
56
|
+
- Redis client packages (ioredis, redis, bull, celery)
|
|
57
|
+
- Message queue packages (amqplib, @azure/service-bus, @aws-sdk/client-sqs)
|
|
58
|
+
Report: detected services
|
|
59
|
+
|
|
60
|
+
7. **Storage signals**
|
|
61
|
+
- S3/Blob Storage SDK packages
|
|
62
|
+
- File upload handling code
|
|
63
|
+
Report: detected storage needs
|
|
64
|
+
|
|
65
|
+
8. **State backends**
|
|
66
|
+
- terraform.tfstate (local state — bad sign)
|
|
67
|
+
- backend config blocks in *.tf
|
|
68
|
+
- Pulumi.*.yaml with backend settings
|
|
69
|
+
Report: current state management
|
|
70
|
+
|
|
71
|
+
## Output Format
|
|
72
|
+
|
|
73
|
+
INFRA_DETECTION_REPORT:
|
|
74
|
+
- existing_iac: {tool and files, or "none"}
|
|
75
|
+
- cloud_provider: {detected provider(s) with confidence}
|
|
76
|
+
- ci_system: {detected CI system}
|
|
77
|
+
- dock_config: {deployment targets from /dock, or "none"}
|
|
78
|
+
- database: {type and migration tool, or "none"}
|
|
79
|
+
- cache: {redis/memcached, or "none"}
|
|
80
|
+
- storage: {blob/s3/gcs, or "none"}
|
|
81
|
+
- queue: {service bus/sqs/pubsub, or "none"}
|
|
82
|
+
- state_backend: {current state management, or "none"}
|
|
83
|
+
- confidence: {high/medium/low}
|
|
84
|
+
- notes: {anything ambiguous}
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## Interview Questions
|
|
90
|
+
|
|
91
|
+
Use AskUserQuestion for each topic. Present detected values as defaults.
|
|
92
|
+
Skip questions where detection provided high-confidence answers.
|
|
93
|
+
|
|
94
|
+
### Cloud Provider
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
Which cloud provider(s) will host your infrastructure?
|
|
98
|
+
|
|
99
|
+
{If detected: "I detected {PROVIDER} signals in your codebase."}
|
|
100
|
+
|
|
101
|
+
Options:
|
|
102
|
+
1. Azure (Recommended if Azure signals detected)
|
|
103
|
+
2. AWS (Recommended if AWS signals detected)
|
|
104
|
+
3. Google Cloud
|
|
105
|
+
4. Multi-cloud (provision across providers)
|
|
106
|
+
5. Self-hosted / VPS (provision a VPS, install Dokku/Coolify/CapRover)
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### IaC Tool
|
|
110
|
+
|
|
111
|
+
Suggest based on provider:
|
|
112
|
+
|
|
113
|
+
```
|
|
114
|
+
Which Infrastructure as Code tool should I use?
|
|
115
|
+
|
|
116
|
+
{If existing IaC detected: "I found existing {TOOL} files in your project."}
|
|
117
|
+
|
|
118
|
+
Options:
|
|
119
|
+
1. Terraform (Recommended — works with any cloud, largest ecosystem)
|
|
120
|
+
2. Bicep (Azure-native, simpler syntax, no state management needed)
|
|
121
|
+
3. Pulumi (code-first in TypeScript/Python/Go, great type safety)
|
|
122
|
+
4. AWS CDK (AWS-native, TypeScript/Python, compiles to CloudFormation)
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
Decision matrix (present if user is unsure):
|
|
126
|
+
|
|
127
|
+
| Factor | Terraform | Bicep | Pulumi | CDK |
|
|
128
|
+
|--------|-----------|-------|--------|-----|
|
|
129
|
+
| Multi-cloud | ✅ | ❌ Azure only | ✅ | ❌ AWS only |
|
|
130
|
+
| State mgmt | External (S3/Blob) | None (ARM) | Cloud or self | None (CFN) |
|
|
131
|
+
| Language | HCL | Bicep DSL | TS/Py/Go | TS/Py |
|
|
132
|
+
| Learning curve | Medium | Low | Low (if you code) | Medium |
|
|
133
|
+
| Ecosystem | Largest | Azure only | Growing | AWS only |
|
|
134
|
+
|
|
135
|
+
### Infrastructure Components
|
|
136
|
+
|
|
137
|
+
Present detected + suggested components:
|
|
138
|
+
|
|
139
|
+
```
|
|
140
|
+
Which infrastructure components do you need?
|
|
141
|
+
|
|
142
|
+
Based on your codebase, I suggest these. Check/uncheck as needed:
|
|
143
|
+
|
|
144
|
+
Container platform:
|
|
145
|
+
{auto-checked items based on detection}
|
|
146
|
+
[ ] Container registry
|
|
147
|
+
[ ] Kubernetes cluster (AKS/EKS/GKE)
|
|
148
|
+
[ ] Serverless containers (Container Apps/Fargate/Cloud Run)
|
|
149
|
+
[ ] Self-hosted PaaS (Dokku/Coolify/CapRover on VPS)
|
|
150
|
+
|
|
151
|
+
Data:
|
|
152
|
+
{auto-checked if database migrations detected}
|
|
153
|
+
[ ] Managed PostgreSQL
|
|
154
|
+
[ ] Managed MySQL
|
|
155
|
+
[ ] Redis cache
|
|
156
|
+
[ ] Object storage (Blob/S3/GCS)
|
|
157
|
+
[ ] Message queue (Service Bus/SQS/Pub-Sub)
|
|
158
|
+
|
|
159
|
+
Networking:
|
|
160
|
+
[ ] DNS zone
|
|
161
|
+
[ ] CDN / Front Door / CloudFront
|
|
162
|
+
[ ] Virtual network / VPC
|
|
163
|
+
[ ] API Gateway
|
|
164
|
+
|
|
165
|
+
Security:
|
|
166
|
+
[ ] Key Vault / Secrets Manager
|
|
167
|
+
[ ] Managed identity / IAM roles
|
|
168
|
+
|
|
169
|
+
Monitoring:
|
|
170
|
+
[ ] Application Insights / CloudWatch / Cloud Logging
|
|
171
|
+
[ ] Dashboards and alerts
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
### Environment Topology
|
|
175
|
+
|
|
176
|
+
```
|
|
177
|
+
How many infrastructure environments do you need?
|
|
178
|
+
|
|
179
|
+
{If /dock config found: "I see /dock configured {N} environments: {list}.
|
|
180
|
+
I'll match those."}
|
|
181
|
+
|
|
182
|
+
Options:
|
|
183
|
+
1. Simple: dev + prod (Recommended to start)
|
|
184
|
+
2. Standard: dev + staging + prod
|
|
185
|
+
3. Custom: define your own
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
### State Management (Terraform/Pulumi only)
|
|
189
|
+
|
|
190
|
+
```
|
|
191
|
+
Where should infrastructure state be stored?
|
|
192
|
+
|
|
193
|
+
Options (based on {PROVIDER}):
|
|
194
|
+
1. {Provider-native option} (Recommended)
|
|
195
|
+
2. Terraform Cloud / Pulumi Cloud
|
|
196
|
+
3. Local (not recommended for teams)
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
Provider-native defaults:
|
|
200
|
+
- Azure → Azure Blob Storage
|
|
201
|
+
- AWS → S3 + DynamoDB lock
|
|
202
|
+
- GCP → Google Cloud Storage
|
|
203
|
+
|
|
204
|
+
### CI/CD Strategy
|
|
205
|
+
|
|
206
|
+
```
|
|
207
|
+
How should infrastructure changes be applied?
|
|
208
|
+
|
|
209
|
+
Options:
|
|
210
|
+
1. Plan on PR, auto-apply on merge (Recommended)
|
|
211
|
+
2. Plan on PR, manual approval to apply
|
|
212
|
+
3. Apply on merge only (no PR preview)
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
### Naming Convention
|
|
216
|
+
|
|
217
|
+
```
|
|
218
|
+
What naming convention for cloud resources?
|
|
219
|
+
|
|
220
|
+
Options:
|
|
221
|
+
1. Cloud Adoption Framework style (Recommended)
|
|
222
|
+
Example: rg-myapp-dev-eastus, acr-myapp-dev
|
|
223
|
+
2. Simple: {project}-{resource}-{env}
|
|
224
|
+
Example: myapp-registry-dev, myapp-db-dev
|
|
225
|
+
3. Custom prefix (you define the pattern)
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
### Resource Sizing
|
|
229
|
+
|
|
230
|
+
```
|
|
231
|
+
What resource sizing tier?
|
|
232
|
+
|
|
233
|
+
Options:
|
|
234
|
+
1. Minimal (Recommended for dev — smallest/cheapest SKUs)
|
|
235
|
+
2. Standard (balanced cost/performance)
|
|
236
|
+
3. Production (high availability, redundancy, scaling)
|
|
237
|
+
|
|
238
|
+
I'll use tier-appropriate sizing per environment:
|
|
239
|
+
dev = Minimal, staging = Standard, prod = Production
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
### /dock Integration
|
|
243
|
+
|
|
244
|
+
If /dock artifacts detected:
|
|
245
|
+
|
|
246
|
+
```
|
|
247
|
+
I found /dock deployment config targeting:
|
|
248
|
+
{env}: {platform} for each environment
|
|
249
|
+
|
|
250
|
+
Should I provision the infrastructure for those targets?
|
|
251
|
+
This includes: container registry, {platform} compute resources, networking.
|
|
252
|
+
|
|
253
|
+
Options:
|
|
254
|
+
1. Yes, provision everything /dock needs (Recommended)
|
|
255
|
+
2. Yes, but let me customize which components
|
|
256
|
+
3. No, I'll provision separately
|
|
257
|
+
```
|