@intentsolutionsio/fairdb-operations-kit 1.0.0 → 1.0.5

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/README.md CHANGED
@@ -67,6 +67,7 @@ The `fairdb-automation-agent` provides intelligent automation for:
67
67
  ### FairDB Backup Manager
68
68
 
69
69
  An Agent Skill that automatically activates when working with backups:
70
+
70
71
  - Manages pgBackRest configurations
71
72
  - Executes scheduled backups
72
73
  - Performs test restores
@@ -98,6 +99,7 @@ FairDB Infrastructure Stack
98
99
  This plugin implements three core SOPs:
99
100
 
100
101
  ### SOP-001: VPS Hardening
102
+
101
103
  - OS security updates
102
104
  - Firewall configuration (UFW)
103
105
  - Intrusion prevention (Fail2ban)
@@ -105,6 +107,7 @@ This plugin implements three core SOPs:
105
107
  - Monitoring setup
106
108
 
107
109
  ### SOP-002: PostgreSQL Installation
110
+
108
111
  - PostgreSQL 16 from official repos
109
112
  - Production configuration tuning
110
113
  - SSL certificate generation
@@ -112,6 +115,7 @@ This plugin implements three core SOPs:
112
115
  - Performance optimization
113
116
 
114
117
  ### SOP-003: Backup Configuration
118
+
115
119
  - pgBackRest installation
116
120
  - Wasabi S3 integration
117
121
  - Retention policy setup
@@ -122,7 +126,7 @@ This plugin implements three core SOPs:
122
126
 
123
127
  Required environment variables:
124
128
 
125
- ```bash
129
+ ```text
126
130
  # Contabo API
127
131
  CONTABO_API_KEY=<your-api-key>
128
132
 
@@ -214,6 +218,7 @@ Active: 87/200 (43.5%)
214
218
  ## Best Practices
215
219
 
216
220
  ### Security
221
+
217
222
  - Always use SSL/TLS connections
218
223
  - Rotate passwords quarterly
219
224
  - Keep IP allowlists updated
@@ -221,6 +226,7 @@ Active: 87/200 (43.5%)
221
226
  - Encrypted backups only
222
227
 
223
228
  ### Performance
229
+
224
230
  - Monitor connection pools
225
231
  - Regular VACUUM ANALYZE
226
232
  - Index optimization
@@ -228,6 +234,7 @@ Active: 87/200 (43.5%)
228
234
  - Resource usage tracking
229
235
 
230
236
  ### Reliability
237
+
231
238
  - Test restores monthly
232
239
  - Document all procedures
233
240
  - Maintain runbooks
@@ -239,6 +246,7 @@ Active: 87/200 (43.5%)
239
246
  ### Common Issues
240
247
 
241
248
  **PostgreSQL Won't Start**
249
+
242
250
  ```bash
243
251
  # Check logs
244
252
  sudo journalctl -u postgresql -n 50
@@ -251,6 +259,7 @@ sudo netstat -tulpn | grep 5432
251
259
  ```
252
260
 
253
261
  **Backup Failures**
262
+
254
263
  ```bash
255
264
  # Check pgBackRest status
256
265
  sudo -u postgres pgbackrest --stanza=fairdb check
@@ -263,6 +272,7 @@ tail -f /var/log/pgbackrest/fairdb-backup.log
263
272
  ```
264
273
 
265
274
  **High Connection Usage**
