[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-github-migration-core":3,"mdc-lf1s8l-key":36,"related-repo-github-migration-core":1127,"related-org-github-migration-core":1214},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":25,"repoUrl":26,"updatedAt":27,"license":28,"forks":29,"topics":30,"repo":31,"sourceUrl":34,"mdContent":35},"migration-core","execute CI\u002FCD migration to GitHub Actions","5-phase migration process, security guardrails, deliverables, archival protocol, and the 10-item completion checklist for any CI\u002FCD migration to GitHub Actions. Load at the start of every migration.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"github","GitHub","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fgithub.png",[12,16,19,22],{"name":13,"slug":14,"type":15},"GitHub Actions","github-actions","tag",{"name":17,"slug":18,"type":15},"Migration","migration",{"name":20,"slug":21,"type":15},"Engineering","engineering",{"name":23,"slug":24,"type":15},"CI\u002FCD","ci-cd",64,"https:\u002F\u002Fgithub.com\u002Fgithub\u002Factions-migrations-via-copilot","2026-05-27T07:07:59.875989",null,10,[],{"repoUrl":26,"stars":25,"forks":29,"topics":32,"description":33},[],"Migrate to GitHub Actions from multiple other CI\u002FCD systems using Copilot","https:\u002F\u002Fgithub.com\u002Fgithub\u002Factions-migrations-via-copilot\u002Ftree\u002FHEAD\u002Fplugin\u002Fskills\u002Fmigration-core","---\nname: migration-core\ndescription: 5-phase migration process, security guardrails, deliverables, archival protocol, and the 10-item completion checklist for any CI\u002FCD migration to GitHub Actions. Load at the start of every migration.\n---\n\n# Migration Core\n\n## 5-Phase Workflow\n\nAll migrations follow these phases **in order** — skipping any phase is a completion failure.\n\n### Phase 1 — Source\n\n- **REQUIRE** actual source CI\u002FCD files from the user. Refuse to proceed without them.\n- **NEVER** invent workflows from descriptions, requirements, or assumptions.\n- Common filenames: `Jenkinsfile`, `azure-pipelines.yml`, `.circleci\u002Fconfig.yml`, `.gitlab-ci.yml`, `.travis.yml`, `bitbucket-pipelines.yml`, `bamboo-specs.yml`, `.drone.yml` (and any included\u002Freferenced files).\n\n### Phase 2 — Analyze\n\nExamine the source thoroughly. Identify:\n\n- Pipeline\u002Fjob\u002Fstage structure and dependencies\n- Triggers, conditions, branching strategy\n- Agents\u002Fexecutors\u002Fcontainers → GitHub runner mapping\n- Credential bindings, secrets, env vars\n- Caching, artifacts, matrix builds, parallelism\n- Platform-specific features with no direct Actions equivalent (see the platform skill's `mapping.md`)\n\n### Phase 3 — Convert\n\n- Convert **only** what's in the source — no added functionality.\n- Use the platform skill's `mapping.md` for syntax translations.\n- Use only marketplace actions from verified creators (see Guardrails below).\n- Translate triggers, conditional logic, env\u002Fsecrets references, services, artifacts, caches.\n- Expand all platform-specific includes\u002Ftemplates\u002Fshared-libraries inline.\n- Add comments explaining non-obvious conversion choices.\n\n### Phase 4 — Validate\n\nLoad and follow the `actionlint` skill: install the tool if needed, run it against all generated workflows, resolve every finding, and capture the real output for the report.\n\n### Phase 5 — Document\n\n1. Write `.github\u002Fci-archive\u002FMIGRATION-README.md` using the platform skill's `report-template.md`, filled with real data — no placeholders, real actionlint output.\n2. **MOVE** original CI\u002FCD files into `.github\u002Fci-archive\u002F` and **DELETE** them from their original locations (see Archival below).\n3. Deliver the report via PR: update an existing PR on the branch if present; otherwise create a new one. If PR creation\u002Fupdate is unavailable, the `MIGRATION-README.md` is the sole report.\n\n---\n\n## Guardrails\n\n### ❌ Never do\n\n- Create workflows without a real source CI\u002FCD file.\n- Generate pipelines from descriptions or assumptions.\n- Add functionality not in the source.\n- Write custom actions, scripts, or bespoke integrations — find a marketplace action.\n- Use unverified, community, or deprecated actions.\n- Skip validation, leave originals in their original location, or ship placeholder text in the PR\u002Freport.\n\n### ✅ Always do\n\n- Work exclusively from the provided source files.\n- Use only **verified creators** on the [GitHub Marketplace](https:\u002F\u002Fgithub.com\u002Fmarketplace) — e.g. `actions\u002F*`, `azure\u002F*`, `aws-actions\u002F*`, `google-github-actions\u002F*`.\n- Use the **latest stable version** of each action.\n- **Pin every action to a commit SHA** (never a tag\u002Fbranch); add a comment with the SHA→version mapping.\n- Apply **least-privilege** `permissions:` blocks.\n- Document every secret and variable the migrated workflow requires.\n\n### Action version verification\n\n1. `mcp_github_get_latest_release` — find the current version.\n2. `mcp_github_get_tag` — resolve the commit SHA.\n3. Fallback: `mcp_github_list_commits` if the repo has no releases.\n\n```yaml\n# actions\u002Fcheckout v4.1.7\n- uses: actions\u002Fcheckout@692973e3d937129bcbf40652eb9f2f61becf3332\n```\n\n### Secrets and variables\n\n- `${{ secrets.NAME }}` — sensitive credentials; never log or echo, never put values in workflow files.\n- `${{ vars.NAME }}` — non-sensitive configuration.\n- Org-level for shared values; repo-level for project-specific values.\n- Platform-specific secret syntax mappings live in the platform skill's `mapping.md`.\n\n---\n\n## Deliverables and Archival\n\n### Required deliverables\n\n1. Runnable `.github\u002Fworkflows\u002F*.yml` replicating source functionality.\n2. All required secrets\u002Fvariables documented with names and purpose.\n3. Conversion explanations as comments in workflows and notes in the report.\n4. Real `actionlint` output pasted into the report (see `actionlint` skill).\n5. Source files archived and deleted from original locations.\n6. `.github\u002Fci-archive\u002FMIGRATION-README.md` — complete, no placeholders.\n7. Pull Request with the report as its body (or `MIGRATION-README.md` as fallback).\n\n### Archival protocol\n\n```bash\nmkdir -p .github\u002Fci-archive\u002F\n```\n\n**MOVE** (don't copy) source CI\u002FCD files. Examples:\n\n| Original | Archive destination |\n|---|---|\n| `Jenkinsfile` | `.github\u002Fci-archive\u002FJenkinsfile` |\n| `azure-pipelines.yml` | `.github\u002Fci-archive\u002Fazure-pipelines.yml` |\n| `.circleci\u002Fconfig.yml` | `.github\u002Fci-archive\u002Fcircleci-config.yml` (delete `.circleci\u002F` dir) |\n| `.gitlab-ci.yml` | `.github\u002Fci-archive\u002F.gitlab-ci.yml` |\n| `.travis.yml` | `.github\u002Fci-archive\u002F.travis.yml` |\n| `.drone.yml` | `.github\u002Fci-archive\u002F.drone.yml` |\n| `bitbucket-pipelines.yml` | `.github\u002Fci-archive\u002Fbitbucket-pipelines.yml` |\n| `bamboo-specs.yml` | `.github\u002Fci-archive\u002Fbamboo-specs.yml` |\n\nVerify nothing remains in the original locations.\n\n---\n\n## Completion Checklist (10 items)\n\nMigration is **NOT COMPLETE** until all 10 are true:\n\n1. Source file(s) provided and analyzed\n2. Workflow(s) accurately replicate source functionality\n3. Only verified marketplace actions used, latest stable versions, pinned to SHAs\n4. `actionlint` executed per the `actionlint` skill; real output captured\n5. All required secrets and variables documented\n6. Original CI\u002FCD files moved to `.github\u002Fci-archive\u002F` and deleted from original locations\n7. `.github\u002Fci-archive\u002FMIGRATION-README.md` written from the platform's `report-template.md`, no placeholders\n8. Migration report delivered via PR (existing PR updated, or new PR created) where possible\n9. All guardrails above satisfied\n10. Response ends with:\n\n> Migration complete. MIGRATION-README.md created and Pull Request updated\u002Fcreated with migration report.\n\n(If PR was unavailable: *Migration complete. MIGRATION-README.md created in .github\u002Fci-archive\u002F*)\n",{"data":37,"body":38},{"name":4,"description":6},{"type":39,"children":40},"root",[41,49,56,70,77,166,172,177,218,224,271,277,290,296,359,363,369,375,408,414,521,527,565,615,621,662,665,671,677,749,755,783,792,990,995,998,1004,1016,1100,1109,1121],{"type":42,"tag":43,"props":44,"children":45},"element","h1",{"id":4},[46],{"type":47,"value":48},"text","Migration Core",{"type":42,"tag":50,"props":51,"children":53},"h2",{"id":52},"_5-phase-workflow",[54],{"type":47,"value":55},"5-Phase Workflow",{"type":42,"tag":57,"props":58,"children":59},"p",{},[60,62,68],{"type":47,"value":61},"All migrations follow these phases ",{"type":42,"tag":63,"props":64,"children":65},"strong",{},[66],{"type":47,"value":67},"in order",{"type":47,"value":69}," — skipping any phase is a completion failure.",{"type":42,"tag":71,"props":72,"children":74},"h3",{"id":73},"phase-1-source",[75],{"type":47,"value":76},"Phase 1 — Source",{"type":42,"tag":78,"props":79,"children":80},"ul",{},[81,92,102],{"type":42,"tag":82,"props":83,"children":84},"li",{},[85,90],{"type":42,"tag":63,"props":86,"children":87},{},[88],{"type":47,"value":89},"REQUIRE",{"type":47,"value":91}," actual source CI\u002FCD files from the user. Refuse to proceed without them.",{"type":42,"tag":82,"props":93,"children":94},{},[95,100],{"type":42,"tag":63,"props":96,"children":97},{},[98],{"type":47,"value":99},"NEVER",{"type":47,"value":101}," invent workflows from descriptions, requirements, or assumptions.",{"type":42,"tag":82,"props":103,"children":104},{},[105,107,114,116,122,123,129,130,136,137,143,144,150,151,157,158,164],{"type":47,"value":106},"Common filenames: ",{"type":42,"tag":108,"props":109,"children":111},"code",{"className":110},[],[112],{"type":47,"value":113},"Jenkinsfile",{"type":47,"value":115},", ",{"type":42,"tag":108,"props":117,"children":119},{"className":118},[],[120],{"type":47,"value":121},"azure-pipelines.yml",{"type":47,"value":115},{"type":42,"tag":108,"props":124,"children":126},{"className":125},[],[127],{"type":47,"value":128},".circleci\u002Fconfig.yml",{"type":47,"value":115},{"type":42,"tag":108,"props":131,"children":133},{"className":132},[],[134],{"type":47,"value":135},".gitlab-ci.yml",{"type":47,"value":115},{"type":42,"tag":108,"props":138,"children":140},{"className":139},[],[141],{"type":47,"value":142},".travis.yml",{"type":47,"value":115},{"type":42,"tag":108,"props":145,"children":147},{"className":146},[],[148],{"type":47,"value":149},"bitbucket-pipelines.yml",{"type":47,"value":115},{"type":42,"tag":108,"props":152,"children":154},{"className":153},[],[155],{"type":47,"value":156},"bamboo-specs.yml",{"type":47,"value":115},{"type":42,"tag":108,"props":159,"children":161},{"className":160},[],[162],{"type":47,"value":163},".drone.yml",{"type":47,"value":165}," (and any included\u002Freferenced files).",{"type":42,"tag":71,"props":167,"children":169},{"id":168},"phase-2-analyze",[170],{"type":47,"value":171},"Phase 2 — Analyze",{"type":42,"tag":57,"props":173,"children":174},{},[175],{"type":47,"value":176},"Examine the source thoroughly. Identify:",{"type":42,"tag":78,"props":178,"children":179},{},[180,185,190,195,200,205],{"type":42,"tag":82,"props":181,"children":182},{},[183],{"type":47,"value":184},"Pipeline\u002Fjob\u002Fstage structure and dependencies",{"type":42,"tag":82,"props":186,"children":187},{},[188],{"type":47,"value":189},"Triggers, conditions, branching strategy",{"type":42,"tag":82,"props":191,"children":192},{},[193],{"type":47,"value":194},"Agents\u002Fexecutors\u002Fcontainers → GitHub runner mapping",{"type":42,"tag":82,"props":196,"children":197},{},[198],{"type":47,"value":199},"Credential bindings, secrets, env vars",{"type":42,"tag":82,"props":201,"children":202},{},[203],{"type":47,"value":204},"Caching, artifacts, matrix builds, parallelism",{"type":42,"tag":82,"props":206,"children":207},{},[208,210,216],{"type":47,"value":209},"Platform-specific features with no direct Actions equivalent (see the platform skill's ",{"type":42,"tag":108,"props":211,"children":213},{"className":212},[],[214],{"type":47,"value":215},"mapping.md",{"type":47,"value":217},")",{"type":42,"tag":71,"props":219,"children":221},{"id":220},"phase-3-convert",[222],{"type":47,"value":223},"Phase 3 — Convert",{"type":42,"tag":78,"props":225,"children":226},{},[227,239,251,256,261,266],{"type":42,"tag":82,"props":228,"children":229},{},[230,232,237],{"type":47,"value":231},"Convert ",{"type":42,"tag":63,"props":233,"children":234},{},[235],{"type":47,"value":236},"only",{"type":47,"value":238}," what's in the source — no added functionality.",{"type":42,"tag":82,"props":240,"children":241},{},[242,244,249],{"type":47,"value":243},"Use the platform skill's ",{"type":42,"tag":108,"props":245,"children":247},{"className":246},[],[248],{"type":47,"value":215},{"type":47,"value":250}," for syntax translations.",{"type":42,"tag":82,"props":252,"children":253},{},[254],{"type":47,"value":255},"Use only marketplace actions from verified creators (see Guardrails below).",{"type":42,"tag":82,"props":257,"children":258},{},[259],{"type":47,"value":260},"Translate triggers, conditional logic, env\u002Fsecrets references, services, artifacts, caches.",{"type":42,"tag":82,"props":262,"children":263},{},[264],{"type":47,"value":265},"Expand all platform-specific includes\u002Ftemplates\u002Fshared-libraries inline.",{"type":42,"tag":82,"props":267,"children":268},{},[269],{"type":47,"value":270},"Add comments explaining non-obvious conversion choices.",{"type":42,"tag":71,"props":272,"children":274},{"id":273},"phase-4-validate",[275],{"type":47,"value":276},"Phase 4 — Validate",{"type":42,"tag":57,"props":278,"children":279},{},[280,282,288],{"type":47,"value":281},"Load and follow the ",{"type":42,"tag":108,"props":283,"children":285},{"className":284},[],[286],{"type":47,"value":287},"actionlint",{"type":47,"value":289}," skill: install the tool if needed, run it against all generated workflows, resolve every finding, and capture the real output for the report.",{"type":42,"tag":71,"props":291,"children":293},{"id":292},"phase-5-document",[294],{"type":47,"value":295},"Phase 5 — Document",{"type":42,"tag":297,"props":298,"children":299},"ol",{},[300,321,346],{"type":42,"tag":82,"props":301,"children":302},{},[303,305,311,313,319],{"type":47,"value":304},"Write ",{"type":42,"tag":108,"props":306,"children":308},{"className":307},[],[309],{"type":47,"value":310},".github\u002Fci-archive\u002FMIGRATION-README.md",{"type":47,"value":312}," using the platform skill's ",{"type":42,"tag":108,"props":314,"children":316},{"className":315},[],[317],{"type":47,"value":318},"report-template.md",{"type":47,"value":320},", filled with real data — no placeholders, real actionlint output.",{"type":42,"tag":82,"props":322,"children":323},{},[324,329,331,337,339,344],{"type":42,"tag":63,"props":325,"children":326},{},[327],{"type":47,"value":328},"MOVE",{"type":47,"value":330}," original CI\u002FCD files into ",{"type":42,"tag":108,"props":332,"children":334},{"className":333},[],[335],{"type":47,"value":336},".github\u002Fci-archive\u002F",{"type":47,"value":338}," and ",{"type":42,"tag":63,"props":340,"children":341},{},[342],{"type":47,"value":343},"DELETE",{"type":47,"value":345}," them from their original locations (see Archival below).",{"type":42,"tag":82,"props":347,"children":348},{},[349,351,357],{"type":47,"value":350},"Deliver the report via PR: update an existing PR on the branch if present; otherwise create a new one. If PR creation\u002Fupdate is unavailable, the ",{"type":42,"tag":108,"props":352,"children":354},{"className":353},[],[355],{"type":47,"value":356},"MIGRATION-README.md",{"type":47,"value":358}," is the sole report.",{"type":42,"tag":360,"props":361,"children":362},"hr",{},[],{"type":42,"tag":50,"props":364,"children":366},{"id":365},"guardrails",[367],{"type":47,"value":368},"Guardrails",{"type":42,"tag":71,"props":370,"children":372},{"id":371},"never-do",[373],{"type":47,"value":374},"❌ Never do",{"type":42,"tag":78,"props":376,"children":377},{},[378,383,388,393,398,403],{"type":42,"tag":82,"props":379,"children":380},{},[381],{"type":47,"value":382},"Create workflows without a real source CI\u002FCD file.",{"type":42,"tag":82,"props":384,"children":385},{},[386],{"type":47,"value":387},"Generate pipelines from descriptions or assumptions.",{"type":42,"tag":82,"props":389,"children":390},{},[391],{"type":47,"value":392},"Add functionality not in the source.",{"type":42,"tag":82,"props":394,"children":395},{},[396],{"type":47,"value":397},"Write custom actions, scripts, or bespoke integrations — find a marketplace action.",{"type":42,"tag":82,"props":399,"children":400},{},[401],{"type":47,"value":402},"Use unverified, community, or deprecated actions.",{"type":42,"tag":82,"props":404,"children":405},{},[406],{"type":47,"value":407},"Skip validation, leave originals in their original location, or ship placeholder text in the PR\u002Freport.",{"type":42,"tag":71,"props":409,"children":411},{"id":410},"always-do",[412],{"type":47,"value":413},"✅ Always do",{"type":42,"tag":78,"props":415,"children":416},{},[417,422,474,486,496,516],{"type":42,"tag":82,"props":418,"children":419},{},[420],{"type":47,"value":421},"Work exclusively from the provided source files.",{"type":42,"tag":82,"props":423,"children":424},{},[425,427,432,434,443,445,451,452,458,459,465,466,472],{"type":47,"value":426},"Use only ",{"type":42,"tag":63,"props":428,"children":429},{},[430],{"type":47,"value":431},"verified creators",{"type":47,"value":433}," on the ",{"type":42,"tag":435,"props":436,"children":440},"a",{"href":437,"rel":438},"https:\u002F\u002Fgithub.com\u002Fmarketplace",[439],"nofollow",[441],{"type":47,"value":442},"GitHub Marketplace",{"type":47,"value":444}," — e.g. ",{"type":42,"tag":108,"props":446,"children":448},{"className":447},[],[449],{"type":47,"value":450},"actions\u002F*",{"type":47,"value":115},{"type":42,"tag":108,"props":453,"children":455},{"className":454},[],[456],{"type":47,"value":457},"azure\u002F*",{"type":47,"value":115},{"type":42,"tag":108,"props":460,"children":462},{"className":461},[],[463],{"type":47,"value":464},"aws-actions\u002F*",{"type":47,"value":115},{"type":42,"tag":108,"props":467,"children":469},{"className":468},[],[470],{"type":47,"value":471},"google-github-actions\u002F*",{"type":47,"value":473},".",{"type":42,"tag":82,"props":475,"children":476},{},[477,479,484],{"type":47,"value":478},"Use the ",{"type":42,"tag":63,"props":480,"children":481},{},[482],{"type":47,"value":483},"latest stable version",{"type":47,"value":485}," of each action.",{"type":42,"tag":82,"props":487,"children":488},{},[489,494],{"type":42,"tag":63,"props":490,"children":491},{},[492],{"type":47,"value":493},"Pin every action to a commit SHA",{"type":47,"value":495}," (never a tag\u002Fbranch); add a comment with the SHA→version mapping.",{"type":42,"tag":82,"props":497,"children":498},{},[499,501,506,508,514],{"type":47,"value":500},"Apply ",{"type":42,"tag":63,"props":502,"children":503},{},[504],{"type":47,"value":505},"least-privilege",{"type":47,"value":507}," ",{"type":42,"tag":108,"props":509,"children":511},{"className":510},[],[512],{"type":47,"value":513},"permissions:",{"type":47,"value":515}," blocks.",{"type":42,"tag":82,"props":517,"children":518},{},[519],{"type":47,"value":520},"Document every secret and variable the migrated workflow requires.",{"type":42,"tag":71,"props":522,"children":524},{"id":523},"action-version-verification",[525],{"type":47,"value":526},"Action version verification",{"type":42,"tag":297,"props":528,"children":529},{},[530,541,552],{"type":42,"tag":82,"props":531,"children":532},{},[533,539],{"type":42,"tag":108,"props":534,"children":536},{"className":535},[],[537],{"type":47,"value":538},"mcp_github_get_latest_release",{"type":47,"value":540}," — find the current version.",{"type":42,"tag":82,"props":542,"children":543},{},[544,550],{"type":42,"tag":108,"props":545,"children":547},{"className":546},[],[548],{"type":47,"value":549},"mcp_github_get_tag",{"type":47,"value":551}," — resolve the commit SHA.",{"type":42,"tag":82,"props":553,"children":554},{},[555,557,563],{"type":47,"value":556},"Fallback: ",{"type":42,"tag":108,"props":558,"children":560},{"className":559},[],[561],{"type":47,"value":562},"mcp_github_list_commits",{"type":47,"value":564}," if the repo has no releases.",{"type":42,"tag":566,"props":567,"children":572},"pre",{"className":568,"code":569,"language":570,"meta":571,"style":571},"language-yaml shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# actions\u002Fcheckout v4.1.7\n- uses: actions\u002Fcheckout@692973e3d937129bcbf40652eb9f2f61becf3332\n","yaml","",[573],{"type":42,"tag":108,"props":574,"children":575},{"__ignoreMap":571},[576,588],{"type":42,"tag":577,"props":578,"children":581},"span",{"class":579,"line":580},"line",1,[582],{"type":42,"tag":577,"props":583,"children":585},{"style":584},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[586],{"type":47,"value":587},"# actions\u002Fcheckout v4.1.7\n",{"type":42,"tag":577,"props":589,"children":591},{"class":579,"line":590},2,[592,598,604,609],{"type":42,"tag":577,"props":593,"children":595},{"style":594},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[596],{"type":47,"value":597},"-",{"type":42,"tag":577,"props":599,"children":601},{"style":600},"--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178",[602],{"type":47,"value":603}," uses",{"type":42,"tag":577,"props":605,"children":606},{"style":594},[607],{"type":47,"value":608},":",{"type":42,"tag":577,"props":610,"children":612},{"style":611},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[613],{"type":47,"value":614}," actions\u002Fcheckout@692973e3d937129bcbf40652eb9f2f61becf3332\n",{"type":42,"tag":71,"props":616,"children":618},{"id":617},"secrets-and-variables",[619],{"type":47,"value":620},"Secrets and variables",{"type":42,"tag":78,"props":622,"children":623},{},[624,635,646,651],{"type":42,"tag":82,"props":625,"children":626},{},[627,633],{"type":42,"tag":108,"props":628,"children":630},{"className":629},[],[631],{"type":47,"value":632},"${{ secrets.NAME }}",{"type":47,"value":634}," — sensitive credentials; never log or echo, never put values in workflow files.",{"type":42,"tag":82,"props":636,"children":637},{},[638,644],{"type":42,"tag":108,"props":639,"children":641},{"className":640},[],[642],{"type":47,"value":643},"${{ vars.NAME }}",{"type":47,"value":645}," — non-sensitive configuration.",{"type":42,"tag":82,"props":647,"children":648},{},[649],{"type":47,"value":650},"Org-level for shared values; repo-level for project-specific values.",{"type":42,"tag":82,"props":652,"children":653},{},[654,656,661],{"type":47,"value":655},"Platform-specific secret syntax mappings live in the platform skill's ",{"type":42,"tag":108,"props":657,"children":659},{"className":658},[],[660],{"type":47,"value":215},{"type":47,"value":473},{"type":42,"tag":360,"props":663,"children":664},{},[],{"type":42,"tag":50,"props":666,"children":668},{"id":667},"deliverables-and-archival",[669],{"type":47,"value":670},"Deliverables and Archival",{"type":42,"tag":71,"props":672,"children":674},{"id":673},"required-deliverables",[675],{"type":47,"value":676},"Required deliverables",{"type":42,"tag":297,"props":678,"children":679},{},[680,693,698,703,722,727,737],{"type":42,"tag":82,"props":681,"children":682},{},[683,685,691],{"type":47,"value":684},"Runnable ",{"type":42,"tag":108,"props":686,"children":688},{"className":687},[],[689],{"type":47,"value":690},".github\u002Fworkflows\u002F*.yml",{"type":47,"value":692}," replicating source functionality.",{"type":42,"tag":82,"props":694,"children":695},{},[696],{"type":47,"value":697},"All required secrets\u002Fvariables documented with names and purpose.",{"type":42,"tag":82,"props":699,"children":700},{},[701],{"type":47,"value":702},"Conversion explanations as comments in workflows and notes in the report.",{"type":42,"tag":82,"props":704,"children":705},{},[706,708,713,715,720],{"type":47,"value":707},"Real ",{"type":42,"tag":108,"props":709,"children":711},{"className":710},[],[712],{"type":47,"value":287},{"type":47,"value":714}," output pasted into the report (see ",{"type":42,"tag":108,"props":716,"children":718},{"className":717},[],[719],{"type":47,"value":287},{"type":47,"value":721}," skill).",{"type":42,"tag":82,"props":723,"children":724},{},[725],{"type":47,"value":726},"Source files archived and deleted from original locations.",{"type":42,"tag":82,"props":728,"children":729},{},[730,735],{"type":42,"tag":108,"props":731,"children":733},{"className":732},[],[734],{"type":47,"value":310},{"type":47,"value":736}," — complete, no placeholders.",{"type":42,"tag":82,"props":738,"children":739},{},[740,742,747],{"type":47,"value":741},"Pull Request with the report as its body (or ",{"type":42,"tag":108,"props":743,"children":745},{"className":744},[],[746],{"type":47,"value":356},{"type":47,"value":748}," as fallback).",{"type":42,"tag":71,"props":750,"children":752},{"id":751},"archival-protocol",[753],{"type":47,"value":754},"Archival protocol",{"type":42,"tag":566,"props":756,"children":760},{"className":757,"code":758,"language":759,"meta":571,"style":571},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","mkdir -p .github\u002Fci-archive\u002F\n","bash",[761],{"type":42,"tag":108,"props":762,"children":763},{"__ignoreMap":571},[764],{"type":42,"tag":577,"props":765,"children":766},{"class":579,"line":580},[767,773,778],{"type":42,"tag":577,"props":768,"children":770},{"style":769},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[771],{"type":47,"value":772},"mkdir",{"type":42,"tag":577,"props":774,"children":775},{"style":611},[776],{"type":47,"value":777}," -p",{"type":42,"tag":577,"props":779,"children":780},{"style":611},[781],{"type":47,"value":782}," .github\u002Fci-archive\u002F\n",{"type":42,"tag":57,"props":784,"children":785},{},[786,790],{"type":42,"tag":63,"props":787,"children":788},{},[789],{"type":47,"value":328},{"type":47,"value":791}," (don't copy) source CI\u002FCD files. Examples:",{"type":42,"tag":793,"props":794,"children":795},"table",{},[796,815],{"type":42,"tag":797,"props":798,"children":799},"thead",{},[800],{"type":42,"tag":801,"props":802,"children":803},"tr",{},[804,810],{"type":42,"tag":805,"props":806,"children":807},"th",{},[808],{"type":47,"value":809},"Original",{"type":42,"tag":805,"props":811,"children":812},{},[813],{"type":47,"value":814},"Archive destination",{"type":42,"tag":816,"props":817,"children":818},"tbody",{},[819,840,860,890,910,930,950,970],{"type":42,"tag":801,"props":820,"children":821},{},[822,831],{"type":42,"tag":823,"props":824,"children":825},"td",{},[826],{"type":42,"tag":108,"props":827,"children":829},{"className":828},[],[830],{"type":47,"value":113},{"type":42,"tag":823,"props":832,"children":833},{},[834],{"type":42,"tag":108,"props":835,"children":837},{"className":836},[],[838],{"type":47,"value":839},".github\u002Fci-archive\u002FJenkinsfile",{"type":42,"tag":801,"props":841,"children":842},{},[843,851],{"type":42,"tag":823,"props":844,"children":845},{},[846],{"type":42,"tag":108,"props":847,"children":849},{"className":848},[],[850],{"type":47,"value":121},{"type":42,"tag":823,"props":852,"children":853},{},[854],{"type":42,"tag":108,"props":855,"children":857},{"className":856},[],[858],{"type":47,"value":859},".github\u002Fci-archive\u002Fazure-pipelines.yml",{"type":42,"tag":801,"props":861,"children":862},{},[863,871],{"type":42,"tag":823,"props":864,"children":865},{},[866],{"type":42,"tag":108,"props":867,"children":869},{"className":868},[],[870],{"type":47,"value":128},{"type":42,"tag":823,"props":872,"children":873},{},[874,880,882,888],{"type":42,"tag":108,"props":875,"children":877},{"className":876},[],[878],{"type":47,"value":879},".github\u002Fci-archive\u002Fcircleci-config.yml",{"type":47,"value":881}," (delete ",{"type":42,"tag":108,"props":883,"children":885},{"className":884},[],[886],{"type":47,"value":887},".circleci\u002F",{"type":47,"value":889}," dir)",{"type":42,"tag":801,"props":891,"children":892},{},[893,901],{"type":42,"tag":823,"props":894,"children":895},{},[896],{"type":42,"tag":108,"props":897,"children":899},{"className":898},[],[900],{"type":47,"value":135},{"type":42,"tag":823,"props":902,"children":903},{},[904],{"type":42,"tag":108,"props":905,"children":907},{"className":906},[],[908],{"type":47,"value":909},".github\u002Fci-archive\u002F.gitlab-ci.yml",{"type":42,"tag":801,"props":911,"children":912},{},[913,921],{"type":42,"tag":823,"props":914,"children":915},{},[916],{"type":42,"tag":108,"props":917,"children":919},{"className":918},[],[920],{"type":47,"value":142},{"type":42,"tag":823,"props":922,"children":923},{},[924],{"type":42,"tag":108,"props":925,"children":927},{"className":926},[],[928],{"type":47,"value":929},".github\u002Fci-archive\u002F.travis.yml",{"type":42,"tag":801,"props":931,"children":932},{},[933,941],{"type":42,"tag":823,"props":934,"children":935},{},[936],{"type":42,"tag":108,"props":937,"children":939},{"className":938},[],[940],{"type":47,"value":163},{"type":42,"tag":823,"props":942,"children":943},{},[944],{"type":42,"tag":108,"props":945,"children":947},{"className":946},[],[948],{"type":47,"value":949},".github\u002Fci-archive\u002F.drone.yml",{"type":42,"tag":801,"props":951,"children":952},{},[953,961],{"type":42,"tag":823,"props":954,"children":955},{},[956],{"type":42,"tag":108,"props":957,"children":959},{"className":958},[],[960],{"type":47,"value":149},{"type":42,"tag":823,"props":962,"children":963},{},[964],{"type":42,"tag":108,"props":965,"children":967},{"className":966},[],[968],{"type":47,"value":969},".github\u002Fci-archive\u002Fbitbucket-pipelines.yml",{"type":42,"tag":801,"props":971,"children":972},{},[973,981],{"type":42,"tag":823,"props":974,"children":975},{},[976],{"type":42,"tag":108,"props":977,"children":979},{"className":978},[],[980],{"type":47,"value":156},{"type":42,"tag":823,"props":982,"children":983},{},[984],{"type":42,"tag":108,"props":985,"children":987},{"className":986},[],[988],{"type":47,"value":989},".github\u002Fci-archive\u002Fbamboo-specs.yml",{"type":42,"tag":57,"props":991,"children":992},{},[993],{"type":47,"value":994},"Verify nothing remains in the original locations.",{"type":42,"tag":360,"props":996,"children":997},{},[],{"type":42,"tag":50,"props":999,"children":1001},{"id":1000},"completion-checklist-10-items",[1002],{"type":47,"value":1003},"Completion Checklist (10 items)",{"type":42,"tag":57,"props":1005,"children":1006},{},[1007,1009,1014],{"type":47,"value":1008},"Migration is ",{"type":42,"tag":63,"props":1010,"children":1011},{},[1012],{"type":47,"value":1013},"NOT COMPLETE",{"type":47,"value":1015}," until all 10 are true:",{"type":42,"tag":297,"props":1017,"children":1018},{},[1019,1024,1029,1034,1051,1056,1068,1085,1090,1095],{"type":42,"tag":82,"props":1020,"children":1021},{},[1022],{"type":47,"value":1023},"Source file(s) provided and analyzed",{"type":42,"tag":82,"props":1025,"children":1026},{},[1027],{"type":47,"value":1028},"Workflow(s) accurately replicate source functionality",{"type":42,"tag":82,"props":1030,"children":1031},{},[1032],{"type":47,"value":1033},"Only verified marketplace actions used, latest stable versions, pinned to SHAs",{"type":42,"tag":82,"props":1035,"children":1036},{},[1037,1042,1044,1049],{"type":42,"tag":108,"props":1038,"children":1040},{"className":1039},[],[1041],{"type":47,"value":287},{"type":47,"value":1043}," executed per the ",{"type":42,"tag":108,"props":1045,"children":1047},{"className":1046},[],[1048],{"type":47,"value":287},{"type":47,"value":1050}," skill; real output captured",{"type":42,"tag":82,"props":1052,"children":1053},{},[1054],{"type":47,"value":1055},"All required secrets and variables documented",{"type":42,"tag":82,"props":1057,"children":1058},{},[1059,1061,1066],{"type":47,"value":1060},"Original CI\u002FCD files moved to ",{"type":42,"tag":108,"props":1062,"children":1064},{"className":1063},[],[1065],{"type":47,"value":336},{"type":47,"value":1067}," and deleted from original locations",{"type":42,"tag":82,"props":1069,"children":1070},{},[1071,1076,1078,1083],{"type":42,"tag":108,"props":1072,"children":1074},{"className":1073},[],[1075],{"type":47,"value":310},{"type":47,"value":1077}," written from the platform's ",{"type":42,"tag":108,"props":1079,"children":1081},{"className":1080},[],[1082],{"type":47,"value":318},{"type":47,"value":1084},", no placeholders",{"type":42,"tag":82,"props":1086,"children":1087},{},[1088],{"type":47,"value":1089},"Migration report delivered via PR (existing PR updated, or new PR created) where possible",{"type":42,"tag":82,"props":1091,"children":1092},{},[1093],{"type":47,"value":1094},"All guardrails above satisfied",{"type":42,"tag":82,"props":1096,"children":1097},{},[1098],{"type":47,"value":1099},"Response ends with:",{"type":42,"tag":1101,"props":1102,"children":1103},"blockquote",{},[1104],{"type":42,"tag":57,"props":1105,"children":1106},{},[1107],{"type":47,"value":1108},"Migration complete. MIGRATION-README.md created and Pull Request updated\u002Fcreated with migration report.",{"type":42,"tag":57,"props":1110,"children":1111},{},[1112,1114,1120],{"type":47,"value":1113},"(If PR was unavailable: ",{"type":42,"tag":1115,"props":1116,"children":1117},"em",{},[1118],{"type":47,"value":1119},"Migration complete. MIGRATION-README.md created in .github\u002Fci-archive\u002F",{"type":47,"value":217},{"type":42,"tag":1122,"props":1123,"children":1124},"style",{},[1125],{"type":47,"value":1126},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":1128,"total":1213},[1129,1143,1156,1170,1181,1192,1202],{"slug":287,"name":287,"fn":1130,"description":1131,"org":1132,"tags":1133,"stars":25,"repoUrl":26,"updatedAt":1142},"lint and fix GitHub Actions workflows","Install, run, and fix errors from actionlint — the GitHub Actions workflow linter. Load when validating `.github\u002Fworkflows\u002F*.yml` files after migration or generation.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1134,1135,1138,1139],{"name":23,"slug":24,"type":15},{"name":1136,"slug":1137,"type":15},"Code Analysis","code-analysis",{"name":13,"slug":14,"type":15},{"name":1140,"slug":1141,"type":15},"QA","qa","2026-05-27T07:07:58.574528",{"slug":1144,"name":1144,"fn":1145,"description":1146,"org":1147,"tags":1148,"stars":25,"repoUrl":26,"updatedAt":1155},"azure-devops-migration","migrate Azure DevOps pipelines to GitHub Actions","Azure DevOps migration to GitHub Actions — syntax mappings and the migration report template for YAML pipelines, templates, variable groups, service connections, deployment jobs, stages, conditional logic. Load with `migration-core` when migrating Azure DevOps sources to GitHub Actions.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1149,1152,1153,1154],{"name":1150,"slug":1151,"type":15},"Azure DevOps","azure-devops",{"name":23,"slug":24,"type":15},{"name":13,"slug":14,"type":15},{"name":17,"slug":18,"type":15},"2026-05-27T07:08:10.275793",{"slug":1157,"name":1157,"fn":1158,"description":1159,"org":1160,"tags":1161,"stars":25,"repoUrl":26,"updatedAt":1169},"bamboo-migration","migrate Bamboo pipelines to GitHub Actions","Bamboo migration to GitHub Actions — syntax mappings and the migration report template for Build plans, deployment projects, tasks, requirements, variables, plan branches. Load with `migration-core` when migrating Bamboo sources to GitHub Actions.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1162,1163,1166,1167,1168],{"name":23,"slug":24,"type":15},{"name":1164,"slug":1165,"type":15},"Deployment","deployment",{"name":20,"slug":21,"type":15},{"name":13,"slug":14,"type":15},{"name":17,"slug":18,"type":15},"2026-05-27T07:08:02.450474",{"slug":1171,"name":1171,"fn":1172,"description":1173,"org":1174,"tags":1175,"stars":25,"repoUrl":26,"updatedAt":1180},"bitbucket-migration","migrate Bitbucket Pipelines to GitHub Actions","Bitbucket Pipelines migration to GitHub Actions — syntax mappings and the migration report template for Pipelines, Pipes, parallel steps, branch\u002Fpull-request workflows, deployments, variables. Load with `migration-core` when migrating Bitbucket Pipelines sources to GitHub Actions.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1176,1177,1178,1179],{"name":23,"slug":24,"type":15},{"name":9,"slug":8,"type":15},{"name":13,"slug":14,"type":15},{"name":17,"slug":18,"type":15},"2026-05-27T07:08:08.963593",{"slug":1182,"name":1182,"fn":1183,"description":1184,"org":1185,"tags":1186,"stars":25,"repoUrl":26,"updatedAt":1191},"circleci-migration","migrate CircleCI pipelines to GitHub Actions","CircleCI migration to GitHub Actions — syntax mappings and the migration report template for Workflows, jobs, Orbs, executors, contexts, parameters, matrix jobs, approval gates. Load with `migration-core` when migrating CircleCI sources to GitHub Actions.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1187,1188,1189,1190],{"name":23,"slug":24,"type":15},{"name":1164,"slug":1165,"type":15},{"name":13,"slug":14,"type":15},{"name":17,"slug":18,"type":15},"2026-05-27T07:08:07.66194",{"slug":1193,"name":1193,"fn":1194,"description":1195,"org":1196,"tags":1197,"stars":25,"repoUrl":26,"updatedAt":1201},"droneci-migration","migrate Drone CI pipelines to GitHub Actions","Drone CI migration to GitHub Actions — syntax mappings and the migration report template for Pipelines, plugins, services, secrets, triggers, multi-platform pipelines. Load with `migration-core` when migrating Drone CI sources to GitHub Actions.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1198,1199,1200],{"name":23,"slug":24,"type":15},{"name":13,"slug":14,"type":15},{"name":17,"slug":18,"type":15},"2026-05-27T07:08:05.038968",{"slug":1203,"name":1203,"fn":1204,"description":1205,"org":1206,"tags":1207,"stars":25,"repoUrl":26,"updatedAt":1212},"gitlab-migration","migrate GitLab CI to GitHub Actions","GitLab CI migration to GitHub Actions — syntax mappings and the migration report template for Pipelines, includes, Pages, environments, rules\u002Fonly\u002Fexcept, parallel jobs, GitLab-specific variables. Load with `migration-core` when migrating GitLab CI sources to GitHub Actions.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1208,1209,1210,1211],{"name":23,"slug":24,"type":15},{"name":20,"slug":21,"type":15},{"name":13,"slug":14,"type":15},{"name":17,"slug":18,"type":15},"2026-05-27T07:08:01.168922",11,{"items":1215,"total":1394},[1216,1240,1258,1274,1288,1304,1318,1330,1342,1354,1370,1382],{"slug":1217,"name":1217,"fn":1218,"description":1219,"org":1220,"tags":1221,"stars":1237,"repoUrl":1238,"updatedAt":1239},"qdrant-horizontal-scaling","guide Qdrant horizontal scaling decisions","Diagnoses and guides Qdrant horizontal scaling decisions. Use when someone asks 'vertical or horizontal?', 'how many nodes?', 'how many shards?', 'how to add nodes', 'resharding', 'data doesn't fit', or 'need more capacity'. Also use when data growth outpaces current deployment.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1222,1225,1228,1231,1234],{"name":1223,"slug":1224,"type":15},"AI Infrastructure","ai-infrastructure",{"name":1226,"slug":1227,"type":15},"Architecture","architecture",{"name":1229,"slug":1230,"type":15},"Capacity Planning","capacity-planning",{"name":1232,"slug":1233,"type":15},"Database","database",{"name":1235,"slug":1236,"type":15},"Qdrant","qdrant",36978,"https:\u002F\u002Fgithub.com\u002Fgithub\u002Fawesome-copilot","2026-04-18T04:46:16.349561",{"slug":1241,"name":1241,"fn":1242,"description":1243,"org":1244,"tags":1245,"stars":1237,"repoUrl":1238,"updatedAt":1257},"qdrant-indexing-performance-optimization","optimize Qdrant indexing performance","Diagnoses and fixes slow Qdrant indexing and data ingestion. Use when someone reports 'uploads are slow', 'indexing takes forever', 'optimizer is stuck', 'HNSW build time too long', or 'data uploaded but search is bad'. Also use when optimizer status shows errors, segments won't merge, or indexing threshold questions arise.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1246,1249,1250,1253,1256],{"name":1247,"slug":1248,"type":15},"Data Engineering","data-engineering",{"name":1232,"slug":1233,"type":15},{"name":1251,"slug":1252,"type":15},"ETL","etl",{"name":1254,"slug":1255,"type":15},"Performance","performance",{"name":1235,"slug":1236,"type":15},"2026-04-18T04:46:02.766357",{"slug":1259,"name":1259,"fn":1260,"description":1261,"org":1262,"tags":1263,"stars":1237,"repoUrl":1238,"updatedAt":1273},"qdrant-memory-usage-optimization","optimize Qdrant memory usage","Diagnoses and reduces Qdrant memory usage. Use when someone reports 'memory too high', 'RAM keeps growing', 'node crashed', 'out of memory', 'memory leak', or asks 'why is memory usage so high?', 'how to reduce RAM?'. Also use when memory doesn't match calculations, quantization didn't help, or nodes crash during recovery.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1264,1267,1268,1271,1272],{"name":1265,"slug":1266,"type":15},"Cost Optimization","cost-optimization",{"name":1232,"slug":1233,"type":15},{"name":1269,"slug":1270,"type":15},"Observability","observability",{"name":1254,"slug":1255,"type":15},{"name":1235,"slug":1236,"type":15},"2026-04-18T04:46:01.525023",{"slug":1275,"name":1275,"fn":1276,"description":1277,"org":1278,"tags":1279,"stars":1237,"repoUrl":1238,"updatedAt":1287},"qdrant-minimize-latency","minimize Qdrant query latency","Guides Qdrant query latency optimization. Use when someone asks 'search is slow', 'how to reduce latency', 'p99 is too high', 'tail latency', 'single query too slow', 'how to make search faster', or 'latency spikes'.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1280,1281,1282,1283,1284],{"name":1226,"slug":1227,"type":15},{"name":1232,"slug":1233,"type":15},{"name":1254,"slug":1255,"type":15},{"name":1235,"slug":1236,"type":15},{"name":1285,"slug":1286,"type":15},"Search","search","2026-04-18T04:46:10.126667",{"slug":1289,"name":1289,"fn":1290,"description":1291,"org":1292,"tags":1293,"stars":1237,"repoUrl":1238,"updatedAt":1303},"qdrant-monitoring-debugging","debug Qdrant production issues with metrics","Diagnoses Qdrant production issues using metrics and observability tools. Use when someone reports 'optimizer stuck', 'indexing too slow', 'memory too high', 'OOM crash', 'queries are slow', 'latency spike', or 'search was fast now it's slow'. Also use when performance degrades without obvious config changes.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1294,1297,1300,1301,1302],{"name":1295,"slug":1296,"type":15},"Debugging","debugging",{"name":1298,"slug":1299,"type":15},"Monitoring","monitoring",{"name":1269,"slug":1270,"type":15},{"name":1254,"slug":1255,"type":15},{"name":1235,"slug":1236,"type":15},"2026-04-18T04:46:06.450784",{"slug":1305,"name":1305,"fn":1306,"description":1307,"org":1308,"tags":1309,"stars":1237,"repoUrl":1238,"updatedAt":1317},"qdrant-monitoring-setup","set up Qdrant monitoring and alerting","Guides Qdrant monitoring setup including Prometheus scraping, health probes, Hybrid Cloud metrics, alerting, and log centralization. Use when someone asks 'how to set up monitoring', 'Prometheus config', 'Grafana dashboard', 'health check endpoints', 'how to scrape Hybrid Cloud', 'what alerts to set', 'how to centralize logs', or 'audit logging'.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1310,1311,1312,1313,1314],{"name":1223,"slug":1224,"type":15},{"name":1298,"slug":1299,"type":15},{"name":1269,"slug":1270,"type":15},{"name":1235,"slug":1236,"type":15},{"name":1315,"slug":1316,"type":15},"SRE","sre","2026-04-18T04:46:05.217192",{"slug":1319,"name":1319,"fn":1320,"description":1321,"org":1322,"tags":1323,"stars":1237,"repoUrl":1238,"updatedAt":1329},"qdrant-scaling-data-volume","scale Qdrant data volume","Guides Qdrant data volume scaling decisions. Use when someone asks 'data doesn't fit on one node', 'too much data', 'need more storage', 'vertical or horizontal scaling', 'tenant scaling', 'time window rotation', or 'data growth exceeds capacity'.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1324,1325,1326,1327,1328],{"name":1223,"slug":1224,"type":15},{"name":1226,"slug":1227,"type":15},{"name":1229,"slug":1230,"type":15},{"name":1232,"slug":1233,"type":15},{"name":1235,"slug":1236,"type":15},"2026-04-18T04:46:07.684464",{"slug":1331,"name":1331,"fn":1332,"description":1333,"org":1334,"tags":1335,"stars":1237,"repoUrl":1238,"updatedAt":1341},"qdrant-scaling-qps","scale Qdrant query throughput","Guides Qdrant query throughput (QPS) scaling. Use when someone asks 'how to increase QPS', 'need more throughput', 'queries per second too low', 'batch search', 'read replicas', or 'how to handle more concurrent queries'.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1336,1337,1338,1339,1340],{"name":1223,"slug":1224,"type":15},{"name":1226,"slug":1227,"type":15},{"name":1232,"slug":1233,"type":15},{"name":1254,"slug":1255,"type":15},{"name":1235,"slug":1236,"type":15},"2026-04-18T04:46:08.905219",{"slug":1343,"name":1343,"fn":1344,"description":1345,"org":1346,"tags":1347,"stars":1237,"repoUrl":1238,"updatedAt":1353},"qdrant-scaling-query-volume","scale Qdrant query volume and pagination","Guides Qdrant query volume scaling. Use when someone asks 'query returns too many results', 'scroll performance', 'large limit values', 'paginating search results', 'fetching many vectors', or 'high cardinality results'.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1348,1349,1350,1351,1352],{"name":1226,"slug":1227,"type":15},{"name":1232,"slug":1233,"type":15},{"name":1254,"slug":1255,"type":15},{"name":1235,"slug":1236,"type":15},{"name":1285,"slug":1286,"type":15},"2026-04-18T04:46:11.371326",{"slug":1355,"name":1355,"fn":1356,"description":1357,"org":1358,"tags":1359,"stars":1237,"repoUrl":1238,"updatedAt":1369},"qdrant-search-quality-diagnosis","diagnose Qdrant search quality issues","Diagnoses Qdrant search quality issues. Use when someone reports 'results are bad', 'wrong results', 'not relevant results', 'missing matches', 'recall is low', 'approximate search worse than exact', 'which embedding model', or 'quality dropped after quantization'. Also use when search quality degrades without obvious changes.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1360,1363,1366,1367,1368],{"name":1361,"slug":1362,"type":15},"Analytics","analytics",{"name":1364,"slug":1365,"type":15},"Data Quality","data-quality",{"name":1295,"slug":1296,"type":15},{"name":1235,"slug":1236,"type":15},{"name":1285,"slug":1286,"type":15},"2026-04-18T04:46:17.579894",{"slug":1371,"name":1371,"fn":1372,"description":1373,"org":1374,"tags":1375,"stars":1237,"repoUrl":1238,"updatedAt":1381},"qdrant-search-speed-optimization","optimize Qdrant search speed","Diagnoses and fixes slow Qdrant search. Use when someone reports 'search is slow', 'high latency', 'queries take too long', 'low QPS', 'throughput too low', 'filtered search is slow', or 'search was fast but now it's slow'. Also use when search performance degrades after config changes or data growth.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1376,1377,1378,1379,1380],{"name":1361,"slug":1362,"type":15},{"name":1232,"slug":1233,"type":15},{"name":1254,"slug":1255,"type":15},{"name":1235,"slug":1236,"type":15},{"name":1285,"slug":1286,"type":15},"2026-04-18T04:46:03.987332",{"slug":1383,"name":1383,"fn":1384,"description":1385,"org":1386,"tags":1387,"stars":1237,"repoUrl":1238,"updatedAt":1393},"qdrant-search-strategies","select optimal Qdrant search strategies","Guides Qdrant search strategy selection. Use when someone asks 'should I use hybrid search?', 'BM25 or sparse vectors?', 'how to rerank?', 'results are not relevant', 'I don't get needed results from my dataset but they're there', 'retrieval quality is not good enough', 'results too similar', 'need diversity', 'MMR', 'relevance feedback', 'recommendation API', 'discovery API', 'ColBERT reranking', or 'missing keyword matches'",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1388,1389,1390,1391,1392],{"name":1223,"slug":1224,"type":15},{"name":1361,"slug":1362,"type":15},{"name":1226,"slug":1227,"type":15},{"name":1235,"slug":1236,"type":15},{"name":1285,"slug":1286,"type":15},"2026-04-18T04:46:18.812306",45]