[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6H95W2NFW3M65SNBNZAYSMP":3,"skill-same:01M6H95W2NFW3M65SNBNZAYSMP":74},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":43,"linkOnly":44,"markdownContent":45,"markdownBody":46,"frontMatter":47,"refName":53,"commitSha":54,"skillDirectory":55,"forksCount":56,"repositoryHtmlUrl":57,"repositoryHomepageUrl":6,"ownerHtmlUrl":58,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":59,"install":60,"resources":73},"01M6H95W2NFW3M65SNBNZAYSMP","twinmind-common-errors",null,"Diagnose and fix TwinMind common errors and exceptions.\nUse when encountering transcription errors, debugging failed requests,\nor troubleshooting integration issues.\nTrigger with phrases like \"twinmind error\", \"fix twinmind\",\n\"twinmind not working\", \"debug twinmind\", \"transcription failed\".","micsapp\u002Fmicstec-skills","micsapp","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F82411001?v=4","01M6GWCFQ6D3PV8EHNY62NN5VW","01M6GWCFVE1PA5HG0DKC7AMFJ3",4,"MIT","https:\u002F\u002Fgithub.com\u002Fmicsapp\u002Fmicstec-skills\u002Fblob\u002Fmaster\u002Fclaude-code\u002Fplugins-plus-skills\u002Fplugins\u002Fsaas-packs\u002Ftwinmind-pack\u002Fskills\u002Ftwinmind-common-errors\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],"twinmind common errors","errors","common","read","requests","with","error","trigger","io","use","fix","openclaw","curl","Bash","issues","code","debugging","diagnose","debug","codex","2026-11-10 10:12:30",false,"---\nname: twinmind-common-errors\ndescription: |\n  Diagnose and fix TwinMind common errors and exceptions.\n  Use when encountering transcription errors, debugging failed requests,\n  or troubleshooting integration issues.\n  Trigger with phrases like \"twinmind error\", \"fix twinmind\",\n  \"twinmind not working\", \"debug twinmind\", \"transcription failed\".\nallowed-tools: Read, Grep, Bash(curl:*)\nversion: 1.0.0\nlicense: MIT\nauthor: Jeremy Longshore \u003Cjeremy@intentsolutions.io>\ncompatible-with: claude-code, codex, openclaw\n---\n# TwinMind Common Errors\n\n## Overview\nQuick reference for the most common TwinMind errors and their solutions.\n\n## Prerequisites\n- TwinMind extension or API configured\n- Access to error logs or console\n- API credentials for testing\n\n## Instructions\n\n### Step 1: Identify the Error\nCheck error message in console, extension popup, or API response.\n\n### Step 2: Find Matching Error Below\nMatch your error to one of the documented cases.\n\n### Step 3: Apply Solution\nFollow the solution steps for your specific error.\n\n## Error Reference\n\n### Authentication Failed\n**Error Message:**\n```\nError: Authentication failed - Invalid or expired API key\nStatus: 401 Unauthorized  # HTTP 401 Unauthorized\n```\n\n**Cause:** API key is missing, expired, or incorrect.\n\n**Solution:**\n```bash\nset -euo pipefail\n# Verify API key is set correctly\necho $TWINMIND_API_KEY\n\n# Test authentication\ncurl -H \"Authorization: Bearer $TWINMIND_API_KEY\" \\\n  https:\u002F\u002Fapi.twinmind.com\u002Fv1\u002Fhealth\n\n# Regenerate key if expired\n# Visit: https:\u002F\u002Ftwinmind.com\u002Fsettings\u002Fapi\n```\n\n---\n\n### Microphone Access Denied\n**Error Message:**\n```\nError: Microphone permission denied\nNotAllowedError: Permission denied\n```\n\n**Cause:** Browser or OS hasn't granted microphone access.\n\n**Solution:**\n\nChrome:\n```\n1. Click lock icon in address bar\n2. Site Settings > Microphone > Allow\n3. Reload the page\n```\n\nmacOS:\n```bash\n# Check current permissions\ntccutil list com.google.Chrome\n\n# Reset permissions (requires re-grant)\ntccutil reset Microphone com.google.Chrome\n```\n\nWindows:\n```\nSettings > Privacy > Microphone > Allow apps to access microphone\n```\n\n---\n\n### Transcription Timeout\n**Error Message:**\n```\nError: Transcription timeout after 300000ms\nRequestTimeoutError: Request exceeded timeout\n```\n\n**Cause:** Audio file too large or network issues.\n\n**Solution:**\n```typescript\n\u002F\u002F Increase timeout for large files\nconst client = new TwinMindClient({\n  apiKey: process.env.TWINMIND_API_KEY,\n  timeout: 600000, \u002F\u002F 10 minutes  # 600000 = configured value\n});\n\n\u002F\u002F Or use async processing with webhooks\nconst response = await client.post('\u002Ftranscribe', {\n  audio_url: audioUrl,\n  async: true,\n  webhook_url: 'https:\u002F\u002Fyour-server.com\u002Fwebhook\u002Ftwinmind',\n});\n```\n\n---\n\n### Rate Limit Exceeded\n**Error Message:**\n```\nError: Rate limit exceeded. Please retry after 60 seconds.\nStatus: 429 Too Many Requests  # HTTP 429 Too Many Requests\nX-RateLimit-Remaining: 0\n```\n\n**Cause:** Too many API requests in a short period.\n\n**Solution:**\n```typescript\n\u002F\u002F Implement exponential backoff\nasync function withBackoff\u003CT>(operation: () => Promise\u003CT>): Promise\u003CT> {\n  const maxRetries = 5;\n  for (let attempt = 0; attempt \u003C maxRetries; attempt++) {\n    try {\n      return await operation();\n    } catch (error: any) {\n      if (error.response?.status !== 429) throw error;  # HTTP 429 Too Many Requests\n\n      const retryAfter = parseInt(error.response.headers['retry-after'] || '60');\n      console.log(`Rate limited. Waiting ${retryAfter}s...`);\n      await new Promise(r => setTimeout(r, retryAfter * 1000));  # 1000: 1 second in ms\n    }\n  }\n  throw new Error('Max retries exceeded');\n}\n```\n\nSee `twinmind-rate-limits` for detailed rate limiting strategies.\n\n---\n\n### Audio Format Not Supported\n**Error Message:**\n```\nError: Unsupported audio format\nAudioFormatError: Format 'xyz' is not supported\n```\n\n**Cause:** Audio file in incompatible format.\n\n**Solution:**\n```bash\n# Convert to supported format using ffmpeg\nffmpeg -i input.xyz -acodec libmp3lame -q:a 2 output.mp3\n\n# Supported formats: MP3, WAV, M4A, WebM, OGG, FLAC\n```\n\nSupported formats:\n| Format | Extension | Notes |\n|--------|-----------|-------|\n| MP3 | .mp3 | Recommended, good compression |\n| WAV | .wav | Best quality, larger files |\n| M4A | .m4a | iOS recordings |\n| WebM | .webm | Browser recordings |\n| OGG | .ogg | Open format |\n| FLAC | .flac | Lossless audio |\n\n---\n\n### No Audio Detected\n**Error Message:**\n```\nError: No audio detected in input\nTranscriptionError: Empty or silent audio\n```\n\n**Cause:** Audio file is silent, corrupted, or too quiet.\n\n**Solution:**\n```bash\n# Check audio file properties\nffprobe -i audio.mp3 -show_streams -select_streams a\n\n# Check audio levels\nffmpeg -i audio.mp3 -filter:a volumedetect -f null \u002Fdev\u002Fnull\n\n# Amplify quiet audio\nffmpeg -i quiet.mp3 -filter:a \"volume=2.0\" amplified.mp3\n```\n\n---\n\n### Speaker Diarization Failed\n**Error Message:**\n```\nError: Speaker diarization failed\nDiarizationError: Unable to identify distinct speakers\n```\n\n**Cause:** Single speaker, overlapping speech, or poor audio quality.\n\n**Solution:**\n```typescript\n\u002F\u002F Retry without diarization\nconst transcript = await client.transcribe(audioUrl, {\n  diarization: false, \u002F\u002F Disable diarization\n});\n\n\u002F\u002F Or provide speaker count hint\nconst transcript = await client.transcribe(audioUrl, {\n  diarization: true,\n  expected_speakers: 3, \u002F\u002F Help the model\n});\n```\n\n---\n\n### Calendar Sync Failed\n**Error Message:**\n```\nError: Calendar sync failed\nOAuth2Error: Token expired or revoked\n```\n\n**Cause:** Google\u002FMicrosoft OAuth token expired.\n\n**Solution:**\n```\n1. Open TwinMind extension\n2. Go to Settings > Integrations\n3. Click \"Disconnect\" for calendar\n4. Click \"Connect\" to re-authorize\n5. Grant all requested permissions\n```\n\n---\n\n### Summary Generation Failed\n**Error Message:**\n```\nError: Summary generation failed\nGenerationError: Transcript too short for summarization\n```\n\n**Cause:** Transcript doesn't have enough content.\n\n**Solution:**\n```typescript\n\u002F\u002F Check transcript length before summarization\nconst minWordsForSummary = 50;\nconst wordCount = transcript.text.split(\u002F\\s+\u002F).length;\n\nif (wordCount \u003C minWordsForSummary) {\n  console.log('Transcript too short for summary');\n  return null;\n}\n\nconst summary = await client.summarize(transcript.id);\n```\n\n---\n\n### Extension Not Loading\n**Error Message:**\n```\nExtension error: Unable to establish connection\nChrome error: Extension context invalidated\n```\n\n**Cause:** Extension crashed, outdated, or Chrome issue.\n\n**Solution:**\n```\n1. Disable and re-enable extension:\n   chrome:\u002F\u002Fextensions\u002F > TwinMind > Toggle off\u002Fon\n\n2. Clear extension data:\n   Right-click extension > Manage Extensions > Clear data\n\n3. Reinstall extension:\n   Remove > Visit Chrome Web Store > Reinstall\n\n4. Check for conflicts:\n   Disable other extensions temporarily\n```\n\n---\n\n### Network Error\n**Error Message:**\n```\nError: Network request failed\nTypeError: Failed to fetch\nERR_CONNECTION_REFUSED\n```\n\n**Cause:** Network connectivity issues or firewall blocking.\n\n**Solution:**\n```bash\nset -euo pipefail\n# Test API connectivity\ncurl -v https:\u002F\u002Fapi.twinmind.com\u002Fv1\u002Fhealth\n\n# Check if firewall is blocking\ntelnet api.twinmind.com 443  # 443: HTTPS port\n\n# Test with different DNS\ncurl --resolve api.twinmind.com:443:$(dig +short api.twinmind.com) \\  # HTTPS port\n  https:\u002F\u002Fapi.twinmind.com\u002Fv1\u002Fhealth\n```\n\n## Quick Diagnostic Commands\n\n```bash\nset -euo pipefail\n# Check TwinMind API status\ncurl -s https:\u002F\u002Fstatus.twinmind.com\u002Fapi\u002Fv2\u002Fstatus.json | jq '.status'\n\n# Verify API connectivity\ncurl -I https:\u002F\u002Fapi.twinmind.com\u002Fv1\u002Fhealth\n\n# Test authentication\ncurl -H \"Authorization: Bearer $TWINMIND_API_KEY\" \\\n  https:\u002F\u002Fapi.twinmind.com\u002Fv1\u002Fme\n\n# Check local environment\nenv | grep TWINMIND\n\n# Validate audio file\nffprobe -v error -show_format -show_streams audio.mp3\n```\n\n## Escalation Path\n\n1. Collect evidence with `twinmind-debug-bundle`\n2. Check TwinMind status page: https:\u002F\u002Fstatus.twinmind.com\n3. Search community forum: https:\u002F\u002Fcommunity.twinmind.com\n4. Contact support with request ID: support@twinmind.com\n\n## Resources\n- [TwinMind Status Page](https:\u002F\u002Fstatus.twinmind.com)\n- [TwinMind Support](https:\u002F\u002Ftwinmind.com\u002Fsupport)\n- [TwinMind Community](https:\u002F\u002Fcommunity.twinmind.com)\n- [Error Code Reference](https:\u002F\u002Ftwinmind.com\u002Fdocs\u002Ferrors)\n\n## Next Steps\nFor comprehensive debugging, see `twinmind-debug-bundle`.\n\n## Output\n\n- Configuration files or code changes applied to the project\n- Validation report confirming correct implementation\n- Summary of changes made and their rationale\n\n## Error Handling\n\n| Error | Cause | Resolution |\n|-------|-------|------------|\n| Authentication failure | Invalid or expired credentials | Refresh tokens or re-authenticate with debugging |\n| Configuration conflict | Incompatible settings detected | Review and resolve conflicting parameters |\n| Resource not found | Referenced resource missing | Verify resource exists and permissions are correct |\n\n## Examples\n\n**Basic usage**: Apply twinmind common errors to a standard project setup with default configuration options.\n\n**Advanced scenario**: Customize twinmind common errors for production environments with multiple constraints and team-specific requirements.","# TwinMind Common Errors\n\n## Overview\nQuick reference for the most common TwinMind errors and their solutions.\n\n## Prerequisites\n- TwinMind extension or API configured\n- Access to error logs or console\n- API credentials for testing\n\n## Instructions\n\n### Step 1: Identify the Error\nCheck error message in console, extension popup, or API response.\n\n### Step 2: Find Matching Error Below\nMatch your error to one of the documented cases.\n\n### Step 3: Apply Solution\nFollow the solution steps for your specific error.\n\n## Error Reference\n\n### Authentication Failed\n**Error Message:**\n```\nError: Authentication failed - Invalid or expired API key\nStatus: 401 Unauthorized  # HTTP 401 Unauthorized\n```\n\n**Cause:** API key is missing, expired, or incorrect.\n\n**Solution:**\n```bash\nset -euo pipefail\n# Verify API key is set correctly\necho $TWINMIND_API_KEY\n\n# Test authentication\ncurl -H \"Authorization: Bearer $TWINMIND_API_KEY\" \\\n  https:\u002F\u002Fapi.twinmind.com\u002Fv1\u002Fhealth\n\n# Regenerate key if expired\n# Visit: https:\u002F\u002Ftwinmind.com\u002Fsettings\u002Fapi\n```\n\n---\n\n### Microphone Access Denied\n**Error Message:**\n```\nError: Microphone permission denied\nNotAllowedError: Permission denied\n```\n\n**Cause:** Browser or OS hasn't granted microphone access.\n\n**Solution:**\n\nChrome:\n```\n1. Click lock icon in address bar\n2. Site Settings > Microphone > Allow\n3. Reload the page\n```\n\nmacOS:\n```bash\n# Check current permissions\ntccutil list com.google.Chrome\n\n# Reset permissions (requires re-grant)\ntccutil reset Microphone com.google.Chrome\n```\n\nWindows:\n```\nSettings > Privacy > Microphone > Allow apps to access microphone\n```\n\n---\n\n### Transcription Timeout\n**Error Message:**\n```\nError: Transcription timeout after 300000ms\nRequestTimeoutError: Request exceeded timeout\n```\n\n**Cause:** Audio file too large or network issues.\n\n**Solution:**\n```typescript\n\u002F\u002F Increase timeout for large files\nconst client = new TwinMindClient({\n  apiKey: process.env.TWINMIND_API_KEY,\n  timeout: 600000, \u002F\u002F 10 minutes  # 600000 = configured value\n});\n\n\u002F\u002F Or use async processing with webhooks\nconst response = await client.post('\u002Ftranscribe', {\n  audio_url: audioUrl,\n  async: true,\n  webhook_url: 'https:\u002F\u002Fyour-server.com\u002Fwebhook\u002Ftwinmind',\n});\n```\n\n---\n\n### Rate Limit Exceeded\n**Error Message:**\n```\nError: Rate limit exceeded. Please retry after 60 seconds.\nStatus: 429 Too Many Requests  # HTTP 429 Too Many Requests\nX-RateLimit-Remaining: 0\n```\n\n**Cause:** Too many API requests in a short period.\n\n**Solution:**\n```typescript\n\u002F\u002F Implement exponential backoff\nasync function withBackoff\u003CT>(operation: () => Promise\u003CT>): Promise\u003CT> {\n  const maxRetries = 5;\n  for (let attempt = 0; attempt \u003C maxRetries; attempt++) {\n    try {\n      return await operation();\n    } catch (error: any) {\n      if (error.response?.status !== 429) throw error;  # HTTP 429 Too Many Requests\n\n      const retryAfter = parseInt(error.response.headers['retry-after'] || '60');\n      console.log(`Rate limited. Waiting ${retryAfter}s...`);\n      await new Promise(r => setTimeout(r, retryAfter * 1000));  # 1000: 1 second in ms\n    }\n  }\n  throw new Error('Max retries exceeded');\n}\n```\n\nSee `twinmind-rate-limits` for detailed rate limiting strategies.\n\n---\n\n### Audio Format Not Supported\n**Error Message:**\n```\nError: Unsupported audio format\nAudioFormatError: Format 'xyz' is not supported\n```\n\n**Cause:** Audio file in incompatible format.\n\n**Solution:**\n```bash\n# Convert to supported format using ffmpeg\nffmpeg -i input.xyz -acodec libmp3lame -q:a 2 output.mp3\n\n# Supported formats: MP3, WAV, M4A, WebM, OGG, FLAC\n```\n\nSupported formats:\n| Format | Extension | Notes |\n|--------|-----------|-------|\n| MP3 | .mp3 | Recommended, good compression |\n| WAV | .wav | Best quality, larger files |\n| M4A | .m4a | iOS recordings |\n| WebM | .webm | Browser recordings |\n| OGG | .ogg | Open format |\n| FLAC | .flac | Lossless audio |\n\n---\n\n### No Audio Detected\n**Error Message:**\n```\nError: No audio detected in input\nTranscriptionError: Empty or silent audio\n```\n\n**Cause:** Audio file is silent, corrupted, or too quiet.\n\n**Solution:**\n```bash\n# Check audio file properties\nffprobe -i audio.mp3 -show_streams -select_streams a\n\n# Check audio levels\nffmpeg -i audio.mp3 -filter:a volumedetect -f null \u002Fdev\u002Fnull\n\n# Amplify quiet audio\nffmpeg -i quiet.mp3 -filter:a \"volume=2.0\" amplified.mp3\n```\n\n---\n\n### Speaker Diarization Failed\n**Error Message:**\n```\nError: Speaker diarization failed\nDiarizationError: Unable to identify distinct speakers\n```\n\n**Cause:** Single speaker, overlapping speech, or poor audio quality.\n\n**Solution:**\n```typescript\n\u002F\u002F Retry without diarization\nconst transcript = await client.transcribe(audioUrl, {\n  diarization: false, \u002F\u002F Disable diarization\n});\n\n\u002F\u002F Or provide speaker count hint\nconst transcript = await client.transcribe(audioUrl, {\n  diarization: true,\n  expected_speakers: 3, \u002F\u002F Help the model\n});\n```\n\n---\n\n### Calendar Sync Failed\n**Error Message:**\n```\nError: Calendar sync failed\nOAuth2Error: Token expired or revoked\n```\n\n**Cause:** Google\u002FMicrosoft OAuth token expired.\n\n**Solution:**\n```\n1. Open TwinMind extension\n2. Go to Settings > Integrations\n3. Click \"Disconnect\" for calendar\n4. Click \"Connect\" to re-authorize\n5. Grant all requested permissions\n```\n\n---\n\n### Summary Generation Failed\n**Error Message:**\n```\nError: Summary generation failed\nGenerationError: Transcript too short for summarization\n```\n\n**Cause:** Transcript doesn't have enough content.\n\n**Solution:**\n```typescript\n\u002F\u002F Check transcript length before summarization\nconst minWordsForSummary = 50;\nconst wordCount = transcript.text.split(\u002F\\s+\u002F).length;\n\nif (wordCount \u003C minWordsForSummary) {\n  console.log('Transcript too short for summary');\n  return null;\n}\n\nconst summary = await client.summarize(transcript.id);\n```\n\n---\n\n### Extension Not Loading\n**Error Message:**\n```\nExtension error: Unable to establish connection\nChrome error: Extension context invalidated\n```\n\n**Cause:** Extension crashed, outdated, or Chrome issue.\n\n**Solution:**\n```\n1. Disable and re-enable extension:\n   chrome:\u002F\u002Fextensions\u002F > TwinMind > Toggle off\u002Fon\n\n2. Clear extension data:\n   Right-click extension > Manage Extensions > Clear data\n\n3. Reinstall extension:\n   Remove > Visit Chrome Web Store > Reinstall\n\n4. Check for conflicts:\n   Disable other extensions temporarily\n```\n\n---\n\n### Network Error\n**Error Message:**\n```\nError: Network request failed\nTypeError: Failed to fetch\nERR_CONNECTION_REFUSED\n```\n\n**Cause:** Network connectivity issues or firewall blocking.\n\n**Solution:**\n```bash\nset -euo pipefail\n# Test API connectivity\ncurl -v https:\u002F\u002Fapi.twinmind.com\u002Fv1\u002Fhealth\n\n# Check if firewall is blocking\ntelnet api.twinmind.com 443  # 443: HTTPS port\n\n# Test with different DNS\ncurl --resolve api.twinmind.com:443:$(dig +short api.twinmind.com) \\  # HTTPS port\n  https:\u002F\u002Fapi.twinmind.com\u002Fv1\u002Fhealth\n```\n\n## Quick Diagnostic Commands\n\n```bash\nset -euo pipefail\n# Check TwinMind API status\ncurl -s https:\u002F\u002Fstatus.twinmind.com\u002Fapi\u002Fv2\u002Fstatus.json | jq '.status'\n\n# Verify API connectivity\ncurl -I https:\u002F\u002Fapi.twinmind.com\u002Fv1\u002Fhealth\n\n# Test authentication\ncurl -H \"Authorization: Bearer $TWINMIND_API_KEY\" \\\n  https:\u002F\u002Fapi.twinmind.com\u002Fv1\u002Fme\n\n# Check local environment\nenv | grep TWINMIND\n\n# Validate audio file\nffprobe -v error -show_format -show_streams audio.mp3\n```\n\n## Escalation Path\n\n1. Collect evidence with `twinmind-debug-bundle`\n2. Check TwinMind status page: https:\u002F\u002Fstatus.twinmind.com\n3. Search community forum: https:\u002F\u002Fcommunity.twinmind.com\n4. Contact support with request ID: support@twinmind.com\n\n## Resources\n- [TwinMind Status Page](https:\u002F\u002Fstatus.twinmind.com)\n- [TwinMind Support](https:\u002F\u002Ftwinmind.com\u002Fsupport)\n- [TwinMind Community](https:\u002F\u002Fcommunity.twinmind.com)\n- [Error Code Reference](https:\u002F\u002Ftwinmind.com\u002Fdocs\u002Ferrors)\n\n## Next Steps\nFor comprehensive debugging, see `twinmind-debug-bundle`.\n\n## Output\n\n- Configuration files or code changes applied to the project\n- Validation report confirming correct implementation\n- Summary of changes made and their rationale\n\n## Error Handling\n\n| Error | Cause | Resolution |\n|-------|-------|------------|\n| Authentication failure | Invalid or expired credentials | Refresh tokens or re-authenticate with debugging |\n| Configuration conflict | Incompatible settings detected | Review and resolve conflicting parameters |\n| Resource not found | Referenced resource missing | Verify resource exists and permissions are correct |\n\n## Examples\n\n**Basic usage**: Apply twinmind common errors to a standard project setup with default configuration options.\n\n**Advanced scenario**: Customize twinmind common errors for production environments with multiple constraints and team-specific requirements.",{"name":5,"author":48,"license":14,"version":49,"description":50,"allowed-tools":51,"compatible-with":52},"Jeremy Longshore \u003Cjeremy@intentsolutions.io>","1.0.0","Diagnose and fix TwinMind common errors and exceptions.\nUse when encountering transcription errors, debugging failed requests,\nor troubleshooting integration issues.\nTrigger with phrases like \"twinmind error\", \"fix twinmind\",\n\"twinmind not working\", \"debug twinmind\", \"transcription failed\".\n","Read, Grep, Bash(curl:*)","claude-code, codex, openclaw","master","3f5d983eb4ef375b749adcd6b07ec03bd82ae8a8","claude-code\u002Fplugins-plus-skills\u002Fplugins\u002Fsaas-packs\u002Ftwinmind-pack\u002Fskills\u002Ftwinmind-common-errors",0,"https:\u002F\u002Fgithub.com\u002Fmicsapp\u002Fmicstec-skills","https:\u002F\u002Fgithub.com\u002Fmicsapp","2026-03-20 11:24:18",{"source":8,"skillName":5,"commands":61,"prompt":71,"zipAvailable":72},[62,65,68],{"tool":63,"command":64},"npx","npx skills add micsapp\u002Fmicstec-skills --skill twinmind-common-errors",{"tool":66,"command":67},"bunx","bunx skills add micsapp\u002Fmicstec-skills --skill twinmind-common-errors",{"tool":69,"command":70},"pnpm","pnpm dlx skills add micsapp\u002Fmicstec-skills --skill twinmind-common-errors","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmicsapp\u002Fmicstec-skills\u002Fblob\u002Fmaster\u002Fclaude-code\u002Fplugins-plus-skills\u002Fplugins\u002Fsaas-packs\u002Ftwinmind-pack\u002Fskills\u002Ftwinmind-common-errors\u002FSKILL.md",true,[],[75,108,137,156,176,199],{"skillNo":76,"name":77,"nameZh":6,"description":78,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":79,"categories":80,"keywords":87,"publishedAt":43},"01M6HBTJ02FXBFG9NYEHHYAP52","azure-apim-architecture","Analyzes and explains Azure API Management architecture decisions for enterprise API marketplace implementations using VNet Internal mode, Front Door, hybrid authentication, and multi-environment strategies. Use when discussing APIM component selection, network topology, cost optimization, or comparing alternatives like workspaces vs instances, VNet Internal vs External mode, or Front Door vs Application Gateway.","https:\u002F\u002Fgithub.com\u002Fmicsapp\u002Fmicstec-skills\u002Fblob\u002Fmaster\u002Fcopilot-cli\u002Fcopilot-agent-skills\u002F.github\u002Fskills\u002Fazure-apim-architecture\u002FSKILL.md",[81,86],{"categoryNo":82,"categoryName":83,"taxonomyType":84,"taxonomyTypeDesc":85},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},[88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107],"architecture","azure","azure apim architecture","component","authentication","gateway","topology","Optimization","network","api","team","environment","multi-environment","workspaces","instances","selection","strategies","azure api management","mode","for",{"skillNo":109,"name":110,"nameZh":6,"description":111,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":112,"categories":113,"keywords":122,"publishedAt":43},"01M6HBT7J4H082JEEA670B3EQ9","apiops-deployment","Guides deployment of Azure API Management infrastructure using Infrastructure as Code (Bicep\u002FTerraform), CI\u002FCD pipelines (GitHub Actions\u002FAzure DevOps), and APIOps workflows. Use when deploying APIM, creating pipelines, or implementing dev→test→prod promotion strategies.","https:\u002F\u002Fgithub.com\u002Fmicsapp\u002Fmicstec-skills\u002Fblob\u002Fmaster\u002Fcopilot-cli\u002Fcopilot-agent-skills\u002F.github\u002Fskills\u002Fapiops-deployment\u002FSKILL.md",[114,115,118,121],{"categoryNo":82,"categoryName":83,"taxonomyType":84,"taxonomyTypeDesc":85},{"categoryNo":116,"categoryName":117,"taxonomyType":84,"taxonomyTypeDesc":85},"01JBSEEDCAT000000000000011","运维与部署",{"categoryNo":119,"categoryName":120,"taxonomyType":84,"taxonomyTypeDesc":85},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},[123,124,125,126,89,127,38,128,129,130,131,132,97,98,104,133,134,105,135,136],"deployment","apiops deployment","workflows","azure devops","infrastructure","infrastructure as code","actions","ci","github actions","github-actions","as","guides","CI\u002FCD","implementing",{"skillNo":138,"name":139,"nameZh":6,"description":140,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":141,"categories":142,"keywords":144,"publishedAt":43},"01M6HBT2HEA23THNE9E00GYQBE","apim-policy-authoring","Creates production-ready Azure API Management policy XML for authentication (OAuth 2.0, JWT validation, subscription keys), rate limiting, CORS configuration, error handling, and API transformations. Use when implementing API security, access control, or request\u002Fresponse processing logic.","https:\u002F\u002Fgithub.com\u002Fmicsapp\u002Fmicstec-skills\u002Fblob\u002Fmaster\u002Fcopilot-cli\u002Fcopilot-agent-skills\u002F.github\u002Fskills\u002Fapim-policy-authoring\u002FSKILL.md",[143],{"categoryNo":82,"categoryName":83,"taxonomyType":84,"taxonomyTypeDesc":85},[145,146,147,148,89,92,97,98,149,32,150,151,152,29,153,105,154,155,136,107],"policy","authoring","apim policy authoring","security","access","ready","api security","Access Control","processing","cors configuration","production-ready",{"skillNo":157,"name":158,"nameZh":6,"description":159,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":160,"categories":161,"keywords":164,"publishedAt":43},"01M6HBSY65SB29J9WE9KYD0K6T","api-security-review","Reviews Azure API Management configurations for security vulnerabilities, OWASP API Security Top 10 compliance, VNet Internal mode validation, Private Link verification, and Azure Security Benchmark alignment. Use when performing security audits, pre-deployment validation, or compliance reviews.","https:\u002F\u002Fgithub.com\u002Fmicsapp\u002Fmicstec-skills\u002Fblob\u002Fmaster\u002Fcopilot-cli\u002Fcopilot-agent-skills\u002F.github\u002Fskills\u002Fapi-security-review\u002FSKILL.md",[162,163],{"categoryNo":82,"categoryName":83,"taxonomyType":84,"taxonomyTypeDesc":85},{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},[165,148,166,97,151,167,89,123,168,169,170,171,98,172,105,173,174,175,106,107],"review","security review","api security review","benchmark","verification","owasp","owasp-api","alignment","azure security","reviews","top",{"skillNo":177,"name":178,"nameZh":6,"description":179,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":180,"categories":181,"keywords":182,"publishedAt":43},"01M6HBSRW4PDFE6K4F8JYPZQ05","jira-cli","Interact with Jira from the command line to create, list, view, edit, and transition issues, manage sprints and epics, and perform common Jira workflows. Use when the user asks about Jira tasks, tickets, issues, sprints, or needs to manage project work items.","https:\u002F\u002Fgithub.com\u002Fmicsapp\u002Fmicstec-skills\u002Fblob\u002Fmaster\u002Fcopilot-cli\u002Fawesome-copilot-agents\u002Fskills\u002Fjira-cli\u002FSKILL.md",[],[183,184,185,125,186,187,188,37,97,25,189,190,191,192,193,194,195,196,197,198],"cli","jira","jira cli","init","tasks","create","work","command","edit","list","view","project","project work","token","line","sprints",{"skillNo":200,"name":201,"nameZh":6,"description":202,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":203,"categories":204,"keywords":205,"publishedAt":43},"01M6HBSNS3JHMW603G47TWE31H","calculator","Performs arbitrary-precision arithmetic calculations including addition, subtraction, multiplication, division, and exponents. Use when the user asks to calculate, compute, or evaluate math expressions, or when precise decimal arithmetic is needed to avoid floating-point errors.","https:\u002F\u002Fgithub.com\u002Fmicsapp\u002Fmicstec-skills\u002Fblob\u002Fmaster\u002Fcopilot-cli\u002Fawesome-copilot-agents\u002Fskills\u002Fcalculator\u002FSKILL.md",[],[201,206,207,208,209,210,211,32,212,24],"npm","js","calculate","node","math","user","compute"]