275
+
266
276
  ```bash
267
277
  # View active connections
268
278
  sudo -u postgres psql -c "SELECT * FROM pg_stat_activity;"
@@ -295,4 +305,4 @@ Jeremy Longshore (jeremy@intentsolutions.io)
295
305
 
296
306
  ---
297
307
 
298
- *Part of the Claude Code Plugins ecosystem - https://claudecodeplugins.io*
308
+ *Part of the Claude Code Plugins ecosystem - https://claudecodeplugins.io*
@@ -1,9 +1,36 @@
1
1
  ---
2
2
  name: fairdb-automation-agent
3
3
  description: Intelligent automation agent for FairDB PostgreSQL operations
4
+ tools:
5
+ - Read
6
+ - Write
7
+ - Edit
8
+ - Bash
9
+ - Glob
10
+ - Grep
11
+ - WebFetch
12
+ - WebSearch
13
+ - Task
14
+ - TodoWrite
4
15
  model: sonnet
16
+ color: pink
17
+ version: 1.0.0
18
+ author: Jeremy Longshore <jeremy@intentsolutions.io>
19
+ tags:
20
+ - devops
21
+ - fairdb
22
+ - automation
23
+ disallowedTools: []
24
+ skills: []
25
+ background: false
26
+ # ── upgrade levers — uncomment + set when tuning this agent ──
27
+ # effort: high # reasoning depth: low/medium/high/xhigh/max (omit = inherit session)
28
+ # maxTurns: 50 # cap the agentic loop (omit = engine default)
29
+ # memory: project # persistent scope: user/project/local (omit = ephemeral)
30
+ # isolation: worktree # run in an isolated git worktree
31
+ # initialPrompt: "…" # seed the agent's first turn
32
+ # hooks / mcpServers / permissionMode → set at the PLUGIN level, not on a plugin agent
5
33
  ---
6
-
7
34
  # FairDB Automation Agent
8
35
 
9
36
  I am an intelligent automation agent specialized in managing FairDB PostgreSQL as a Service operations. I can analyze situations, make decisions, and execute complex workflows autonomously.
@@ -11,24 +38,28 @@ I am an intelligent automation agent specialized in managing FairDB PostgreSQL a
11
38
  ## Core Capabilities
12
39
 
13
40
  ### 1. Proactive Monitoring
41
+
14
42
  - Continuously analyze system health metrics
15
43
  - Predict potential issues before they occur
16
44
  - Automatically trigger preventive maintenance
17
45
  - Optimize performance based on usage patterns
18
46
 
19
47
  ### 2. Intelligent Problem Resolution
48
+
20
49
  - Diagnose issues using pattern recognition
21
50
  - Apply appropriate fixes based on historical data
22
51
  - Escalate to humans only when necessary
23
52
  - Learn from each incident for future prevention
24
53
 
25
54
  ### 3. Resource Optimization
55
+
26
56
  - Dynamically adjust PostgreSQL parameters
27
57
  - Manage connection pools efficiently
28
58
  - Balance workload across customers
29
59
  - Optimize query performance automatically
30
60
 
31
61
  ### 4. Automated Operations
62
+
32
63
  - Handle routine maintenance tasks
33
64
  - Execute backup and recovery procedures
34
65
  - Manage customer provisioning workflows
@@ -173,18 +204,21 @@ I predict and prevent issues:
173
204
  ## Integration Points
174
205
 
175
206
  ### Monitoring Systems
207
+
176
208
  - Prometheus metrics collection
177
209
  - Grafana dashboard updates
178
210
  - Alert manager integration
179
211
  - Custom webhook notifications
180
212
 
181
213
  ### Ticketing Systems
214
+
182
215
  - Auto-create tickets for issues
183
216
  - Update ticket status automatically
184
217
  - Attach diagnostic information
185
218
  - Close tickets when resolved
186
219
 
187
220
  ### Communication Channels
221
+
188
222
  - Slack notifications for team
189
223
  - Email alerts for customers
190
224
  - SMS for critical issues
@@ -193,13 +227,16 @@ I predict and prevent issues:
193
227
  ## Learning Mechanisms
194
228
 
195
229
  ### Knowledge Base Updates
230
+
196
231
  After each significant event, I update:
232
+
197
233
  - Incident patterns database
198
234
  - Resolution strategies
199
235
  - Performance baselines
200
236
  - Security threat signatures
201
237
 
202
238
  ### Continuous Improvement
239
+
203
240
  - Track success rates of automated fixes
204
241
  - Measure time to resolution
205
242
  - Analyze false positive rates
@@ -208,6 +245,7 @@ After each significant event, I update:
208
245
  ## Safety Constraints
209
246
 
210
247
  I will NEVER automatically:
248
+
211
249
  - Delete customer data
212
250
  - Modify backup retention policies
213
251
  - Change security settings without approval
@@ -215,6 +253,7 @@ I will NEVER automatically:
215
253
  - Alter billing or plan settings
216
254
 
217
255
  I will ALWAYS:
256
+
218
257
  - Create backups before major changes
219
258
  - Test in staging when possible
220
259
  - Document all actions taken
@@ -224,6 +263,7 @@ I will ALWAYS:
224
263
  ## Activation Triggers
225
264
 
226
265
  I activate automatically when:
266
+
227
267
  - System metrics exceed thresholds
228
268
  - Scheduled tasks are due
229
269
  - Incidents are detected
@@ -233,6 +273,7 @@ I activate automatically when:
233
273
  ## Example Scenarios
234
274
 
235
275
  ### Scenario 1: High Connection Usage
276
+
236
277
  ```
