[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6F9FCQ0DS2KZYYAVV4FHEXH":3,"skill-same:01M6F9FCQ0DS2KZYYAVV4FHEXH":71},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":48,"commitSha":49,"skillDirectory":50,"forksCount":51,"repositoryHtmlUrl":52,"repositoryHomepageUrl":6,"ownerHtmlUrl":53,"ownerBlogUrl":54,"ownerDescription":55,"updatedAt":56,"install":57,"resources":70},"01M6F9FCQ0DS2KZYYAVV4FHEXH","twinmind-incident-runbook",null,"Incident response procedures for TwinMind integration failures.\nUse when experiencing outages, debugging production issues,\nor responding to alerts related to TwinMind.\nTrigger with phrases like \"twinmind incident\", \"twinmind outage\",\n\"twinmind down\", \"twinmind emergency\", \"twinmind runbook\".","Dicklesworthstone\u002Fpi_agent_rust","Dicklesworthstone","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F35050222?v=4","01M6CG26AR942CSVMN1M5E3DSE","Jeff Emanuel","01M6CG26EPP71PSHW1VDS71121",1981,"MIT","https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Fplugins-community\u002Fplugins\u002Fsaas-packs\u002Ftwinmind-pack\u002Fskills\u002Ftwinmind-incident-runbook\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"runbook","twinmind incident runbook","incident","use","when","down","for","with","trigger","io","alerts","incident response","read","curl","grep","Bash","Production","integration","issues","debugging","2026-11-10 10:12:30",false,"---\nname: twinmind-incident-runbook\ndescription: |\n  Incident response procedures for TwinMind integration failures.\n  Use when experiencing outages, debugging production issues,\n  or responding to alerts related to TwinMind.\n  Trigger with phrases like \"twinmind incident\", \"twinmind outage\",\n  \"twinmind down\", \"twinmind emergency\", \"twinmind runbook\".\nallowed-tools: Read, Bash(curl:*), Grep\nversion: 1.0.0\nlicense: MIT\nauthor: Jeremy Longshore \u003Cjeremy@intentsolutions.io>\n---\n\n# TwinMind Incident Runbook\n\n## Overview\nProcedures for diagnosing and resolving TwinMind integration incidents.\n\n## Prerequisites\n- Access to monitoring dashboards\n- Production environment credentials\n- On-call rotation contacts\n- TwinMind support contact\n\n## Incident Classification\n\n| Severity | Description | Response Time | Examples |\n|----------|-------------|---------------|----------|\n| P1 - Critical | Complete service outage | 15 minutes | All transcriptions failing |\n| P2 - High | Major feature degraded | 1 hour | Summaries not generating |\n| P3 - Medium | Minor functionality impacted | 4 hours | Slow transcription |\n| P4 - Low | Cosmetic or edge case | 24 hours | Occasional timeout |\n\n## Initial Response Checklist\n\n```markdown\n## Incident Response - First 5 Minutes\n\n### 1. Acknowledge Alert\n- [ ] Acknowledge in PagerDuty\u002FOpsgenie\n- [ ] Join incident Slack channel\n- [ ] Note start time: __________\n\n### 2. Quick Health Check\n- [ ] Check TwinMind status page: https:\u002F\u002Fstatus.twinmind.com\n- [ ] Check our service health endpoint\n- [ ] Check recent deployments\n- [ ] Check infrastructure status\n\n### 3. Initial Assessment\n- [ ] Identify affected functionality\n- [ ] Estimate user impact\n- [ ] Classify severity (P1\u002FP2\u002FP3\u002FP4)\n\n### 4. Communication\n- [ ] Update status page (if P1\u002FP2)\n- [ ] Notify stakeholders\n- [ ] Create incident ticket\n```\n\n## Diagnostic Commands\n\n### Check TwinMind API Status\n\n```bash\n# Quick health check\ncurl -s -o \u002Fdev\u002Fnull -w \"%{http_code}\" \\\n  -H \"Authorization: Bearer $TWINMIND_API_KEY\" \\\n  https:\u002F\u002Fapi.twinmind.com\u002Fv1\u002Fhealth\n\n# Detailed health check\ncurl -s -H \"Authorization: Bearer $TWINMIND_API_KEY\" \\\n  https:\u002F\u002Fapi.twinmind.com\u002Fv1\u002Fhealth | jq\n\n# Check status page API\ncurl -s https:\u002F\u002Fstatus.twinmind.com\u002Fapi\u002Fv2\u002Fstatus.json | jq '.status'\n```\n\n### Check Our Service Health\n\n```bash\n# Application health\ncurl -s http:\u002F\u002Flocalhost:8080\u002Fhealth | jq\n\n# TwinMind-specific health\ncurl -s http:\u002F\u002Flocalhost:8080\u002Fhealth\u002Ftwinmind | jq\n\n# Check recent errors in logs\nkubectl logs -l app=twinmind-service --tail=100 | grep -i error\n\n# Check metrics endpoint\ncurl -s http:\u002F\u002Flocalhost:8080\u002Fmetrics | grep twinmind_errors\n```\n\n### Check Rate Limits\n\n```bash\n# Get current rate limit status\ncurl -I -H \"Authorization: Bearer $TWINMIND_API_KEY\" \\\n  https:\u002F\u002Fapi.twinmind.com\u002Fv1\u002Fhealth 2>\u002Fdev\u002Fnull | grep -i ratelimit\n\n# Check our rate limit tracking\ncurl -s http:\u002F\u002Flocalhost:8080\u002Fmetrics | grep rate_limit\n```\n\n## Common Incident Scenarios\n\n### Scenario 1: All Transcriptions Failing\n\n**Symptoms:**\n- 100% error rate on transcriptions\n- `twinmind_transcriptions_total{status=\"error\"}` spiking\n\n**Diagnosis Steps:**\n\n```bash\n# 1. Check TwinMind API availability\ncurl -v -H \"Authorization: Bearer $TWINMIND_API_KEY\" \\\n  https:\u002F\u002Fapi.twinmind.com\u002Fv1\u002Fhealth\n\n# 2. Check error types in logs\nkubectl logs -l app=twinmind-service --tail=200 | \\\n  grep -E \"(error|Error|ERROR)\" | \\\n  awk '{print $NF}' | sort | uniq -c | sort -rn\n\n# 3. Test a simple transcription\ncurl -X POST \\\n  -H \"Authorization: Bearer $TWINMIND_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"audio_url\":\"https:\u002F\u002Fexample.com\u002Ftest.mp3\"}' \\\n  https:\u002F\u002Fapi.twinmind.com\u002Fv1\u002Ftranscribe\n\n# 4. Check if specific to our API key\n# Try with a different key if available\n```\n\n**Resolution Steps:**\n\n1. If TwinMind API is down:\n   - Update status page\n   - Notify users\n   - Wait for TwinMind resolution\n   - Monitor status.twinmind.com\n\n2. If our API key is invalid:\n   - Check key expiration\n   - Regenerate key if needed\n   - Update secrets manager\n   - Restart services\n\n3. If network issue:\n   - Check DNS resolution\n   - Check firewall rules\n   - Verify egress connectivity\n\n---\n\n### Scenario 2: High Latency\n\n**Symptoms:**\n- P95 latency > 5 seconds\n- Users reporting slow transcriptions\n- `twinmind_api_latency_seconds` histogram showing high values\n\n**Diagnosis Steps:**\n\n```bash\n# 1. Check latency metrics\ncurl -s http:\u002F\u002Flocalhost:8080\u002Fmetrics | \\\n  grep twinmind_api_latency\n\n# 2. Check for queuing\ncurl -s http:\u002F\u002Flocalhost:8080\u002Fmetrics | \\\n  grep queue\n\n# 3. Check TwinMind processing times\n# Look at recent transcription durations\ncurl -s http:\u002F\u002Flocalhost:8080\u002Fmetrics | \\\n  grep twinmind_transcription_duration\n\n# 4. Check resource usage\nkubectl top pods -l app=twinmind-service\n```\n\n**Resolution Steps:**\n\n1. If TwinMind is slow:\n   - Check status.twinmind.com for degradation notice\n   - Consider switching to faster model (ear-2)\n   - Queue non-urgent requests\n\n2. If our service is overloaded:\n   - Scale up replicas\n   - Increase rate limiting\n   - Queue requests\n\n3. If network latency:\n   - Check regional connectivity\n   - Consider caching DNS\n   - Verify no proxy issues\n\n---\n\n### Scenario 3: Rate Limiting\n\n**Symptoms:**\n- 429 errors increasing\n- `twinmind_errors_total{error_type=\"RATE_LIMITED\"}` > 0\n- Rate limit remaining gauge near 0\n\n**Diagnosis Steps:**\n\n```bash\n# 1. Check current rate limit status\ncurl -I -H \"Authorization: Bearer $TWINMIND_API_KEY\" \\\n  https:\u002F\u002Fapi.twinmind.com\u002Fv1\u002Fhealth 2>\u002Fdev\u002Fnull | grep -i ratelimit\n\n# 2. Check request volume\ncurl -s http:\u002F\u002Flocalhost:8080\u002Fmetrics | \\\n  grep twinmind_api_requests_total\n\n# 3. Identify heavy consumers\nkubectl logs -l app=twinmind-service --tail=1000 | \\\n  grep -i \"transcribe\" | \\\n  awk '{print $4}' | sort | uniq -c | sort -rn | head -20\n```\n\n**Resolution Steps:**\n\n1. Immediate:\n   - Enable request queue if not already\n   - Reject non-critical requests\n   - Implement stricter client-side limiting\n\n2. Short-term:\n   - Request rate limit increase from TwinMind\n   - Upgrade to higher tier\n   - Distribute load across multiple API keys\n\n3. Long-term:\n   - Implement smarter caching\n   - Batch requests where possible\n   - Optimize client request patterns\n\n---\n\n### Scenario 4: Authentication Failures\n\n**Symptoms:**\n- 401 errors\n- \"Invalid API key\" messages\n- All authenticated requests failing\n\n**Diagnosis Steps:**\n\n```bash\n# 1. Verify API key is set\necho $TWINMIND_API_KEY | head -c 20\n\n# 2. Test API key directly\ncurl -H \"Authorization: Bearer $TWINMIND_API_KEY\" \\\n  https:\u002F\u002Fapi.twinmind.com\u002Fv1\u002Fme\n\n# 3. Check if key was rotated\n# Check TwinMind dashboard for key history\n\n# 4. Verify secrets manager\naws secretsmanager get-secret-value --secret-id twinmind-api-key | jq\n```\n\n**Resolution Steps:**\n\n1. If key expired\u002Frevoked:\n   - Generate new API key in TwinMind dashboard\n   - Update secrets manager\n   - Restart affected services\n\n2. If key leaked:\n   - Immediately revoke key\n   - Generate new key\n   - Audit access logs\n   - Update secrets\n   - Review security practices\n\n## Escalation Path\n\n```\nLevel 1: On-Call Engineer (0-15 min)\n   ↓\nLevel 2: Team Lead (15-30 min)\n   ↓\nLevel 3: Engineering Manager (30-60 min)\n   ↓\nLevel 4: VP Engineering (60+ min)\n```\n\n### TwinMind Support Contact\n\n- **Email:** support@twinmind.com\n- **Enterprise Support:** enterprise-support@twinmind.com\n- **Status Page:** https:\u002F\u002Fstatus.twinmind.com\n- **Community:** https:\u002F\u002Fcommunity.twinmind.com\n\n## Post-Incident Checklist\n\n```markdown\n## Post-Incident Review\n\n### Immediate (Within 24 hours)\n- [ ] Confirm issue fully resolved\n- [ ] Update status page to resolved\n- [ ] Notify stakeholders of resolution\n- [ ] Document timeline in incident ticket\n\n### Follow-up (Within 1 week)\n- [ ] Schedule post-mortem meeting\n- [ ] Write incident report\n- [ ] Identify root cause\n- [ ] Create action items\n- [ ] Update runbook if needed\n\n### Long-term\n- [ ] Implement preventive measures\n- [ ] Update monitoring\u002Falerting\n- [ ] Share learnings with team\n- [ ] Update documentation\n```\n\n## Incident Report Template\n\n```markdown\n# Incident Report: [TITLE]\n\n**Date:** YYYY-MM-DD\n**Duration:** HH:MM - HH:MM (X hours Y minutes)\n**Severity:** P1\u002FP2\u002FP3\u002FP4\n**Impact:** [Number of affected users\u002Frequests]\n\n## Summary\n[Brief description of what happened]\n\n## Timeline\n- HH:MM - Alert triggered\n- HH:MM - On-call acknowledged\n- HH:MM - [Key actions taken]\n- HH:MM - Issue resolved\n\n## Root Cause\n[Detailed explanation of why the incident occurred]\n\n## Resolution\n[How the issue was fixed]\n\n## Action Items\n- [ ] [Preventive measure 1]\n- [ ] [Monitoring improvement]\n- [ ] [Documentation update]\n\n## Lessons Learned\n[Key takeaways for the team]\n```\n\n## Output\n- Incident classification guide\n- Diagnostic commands\n- Common scenario playbooks\n- Escalation procedures\n- Post-incident checklist\n- Report template\n\n## Resources\n- [TwinMind Status Page](https:\u002F\u002Fstatus.twinmind.com)\n- [TwinMind Support](https:\u002F\u002Ftwinmind.com\u002Fsupport)\n- [PagerDuty Best Practices](https:\u002F\u002Fresponse.pagerduty.com\u002F)\n\n## Next Steps\nFor data handling procedures, see `twinmind-data-handling`.\n","# TwinMind Incident Runbook\n\n## Overview\nProcedures for diagnosing and resolving TwinMind integration incidents.\n\n## Prerequisites\n- Access to monitoring dashboards\n- Production environment credentials\n- On-call rotation contacts\n- TwinMind support contact\n\n## Incident Classification\n\n| Severity | Description | Response Time | Examples |\n|----------|-------------|---------------|----------|\n| P1 - Critical | Complete service outage | 15 minutes | All transcriptions failing |\n| P2 - High | Major feature degraded | 1 hour | Summaries not generating |\n| P3 - Medium | Minor functionality impacted | 4 hours | Slow transcription |\n| P4 - Low | Cosmetic or edge case | 24 hours | Occasional timeout |\n\n## Initial Response Checklist\n\n```markdown\n## Incident Response - First 5 Minutes\n\n### 1. Acknowledge Alert\n- [ ] Acknowledge in PagerDuty\u002FOpsgenie\n- [ ] Join incident Slack channel\n- [ ] Note start time: __________\n\n### 2. Quick Health Check\n- [ ] Check TwinMind status page: https:\u002F\u002Fstatus.twinmind.com\n- [ ] Check our service health endpoint\n- [ ] Check recent deployments\n- [ ] Check infrastructure status\n\n### 3. Initial Assessment\n- [ ] Identify affected functionality\n- [ ] Estimate user impact\n- [ ] Classify severity (P1\u002FP2\u002FP3\u002FP4)\n\n### 4. Communication\n- [ ] Update status page (if P1\u002FP2)\n- [ ] Notify stakeholders\n- [ ] Create incident ticket\n```\n\n## Diagnostic Commands\n\n### Check TwinMind API Status\n\n```bash\n# Quick health check\ncurl -s -o \u002Fdev\u002Fnull -w \"%{http_code}\" \\\n  -H \"Authorization: Bearer $TWINMIND_API_KEY\" \\\n  https:\u002F\u002Fapi.twinmind.com\u002Fv1\u002Fhealth\n\n# Detailed health check\ncurl -s -H \"Authorization: Bearer $TWINMIND_API_KEY\" \\\n  https:\u002F\u002Fapi.twinmind.com\u002Fv1\u002Fhealth | jq\n\n# Check status page API\ncurl -s https:\u002F\u002Fstatus.twinmind.com\u002Fapi\u002Fv2\u002Fstatus.json | jq '.status'\n```\n\n### Check Our Service Health\n\n```bash\n# Application health\ncurl -s http:\u002F\u002Flocalhost:8080\u002Fhealth | jq\n\n# TwinMind-specific health\ncurl -s http:\u002F\u002Flocalhost:8080\u002Fhealth\u002Ftwinmind | jq\n\n# Check recent errors in logs\nkubectl logs -l app=twinmind-service --tail=100 | grep -i error\n\n# Check metrics endpoint\ncurl -s http:\u002F\u002Flocalhost:8080\u002Fmetrics | grep twinmind_errors\n```\n\n### Check Rate Limits\n\n```bash\n# Get current rate limit status\ncurl -I -H \"Authorization: Bearer $TWINMIND_API_KEY\" \\\n  https:\u002F\u002Fapi.twinmind.com\u002Fv1\u002Fhealth 2>\u002Fdev\u002Fnull | grep -i ratelimit\n\n# Check our rate limit tracking\ncurl -s http:\u002F\u002Flocalhost:8080\u002Fmetrics | grep rate_limit\n```\n\n## Common Incident Scenarios\n\n### Scenario 1: All Transcriptions Failing\n\n**Symptoms:**\n- 100% error rate on transcriptions\n- `twinmind_transcriptions_total{status=\"error\"}` spiking\n\n**Diagnosis Steps:**\n\n```bash\n# 1. Check TwinMind API availability\ncurl -v -H \"Authorization: Bearer $TWINMIND_API_KEY\" \\\n  https:\u002F\u002Fapi.twinmind.com\u002Fv1\u002Fhealth\n\n# 2. Check error types in logs\nkubectl logs -l app=twinmind-service --tail=200 | \\\n  grep -E \"(error|Error|ERROR)\" | \\\n  awk '{print $NF}' | sort | uniq -c | sort -rn\n\n# 3. Test a simple transcription\ncurl -X POST \\\n  -H \"Authorization: Bearer $TWINMIND_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"audio_url\":\"https:\u002F\u002Fexample.com\u002Ftest.mp3\"}' \\\n  https:\u002F\u002Fapi.twinmind.com\u002Fv1\u002Ftranscribe\n\n# 4. Check if specific to our API key\n# Try with a different key if available\n```\n\n**Resolution Steps:**\n\n1. If TwinMind API is down:\n   - Update status page\n   - Notify users\n   - Wait for TwinMind resolution\n   - Monitor status.twinmind.com\n\n2. If our API key is invalid:\n   - Check key expiration\n   - Regenerate key if needed\n   - Update secrets manager\n   - Restart services\n\n3. If network issue:\n   - Check DNS resolution\n   - Check firewall rules\n   - Verify egress connectivity\n\n---\n\n### Scenario 2: High Latency\n\n**Symptoms:**\n- P95 latency > 5 seconds\n- Users reporting slow transcriptions\n- `twinmind_api_latency_seconds` histogram showing high values\n\n**Diagnosis Steps:**\n\n```bash\n# 1. Check latency metrics\ncurl -s http:\u002F\u002Flocalhost:8080\u002Fmetrics | \\\n  grep twinmind_api_latency\n\n# 2. Check for queuing\ncurl -s http:\u002F\u002Flocalhost:8080\u002Fmetrics | \\\n  grep queue\n\n# 3. Check TwinMind processing times\n# Look at recent transcription durations\ncurl -s http:\u002F\u002Flocalhost:8080\u002Fmetrics | \\\n  grep twinmind_transcription_duration\n\n# 4. Check resource usage\nkubectl top pods -l app=twinmind-service\n```\n\n**Resolution Steps:**\n\n1. If TwinMind is slow:\n   - Check status.twinmind.com for degradation notice\n   - Consider switching to faster model (ear-2)\n   - Queue non-urgent requests\n\n2. If our service is overloaded:\n   - Scale up replicas\n   - Increase rate limiting\n   - Queue requests\n\n3. If network latency:\n   - Check regional connectivity\n   - Consider caching DNS\n   - Verify no proxy issues\n\n---\n\n### Scenario 3: Rate Limiting\n\n**Symptoms:**\n- 429 errors increasing\n- `twinmind_errors_total{error_type=\"RATE_LIMITED\"}` > 0\n- Rate limit remaining gauge near 0\n\n**Diagnosis Steps:**\n\n```bash\n# 1. Check current rate limit status\ncurl -I -H \"Authorization: Bearer $TWINMIND_API_KEY\" \\\n  https:\u002F\u002Fapi.twinmind.com\u002Fv1\u002Fhealth 2>\u002Fdev\u002Fnull | grep -i ratelimit\n\n# 2. Check request volume\ncurl -s http:\u002F\u002Flocalhost:8080\u002Fmetrics | \\\n  grep twinmind_api_requests_total\n\n# 3. Identify heavy consumers\nkubectl logs -l app=twinmind-service --tail=1000 | \\\n  grep -i \"transcribe\" | \\\n  awk '{print $4}' | sort | uniq -c | sort -rn | head -20\n```\n\n**Resolution Steps:**\n\n1. Immediate:\n   - Enable request queue if not already\n   - Reject non-critical requests\n   - Implement stricter client-side limiting\n\n2. Short-term:\n   - Request rate limit increase from TwinMind\n   - Upgrade to higher tier\n   - Distribute load across multiple API keys\n\n3. Long-term:\n   - Implement smarter caching\n   - Batch requests where possible\n   - Optimize client request patterns\n\n---\n\n### Scenario 4: Authentication Failures\n\n**Symptoms:**\n- 401 errors\n- \"Invalid API key\" messages\n- All authenticated requests failing\n\n**Diagnosis Steps:**\n\n```bash\n# 1. Verify API key is set\necho $TWINMIND_API_KEY | head -c 20\n\n# 2. Test API key directly\ncurl -H \"Authorization: Bearer $TWINMIND_API_KEY\" \\\n  https:\u002F\u002Fapi.twinmind.com\u002Fv1\u002Fme\n\n# 3. Check if key was rotated\n# Check TwinMind dashboard for key history\n\n# 4. Verify secrets manager\naws secretsmanager get-secret-value --secret-id twinmind-api-key | jq\n```\n\n**Resolution Steps:**\n\n1. If key expired\u002Frevoked:\n   - Generate new API key in TwinMind dashboard\n   - Update secrets manager\n   - Restart affected services\n\n2. If key leaked:\n   - Immediately revoke key\n   - Generate new key\n   - Audit access logs\n   - Update secrets\n   - Review security practices\n\n## Escalation Path\n\n```\nLevel 1: On-Call Engineer (0-15 min)\n   ↓\nLevel 2: Team Lead (15-30 min)\n   ↓\nLevel 3: Engineering Manager (30-60 min)\n   ↓\nLevel 4: VP Engineering (60+ min)\n```\n\n### TwinMind Support Contact\n\n- **Email:** support@twinmind.com\n- **Enterprise Support:** enterprise-support@twinmind.com\n- **Status Page:** https:\u002F\u002Fstatus.twinmind.com\n- **Community:** https:\u002F\u002Fcommunity.twinmind.com\n\n## Post-Incident Checklist\n\n```markdown\n## Post-Incident Review\n\n### Immediate (Within 24 hours)\n- [ ] Confirm issue fully resolved\n- [ ] Update status page to resolved\n- [ ] Notify stakeholders of resolution\n- [ ] Document timeline in incident ticket\n\n### Follow-up (Within 1 week)\n- [ ] Schedule post-mortem meeting\n- [ ] Write incident report\n- [ ] Identify root cause\n- [ ] Create action items\n- [ ] Update runbook if needed\n\n### Long-term\n- [ ] Implement preventive measures\n- [ ] Update monitoring\u002Falerting\n- [ ] Share learnings with team\n- [ ] Update documentation\n```\n\n## Incident Report Template\n\n```markdown\n# Incident Report: [TITLE]\n\n**Date:** YYYY-MM-DD\n**Duration:** HH:MM - HH:MM (X hours Y minutes)\n**Severity:** P1\u002FP2\u002FP3\u002FP4\n**Impact:** [Number of affected users\u002Frequests]\n\n## Summary\n[Brief description of what happened]\n\n## Timeline\n- HH:MM - Alert triggered\n- HH:MM - On-call acknowledged\n- HH:MM - [Key actions taken]\n- HH:MM - Issue resolved\n\n## Root Cause\n[Detailed explanation of why the incident occurred]\n\n## Resolution\n[How the issue was fixed]\n\n## Action Items\n- [ ] [Preventive measure 1]\n- [ ] [Monitoring improvement]\n- [ ] [Documentation update]\n\n## Lessons Learned\n[Key takeaways for the team]\n```\n\n## Output\n- Incident classification guide\n- Diagnostic commands\n- Common scenario playbooks\n- Escalation procedures\n- Post-incident checklist\n- Report template\n\n## Resources\n- [TwinMind Status Page](https:\u002F\u002Fstatus.twinmind.com)\n- [TwinMind Support](https:\u002F\u002Ftwinmind.com\u002Fsupport)\n- [PagerDuty Best Practices](https:\u002F\u002Fresponse.pagerduty.com\u002F)\n\n## Next Steps\nFor data handling procedures, see `twinmind-data-handling`.\n",{"name":5,"author":44,"license":15,"version":45,"description":46,"allowed-tools":47},"Jeremy Longshore \u003Cjeremy@intentsolutions.io>","1.0.0","Incident response procedures for TwinMind integration failures.\nUse when experiencing outages, debugging production issues,\nor responding to alerts related to TwinMind.\nTrigger with phrases like \"twinmind incident\", \"twinmind outage\",\n\"twinmind down\", \"twinmind emergency\", \"twinmind runbook\".\n","Read, Bash(curl:*), Grep","main","90b50ed0778745a80fd5bfb13b1843d45b9e82f7","tests\u002Fext_conformance\u002Fartifacts\u002Fplugins-community\u002Fplugins\u002Fsaas-packs\u002Ftwinmind-pack\u002Fskills\u002Ftwinmind-incident-runbook",231,"https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust","https:\u002F\u002Fgithub.com\u002FDicklesworthstone","https:\u002F\u002Fwww.jeffreyemanuel.com\u002F","Building in NY","2026-11-12 03:15:57",{"source":8,"skillName":5,"commands":58,"prompt":68,"zipAvailable":69},[59,62,65],{"tool":60,"command":61},"npx","npx skills add Dicklesworthstone\u002Fpi_agent_rust --skill twinmind-incident-runbook",{"tool":63,"command":64},"bunx","bunx skills add Dicklesworthstone\u002Fpi_agent_rust --skill twinmind-incident-runbook",{"tool":66,"command":67},"pnpm","pnpm dlx skills add Dicklesworthstone\u002Fpi_agent_rust --skill twinmind-incident-runbook","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Fplugins-community\u002Fplugins\u002Fsaas-packs\u002Ftwinmind-pack\u002Fskills\u002Ftwinmind-incident-runbook\u002FSKILL.md",true,[],[72,111,134,160,187,209],{"skillNo":73,"name":74,"nameZh":6,"description":75,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":76,"licenseFileUrl":77,"sourceHtmlUrl":78,"categories":79,"keywords":85,"publishedAt":39},"01M6FEGPPK0ZTKCCM0R3E3KS33","web-artifacts-builder","Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn\u002Fui). Use for complex artifacts requiring state management, routing, or shadcn\u002Fui components - not for simple single-file HTML\u002FJSX artifacts.","Apache-2.0","https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Ftemplates-davila7\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Futilities\u002Fweb-artifacts-builder\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Ftemplates-davila7\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Futilities\u002Fweb-artifacts-builder\u002FSKILL.md",[80],{"categoryNo":81,"categoryName":82,"taxonomyType":83,"taxonomyTypeDesc":84},"01JBSEEDCAT000000000000009","前端开发","SCENARIO","使用场景",[86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,22,104,105,106,107,108,25,109,110],"web artifacts builder","web","artifacts","artifacts builder","builder","frontend","css","components","react","component","routing","state management","state","shadcn","file","ui","Tools","Tailwind","html","single-file","simple","ui components","multi","jsx","suite",{"skillNo":112,"name":113,"nameZh":6,"description":114,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":76,"licenseFileUrl":115,"sourceHtmlUrl":116,"categories":117,"keywords":122,"publishedAt":39},"01M6FEE9VTK1W4GY21AKREJXRG","webapp-testing","Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.","https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Ftemplates-davila7\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fsecurity\u002Fwebapp-testing\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Ftemplates-davila7\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fsecurity\u002Fwebapp-testing\u002FSKILL.md",[118,121],{"categoryNo":119,"categoryName":120,"taxonomyType":83,"taxonomyTypeDesc":84},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":81,"categoryName":82,"taxonomyType":83,"taxonomyTypeDesc":84},[123,124,125,91,126,127,87,38,128,129,101,130,131,132,133,26,25],"testing","webapp testing","webapp","screenshots","playwright","toolkit","browser","logs","applications","behavior","local",{"skillNo":135,"name":136,"nameZh":6,"description":137,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":138,"sourceHtmlUrl":139,"categories":140,"keywords":141,"publishedAt":39},"01M6FE20F7ZTQBFWKF4MPJ2SBX","neuropixels-analysis","Neuropixels neural recording analysis. Load SpikeGLX\u002FOpenEphys data, preprocess, motion correction, Kilosort4 spike sorting, quality metrics, Allen\u002FIBL curation, AI-assisted visual analysis, for Neuropixels 1.0\u002F2.0 extracellular electrophysiology. Use when working with neural recordings, spike sorting, extracellular electrophysiology, or when the user mentions Neuropixels, SpikeGLX, Open Ephys, Kilosort, quality metrics, or unit curation.","https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Ftemplates-davila7\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fscientific\u002Fneuropixels-analysis\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Ftemplates-davila7\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fscientific\u002Fneuropixels-analysis\u002FSKILL.md",[],[142,143,144,145,146,147,148,149,22,150,151,152,153,154,155,156,26,157,158,159,25,23],"analysis","neuropixels analysis","spike","metrics","data","open","quality","user","recordings","Neural","motion","visual","quality metrics","unit","sorting","curation","recording","load",{"skillNo":161,"name":162,"nameZh":6,"description":163,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":76,"licenseFileUrl":164,"sourceHtmlUrl":165,"categories":166,"keywords":170,"publishedAt":39},"01M6FDP0PDK6F1GGX395C7625Z","skill-creator","Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.","https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Ftemplates-davila7\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fproductivity\u002Fskill-creator\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Ftemplates-davila7\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fproductivity\u002Fskill-creator\u002FSKILL.md",[167],{"categoryNo":168,"categoryName":169,"taxonomyType":83,"taxonomyTypeDesc":84},"01JBSEEDCAT000000000000023","Skill与智能体开发",[171,172,173,174,175,176,177,178,179,180,181,182,183,184,26,25,185,23,186],"skill creator","creator","workflows","create","update","capabilities","knowledge","tool","integrations","specialized","guide","new skill","existing skill","users","Existing","new",{"skillNo":188,"name":189,"nameZh":6,"description":190,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":191,"sourceHtmlUrl":192,"categories":193,"keywords":195,"publishedAt":39},"01M6FDM8Y7VK7NYG9SM7QPA3PW","notebooklm","Use this skill to query your Google NotebookLM notebooks directly from Claude Code for source-grounded, citation-backed answers from Gemini. Browser automation, library management, persistent auth. Drastically reduced hallucinations through document-only responses.","https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Ftemplates-davila7\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fproductivity\u002Fnotebooklm\u002FLICENSE","https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Ftemplates-davila7\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fproductivity\u002Fnotebooklm\u002FSKILL.md",[194],{"categoryNo":168,"categoryName":169,"taxonomyType":83,"taxonomyTypeDesc":84},[189,196,197,198,199,200,201,129,202,203,22,204,205,206,207,25,208],"google","browser automation","gemini","automation","auth","code","library","management","only","document","query","Citation","source",{"skillNo":210,"name":211,"nameZh":6,"description":212,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":76,"licenseFileUrl":213,"sourceHtmlUrl":214,"categories":215,"keywords":222,"publishedAt":39},"01M6FDHPXE10J3XGTCH5HBHS1M","slack-gif-creator","Knowledge and utilities for creating animated GIFs optimized for Slack. Provides constraints, validation tools, and animation concepts. Use when users request animated GIFs for Slack like \"make me a GIF of X doing Y for Slack.\"","https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Ftemplates-davila7\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fenterprise-communication\u002Fslack-gif-creator\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002FDicklesworthstone\u002Fpi_agent_rust\u002Fblob\u002Fmain\u002Ftests\u002Fext_conformance\u002Fartifacts\u002Ftemplates-davila7\u002Fcli-tool\u002Fcomponents\u002Fskills\u002Fenterprise-communication\u002Fslack-gif-creator\u002FSKILL.md",[216,219],{"categoryNo":217,"categoryName":218,"taxonomyType":83,"taxonomyTypeDesc":84},"01JBSEEDCAT000000000000005","邮件与沟通",{"categoryNo":220,"categoryName":221,"taxonomyType":83,"taxonomyTypeDesc":84},"01JBSEEDCAT000000000000016","图像与多媒体",[223,224,225,172,226,102,227,228,177,22,229,184,230,231,232,25,233,23],"slack gif creator","slack","gif","validation","constraints","Animation","me","make","Utilities","concepts","request"]