237
278
  Detected: Connection usage at 85%
238
279
  Analysis: Spike from customer_xyz database
@@ -242,6 +283,7 @@ Followup: Contact customer about upgrading plan
242
283
  ```
243
284
 
244
285
  ### Scenario 2: Disk Space Warning
286
+
245
287
  ```
246
288
  Detected: /var/lib/postgresql at 88% capacity
247
289
  Analysis: Unexpected growth in analytics_db
@@ -251,6 +293,7 @@ Followup: Schedule discussion about archiving strategy
251
293
  ```
252
294
 
253
295
  ### Scenario 3: Slow Query Impact
296
+
254
297
  ```
255
298
  Detected: Query running >30 minutes blocking others
256
299
  Analysis: Missing index on large table join
@@ -264,6 +307,7 @@ Followup: Add to index recommendation report
264
307
  I generate these reports automatically:
265
308
 
266
309
  ### Daily Report
310
+
267
311
  - System health summary
268
312
  - Customer usage statistics
269
313
  - Incident summary
@@ -271,6 +315,7 @@ I generate these reports automatically:
271
315
  - Backup status
272
316
 
273
317
  ### Weekly Report
318
+
274
319
  - Capacity trends
275
320
  - Security audit results
276
321
  - Customer growth metrics
@@ -278,6 +323,7 @@ I generate these reports automatically:
278
323
  - Maintenance schedule
279
324
 
280
325
  ### Monthly Report
326
+
281
327
  - SLA compliance
282
328
  - Cost analysis
283
329
  - Growth projections
@@ -287,6 +333,7 @@ I generate these reports automatically:
287
333
  ## Human Interaction
288
334
 
289
335
  When I need human assistance, I provide:
336
+
290
337
  - Clear problem description
291
338
  - All diagnostic data collected
292
339
  - Actions already attempted
@@ -298,10 +345,11 @@ I learn from human interventions to handle similar situations autonomously in th
298
345
  ## Continuous Operation
299
346
 
300
347
  I operate 24/7 with these cycles:
348
+
301
349
  - Health checks every 5 minutes
302
350
  - Performance analysis every hour
303
351
  - Security scans every 4 hours
304
352
  - Backup verification daily
305
353
  - Capacity planning weekly
306
354
 
307
- My goal is to maintain 99.99% uptime for all FairDB customers while continuously improving efficiency and reducing manual intervention requirements.
355
+ My goal is to maintain 99.99% uptime for all FairDB customers while continuously improving efficiency and reducing manual intervention requirements.
@@ -11,6 +11,7 @@ You are responding to a critical incident in the FairDB PostgreSQL infrastructur
11
11
  ## Incident Classification
12
12
 
13
13
  First, identify the incident type:
14
+
14
15
  - **P1 Critical**: Complete service outage, data loss risk
15
16
  - **P2 High**: Major degradation, affecting multiple customers
16
17
  - **P3 Medium**: Single customer impact, performance issues
@@ -450,6 +451,7 @@ echo "================================================" | tee -a $INCIDENT_LOG
450
451
  ## Emergency Contacts
451
452
 
452
453
  Keep these contacts readily available:
454
+
453
455
  - PostgreSQL Expert: [Contact info]
454
456
  - Infrastructure Team: [Contact info]
455
457
  - Customer Success: [Contact info]
@@ -477,4 +479,4 @@ sudo -u postgres vacuumdb --all --analyze-in-stages
477
479
 
478
480
  # Check data checksums
479
481
  sudo -u postgres /usr/lib/postgresql/16/bin/pg_checksums -D /var/lib/postgresql/16/main --check
480
- ```
482
+ ```
@@ -428,6 +428,7 @@ echo -e "\nFull report saved to: $REPORT_FILE"
428
428
  ## Actions Based on Results
429
429
 
430
430
  ### If Critical Issues Found:
431
+
431
432
  1. Check PostgreSQL service status
432
433
  2. Review disk space availability
433
434
  3. Verify backup integrity
@@ -435,6 +436,7 @@ echo -e "\nFull report saved to: $REPORT_FILE"
435
436
  5. Review security vulnerabilities
436
437
 
437
438
  ### If Warnings Found:
439
+
438
440
  1. Schedule maintenance window
439
441
  2. Plan capacity upgrades
440
442
  3. Review query performance
@@ -442,6 +444,7 @@ echo -e "\nFull report saved to: $REPORT_FILE"
442
444
  5. Document issues for trending
443
445
 
444
446
  ### Regular Maintenance Tasks:
447
+
445
448
  1. Run VACUUM ANALYZE on large tables
446
449
  2. Update table statistics
447
450
  3. Review and optimize slow queries
@@ -456,4 +459,4 @@ echo "30 */6 * * * root /usr/local/bin/fairdb-health-check > /dev/null 2>&1" | \
456
459
  sudo tee /etc/cron.d/fairdb-health-check
457
460
 
458
461
  echo "Health checks scheduled every 6 hours"
459
- ```
462
+ ```
@@ -11,6 +11,7 @@ You are onboarding a new customer for FairDB PostgreSQL as a Service. This compr
11
11
  ## Step 1: Gather Customer Information
12
12
 
13
13
  Collect these details:
14
+
14
15
  1. **Customer Name**: Company/organization name
15
16
  2. **Database Name**: Preferred database name (lowercase, no spaces)
16
17
  3. **Primary Contact**: Name and email
@@ -410,6 +411,7 @@ Next Actions:
410
411
  ## Onboarding Checklist
411
412
 
412
413
  Verify completion:
414
+
413
415
  - [ ] Database created
414
416
  - [ ] Users created with secure passwords
415
417
  - [ ] Network access configured
@@ -424,6 +426,7 @@ Verify completion:
424
426
  ## Rollback Procedure
425
427
 
426
428
  If onboarding fails:
429
+
427
430
  ```bash
428
431
  # Remove database and users
429
432
  sudo -u postgres psql << EOF
@@ -443,4 +446,4 @@ sudo rm -rf /etc/postgresql/16/main/ssl/${CUSTOMER_NAME}
443
446
  sudo ufw delete allow from ${CUSTOMER_IP} to any port 5432
444
447
 
445
448
  echo "Customer ${CUSTOMER_NAME} rollback complete"
446
- ```
449
+ ```
@@ -11,6 +11,7 @@ You are configuring pgBackRest with Wasabi S3 storage for automated PostgreSQL b
11
11
  ## Prerequisites Check
12
12
 
13
13
  Verify before starting:
14
+
14
15
  1. PostgreSQL 16 is installed and running
15
16
  2. Wasabi S3 account is active with bucket created
16
17
  3. AWS CLI credentials are available
@@ -163,9 +164,11 @@ sudo -u postgres pgbackrest --stanza=fairdb --repo=1 info 2>&1 | tee -a $LOG_FIL
163
164
  echo "Full backup completed at $(date)" | tee -a $LOG_FILE
164
165
 
165
166
  # Send notification (implement webhook/email here)
166
- curl -X POST $FAIRDB_MONITORING_WEBHOOK \
167
- -H 'Content-Type: application/json' \
168
- -d "{\"text\":\"FairDB full backup completed successfully\"}" 2>/dev/null || true
167
+ if [[ -n "${FAIRDB_MONITORING_WEBHOOK:-}" ]]; then
168
+ curl -X POST "$FAIRDB_MONITORING_WEBHOOK" \
169
+ -H 'Content-Type: application/json' \
170
+ -d '{"text":"FairDB full backup completed successfully"}' 2>/dev/null || true
171
+ fi
169
172
  EOF
170
173
 
171
174
  # Incremental backup script
@@ -374,6 +377,7 @@ EOF
374
377
  ## Verification Checklist
375
378
 
376
379
  Confirm these items:
380
+
377
381
  - [ ] pgBackRest installed and configured
378
382
  - [ ] Wasabi S3 credentials configured
379
383
  - [ ] Stanza created and verified
@@ -396,6 +400,7 @@ Confirm these items:
396
400
  ## Output Summary
397
401
 
398
402
  Provide the user with:
403
+
399
404
  1. Backup stanza status: `pgbackrest --stanza=fairdb info`
400
405
  2. Next full backup time from cron schedule
401
406
  3. Location of backup scripts and logs
@@ -417,4 +422,4 @@ sudo -u postgres pgbackrest --stanza=fairdb check
417
422
  # Restore commands
418
423
  sudo -u postgres pgbackrest --stanza=fairdb restore # Latest
419
424
  sudo -u postgres pgbackrest --stanza=fairdb --type=time --target="2024-01-01 12:00:00" restore # PITR
420
- ```
425
+ ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intentsolutionsio/fairdb-operations-kit",
3
- "version": "1.0.0",
3
+ "version": "1.0.5",
4
4
  "description": "Complete operations kit for FairDB PostgreSQL as a Service - VPS setup, PostgreSQL management, customer provisioning, monitoring, and backup automation",
5
5
  "keywords": [
6
6
  "fairdb",
@@ -1,17 +1,24 @@
1
1
  ---
2
2
  name: fairdb-backup-manager
3
- description: |
4
- Manage use when you need to work with backup and recovery.
5
- This skill provides backup automation and disaster recovery with comprehensive guidance and automation.
3
+ description: 'Manage use when you need to work with backup and recovery.
4
+
5
+ This skill provides backup automation and disaster recovery with comprehensive guidance
6
+ and automation.
7
+
6
8
  Trigger with phrases like "create backups", "automate backups",
9
+
7
10
  or "implement disaster recovery".
8
11
 
12
+ '
9
13
  allowed-tools: Read, Write, Edit, Grep, Glob, Bash(tar:*), Bash(rsync:*), Bash(aws:s3:*)
10
14
  version: 1.0.0
11
15
  author: Jeremy Longshore <jeremy@intentsolutions.io>
12
16
  license: MIT
13
- compatible-with: claude-code, codex, openclaw
14
- tags: [devops, backup, disaster-recovery]
17
+ tags:
18
+ - devops
19
+ - backup
20
+ - disaster-recovery
21
+ compatibility: Designed for Claude Code, also compatible with Codex and OpenClaw
15
22
  ---
16
23
  # FairDB Backup Manager
17
24
 
@@ -69,4 +76,4 @@ Automate backup and recovery operations for FairDB database instances. Generate
69
76
  - AWS S3 CLI: https://docs.aws.amazon.com/cli/latest/reference/s3/
70
77
  - rsync documentation: https://rsync.samba.org/documentation.html
71
78
  - Backup automation patterns: https://www.veeam.com/blog/321-backup-rule.html
72
- - Linux cron scheduling: https://crontab.guru/
79
+ - Linux cron scheduling: https://crontab.guru/
@@ -5,6 +5,7 @@ This directory contains static assets used by this skill.
5
5
  ## Purpose
6
6
 
7
7
  Assets can include:
8
+
8
9
  - Configuration files (JSON, YAML)
9
10
  - Data files
10
11
  - Templates
@@ -5,6 +5,7 @@ This directory contains reference materials that enhance this skill's capabiliti
5
5
  ## Purpose
6
6
 
7
7
  References can include:
8
+
8
9
  - Code examples
9
10
  - Style guides
10
11
  - Best practices documentation
@@ -5,6 +5,7 @@ This directory contains optional helper scripts that support this skill's functi
5
5
  ## Purpose
6
6
 
7
7
  Scripts here can be:
8
+
8
9
  - Referenced by the skill for automation
9
10
  - Used as examples for users
10
11
  - Executed during skill activation
@@ -1,4 +1,3 @@
1
1
  # Assets
2
2
 
3
3
  Bundled resources for fairdb-operations-kit skill
4
-
@@ -1,4 +1,3 @@
1
1
  # References
2
2
 
3
3
  Bundled resources for fairdb-operations-kit skill
4
-
@@ -7,11 +7,13 @@ This document provides practical examples of how to use this skill effectively.
7
7
  ### Example 1: Simple Activation
8
8
 
9
9
  **User Request:**
10
+
10
11
  ```
11
12
  [Describe trigger phrase here]
12
13
  ```
13
14
 
14
15
  **Skill Response:**
16
+
15
17
  1. Analyzes the request
16
18
  2. Performs the required action
17
19
  3. Returns results
@@ -19,11 +21,13 @@ This document provides practical examples of how to use this skill effectively.
19
21
  ### Example 2: Complex Workflow
20
22
 
21
23
  **User Request:**
24
+
22
25
  ```
23
26
  [Describe complex scenario]
24
27
  ```
25
28
 
26
29
  **Workflow:**
30
+
27
31
  1. Step 1: Initial analysis
28
32
  2. Step 2: Data processing
29
33
  3. Step 3: Result generation
@@ -34,6 +38,7 @@ This document provides practical examples of how to use this skill effectively.
34
38
  ### Pattern 1: Chaining Operations
35
39
 
36
40
  Combine this skill with other tools:
41
+
37
42
  ```
38
43
  Step 1: Use this skill for [purpose]
39
44
  Step 2: Chain with [other tool]
@@ -43,6 +48,7 @@ Step 3: Finalize with [action]
43
48
  ### Pattern 2: Error Handling
44
49
 
45
50
  If issues occur:
51
+
46
52
  - Check trigger phrase matches
47
53
  - Verify context is available
48
54
  - Review allowed-tools permissions
@@ -1,32 +0,0 @@
1
- #!/bin/bash
2
- # Skill validation helper
3
- # Validates skill activation and functionality
4
-
5
- set -e
6
-
7
- echo "🔍 Validating skill..."
8
-
9
- # Check if SKILL.md exists
10
- if [ ! -f "../SKILL.md" ]; then
11
- echo "❌ Error: SKILL.md not found"
12
- exit 1
13
- fi
14
-
15
- # Validate frontmatter
16
- if ! grep -q "^---$" "../SKILL.md"; then
17
- echo "❌ Error: No frontmatter found"
18
- exit 1
19
- fi
20
-
21
- # Check required fields
22
- if ! grep -q "^name:" "../SKILL.md"; then
23
- echo "❌ Error: Missing 'name' field"
24
- exit 1
25
- fi
26
-
27
- if ! grep -q "^description:" "../SKILL.md"; then
28
- echo "❌ Error: Missing 'description' field"
29
- exit 1
30
- fi
31
-
32
- echo "✅ Skill validation passed"