[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-jetbrains-org-search":3,"mdc--9psdy1-key":30,"related-repo-jetbrains-org-search":665,"related-org-jetbrains-org-search":740},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":19,"repoUrl":20,"updatedAt":21,"license":22,"forks":23,"topics":24,"repo":25,"sourceUrl":28,"mdContent":29},"org-search","perform org-wide semantic code search","Experimental jbcontext org-wide semantic search across multiple repositories",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},"jetbrains","JetBrains","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fjetbrains.png",[12,16],{"name":13,"slug":14,"type":15},"Search","search","tag",{"name":17,"slug":18,"type":15},"Code Analysis","code-analysis",4,"https:\u002F\u002Fgithub.com\u002FJetBrains\u002Fcontext","2026-07-17T06:04:43.196869",null,0,[],{"repoUrl":20,"stars":19,"forks":23,"topics":26,"description":27},[],"context agent plugin: skills, mcp, hooks","https:\u002F\u002Fgithub.com\u002FJetBrains\u002Fcontext\u002Ftree\u002FHEAD\u002Fskills\u002Forg-search","---\nname: org-search\ncontext: fork\nagent: Explore\nargument-hint: query\ndescription: \"Experimental jbcontext org-wide semantic search across multiple repositories\"\n---\n\nUse this skill to research `$ARGUMENTS` across all available repositories, especially when the answer may live outside the current repo.\n\n## Use cases for cross repository search\n\n- **Find reusable components, libraries, or utilities.** Before writing new code, check whether another repo already exposes a client, helper, or shared package that solves the problem.\n- **Locate prior art and reference implementations.** Discover how other teams have already solved a similar design problem (e.g. retry logic, feature flag wiring, pagination, caching, auth middleware) so a new implementation can follow established patterns.\n- **Trace cross-service API consumers and producers.** Given an endpoint, RPC, topic, or event name, find every repo that publishes or consumes it to understand blast radius before changing a contract.\n- **Find usages of a shared library, type, or symbol across the org.** Useful for migrations, deprecations, and breaking-change planning — answer \"who imports this?\" when the symbol is defined in a shared package.\n- **Investigate unfamiliar systems and code ownership.** When a request mentions a service, table, or feature you don't recognize, search the org to find the owning repo, its README, and entry points before asking a human.\n- **Audit security, compliance, or anti-pattern occurrences.** Sweep all repos for risky patterns (hardcoded secrets shapes, deprecated crypto, banned dependencies, unsafe SQL) to scope remediation work.\n- **Discover configuration and infrastructure examples.** Find how other services configure the same tool (CI workflows, Dockerfiles, Terraform modules, Helm charts, observability setup) to copy a known-good baseline.\n- **Cross-reference schemas, protos, and shared data models.** Locate the canonical definition of a type or message and every repo that depends on it.\n- **Reproduce or correlate bugs across services.** When a bug may stem from a shared dependency or duplicated logic, search the org for the same code path or error string.\n- **Onboarding and documentation lookup.** Surface relevant docs, runbooks, and examples that live outside the current repo when the local codebase doesn't fully explain a workflow.\n\n## Workflow\n\n1. **Find candidate repositories first.** Run the experimental repo discovery command before searching code:\n\n```bash\njbcontext repos \"\u003Crepo or domain terms>\" --limit 30\n```\n\nUse short, discriminative repo terms from the request: product names, service names, team names, package names, or explicit repository names.\n\n2. **Handle prefixed repository families carefully.** If the request mentions a prefix or wildcard such as `jcp-*`, treat it as a repository-family constraint.\n\n- Query the prefix literally, for example `jcp` and `jcp-`.\n- Keep all suitable repos whose names start with that prefix.\n- Do not replace a prefixed repo family with a similar unprefixed repo unless the repo results clearly show it is the right target.\n- Preserve the exact repository `id` returned by `jbcontext repos`; do not infer ids from names.\n\n```\njbcontext repos \"jcp-\" # show all repos started with jcp- prefix\n```\n\nYou can omit query completely.\n\n3. **Select suitable repos.** Prefer exact name matches, prefix-family matches, and repos whose description\u002Fpath\u002Flanguage matches the task. If there are many candidates, search the most likely 5-10 first, then expand if results are weak.\n\n4. **Search selected repos in parallel.** Invoke `jbcontext search` once per selected repository, passing the repository id from `jbcontext repos` with the id option supported by the installed experimental CLI:\n\n```bash\njbcontext search --repository-id \"\u003Crepo-id>\" --json-output --limit 10 \"\u003Csemantic search query>\"\n```\n\nIf `jbcontext search --help` shows a different repository-id flag, use that flag, but still pass the exact id from `jbcontext repos`. Run independent repo searches in parallel when the agent environment supports parallel tool calls; otherwise keep results grouped by repository.\n\n5. **Resolve snippets and repo information with `gh`.** When `jbcontext search` returns promising snippets, use the GitHub CLI to fetch full file context, surrounding code, default branch, repo metadata, owners, recent commits, or related PRs\u002Fissues before relying on the match. Use the GitHub owner\u002Fname or URL from `jbcontext repos` when available.\n\n```bash\ngh repo view \"\u003Cowner>\u002F\u003Crepo>\" --json nameWithOwner,description,defaultBranchRef,url\ngh api \"repos\u002F\u003Cowner>\u002F\u003Crepo>\u002Fcontents\u002F\u003Cpath>?ref=\u003Cref>\" -H \"Accept: application\u002Fvnd.github.raw\"\n```\n\n6. **Synthesize across repositories.** Report which repos were searched, which repos had useful matches, and the strongest files\u002Fsymbols found. If no suitable repo is found, say which repo filters were tried before stopping.\n\n## Search Guidance\n\n- Use semantic, behavior-focused queries for `jbcontext search`; avoid one-word searches.\n- Re-run `jbcontext repos` with narrower or prefix-aware terms before broadening code search.\n- Use path filters only after repo-level matches identify likely directories.\n- Keep repository names and ids visible in notes so later searches can be reproduced.\n- Use `gh` to resolve snippets into full source context and to gather more information about matching repositories.\n",{"data":31,"body":35},{"name":4,"context":32,"agent":33,"argument-hint":34,"description":6},"fork","Explore","query",{"type":36,"children":37},"root",[38,55,62,168,174,188,244,249,271,326,336,341,380,445,465,500,590,604,610,659],{"type":39,"tag":40,"props":41,"children":42},"element","p",{},[43,46,53],{"type":44,"value":45},"text","Use this skill to research ",{"type":39,"tag":47,"props":48,"children":50},"code",{"className":49},[],[51],{"type":44,"value":52},"$ARGUMENTS",{"type":44,"value":54}," across all available repositories, especially when the answer may live outside the current repo.",{"type":39,"tag":56,"props":57,"children":59},"h2",{"id":58},"use-cases-for-cross-repository-search",[60],{"type":44,"value":61},"Use cases for cross repository search",{"type":39,"tag":63,"props":64,"children":65},"ul",{},[66,78,88,98,108,118,128,138,148,158],{"type":39,"tag":67,"props":68,"children":69},"li",{},[70,76],{"type":39,"tag":71,"props":72,"children":73},"strong",{},[74],{"type":44,"value":75},"Find reusable components, libraries, or utilities.",{"type":44,"value":77}," Before writing new code, check whether another repo already exposes a client, helper, or shared package that solves the problem.",{"type":39,"tag":67,"props":79,"children":80},{},[81,86],{"type":39,"tag":71,"props":82,"children":83},{},[84],{"type":44,"value":85},"Locate prior art and reference implementations.",{"type":44,"value":87}," Discover how other teams have already solved a similar design problem (e.g. retry logic, feature flag wiring, pagination, caching, auth middleware) so a new implementation can follow established patterns.",{"type":39,"tag":67,"props":89,"children":90},{},[91,96],{"type":39,"tag":71,"props":92,"children":93},{},[94],{"type":44,"value":95},"Trace cross-service API consumers and producers.",{"type":44,"value":97}," Given an endpoint, RPC, topic, or event name, find every repo that publishes or consumes it to understand blast radius before changing a contract.",{"type":39,"tag":67,"props":99,"children":100},{},[101,106],{"type":39,"tag":71,"props":102,"children":103},{},[104],{"type":44,"value":105},"Find usages of a shared library, type, or symbol across the org.",{"type":44,"value":107}," Useful for migrations, deprecations, and breaking-change planning — answer \"who imports this?\" when the symbol is defined in a shared package.",{"type":39,"tag":67,"props":109,"children":110},{},[111,116],{"type":39,"tag":71,"props":112,"children":113},{},[114],{"type":44,"value":115},"Investigate unfamiliar systems and code ownership.",{"type":44,"value":117}," When a request mentions a service, table, or feature you don't recognize, search the org to find the owning repo, its README, and entry points before asking a human.",{"type":39,"tag":67,"props":119,"children":120},{},[121,126],{"type":39,"tag":71,"props":122,"children":123},{},[124],{"type":44,"value":125},"Audit security, compliance, or anti-pattern occurrences.",{"type":44,"value":127}," Sweep all repos for risky patterns (hardcoded secrets shapes, deprecated crypto, banned dependencies, unsafe SQL) to scope remediation work.",{"type":39,"tag":67,"props":129,"children":130},{},[131,136],{"type":39,"tag":71,"props":132,"children":133},{},[134],{"type":44,"value":135},"Discover configuration and infrastructure examples.",{"type":44,"value":137}," Find how other services configure the same tool (CI workflows, Dockerfiles, Terraform modules, Helm charts, observability setup) to copy a known-good baseline.",{"type":39,"tag":67,"props":139,"children":140},{},[141,146],{"type":39,"tag":71,"props":142,"children":143},{},[144],{"type":44,"value":145},"Cross-reference schemas, protos, and shared data models.",{"type":44,"value":147}," Locate the canonical definition of a type or message and every repo that depends on it.",{"type":39,"tag":67,"props":149,"children":150},{},[151,156],{"type":39,"tag":71,"props":152,"children":153},{},[154],{"type":44,"value":155},"Reproduce or correlate bugs across services.",{"type":44,"value":157}," When a bug may stem from a shared dependency or duplicated logic, search the org for the same code path or error string.",{"type":39,"tag":67,"props":159,"children":160},{},[161,166],{"type":39,"tag":71,"props":162,"children":163},{},[164],{"type":44,"value":165},"Onboarding and documentation lookup.",{"type":44,"value":167}," Surface relevant docs, runbooks, and examples that live outside the current repo when the local codebase doesn't fully explain a workflow.",{"type":39,"tag":56,"props":169,"children":171},{"id":170},"workflow",[172],{"type":44,"value":173},"Workflow",{"type":39,"tag":175,"props":176,"children":177},"ol",{},[178],{"type":39,"tag":67,"props":179,"children":180},{},[181,186],{"type":39,"tag":71,"props":182,"children":183},{},[184],{"type":44,"value":185},"Find candidate repositories first.",{"type":44,"value":187}," Run the experimental repo discovery command before searching code:",{"type":39,"tag":189,"props":190,"children":195},"pre",{"className":191,"code":192,"language":193,"meta":194,"style":194},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","jbcontext repos \"\u003Crepo or domain terms>\" --limit 30\n","bash","",[196],{"type":39,"tag":47,"props":197,"children":198},{"__ignoreMap":194},[199],{"type":39,"tag":200,"props":201,"children":204},"span",{"class":202,"line":203},"line",1,[205,211,217,223,228,233,238],{"type":39,"tag":200,"props":206,"children":208},{"style":207},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[209],{"type":44,"value":210},"jbcontext",{"type":39,"tag":200,"props":212,"children":214},{"style":213},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[215],{"type":44,"value":216}," repos",{"type":39,"tag":200,"props":218,"children":220},{"style":219},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[221],{"type":44,"value":222}," \"",{"type":39,"tag":200,"props":224,"children":225},{"style":213},[226],{"type":44,"value":227},"\u003Crepo or domain terms>",{"type":39,"tag":200,"props":229,"children":230},{"style":219},[231],{"type":44,"value":232},"\"",{"type":39,"tag":200,"props":234,"children":235},{"style":213},[236],{"type":44,"value":237}," --limit",{"type":39,"tag":200,"props":239,"children":241},{"style":240},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[242],{"type":44,"value":243}," 30\n",{"type":39,"tag":40,"props":245,"children":246},{},[247],{"type":44,"value":248},"Use short, discriminative repo terms from the request: product names, service names, team names, package names, or explicit repository names.",{"type":39,"tag":175,"props":250,"children":252},{"start":251},2,[253],{"type":39,"tag":67,"props":254,"children":255},{},[256,261,263,269],{"type":39,"tag":71,"props":257,"children":258},{},[259],{"type":44,"value":260},"Handle prefixed repository families carefully.",{"type":44,"value":262}," If the request mentions a prefix or wildcard such as ",{"type":39,"tag":47,"props":264,"children":266},{"className":265},[],[267],{"type":44,"value":268},"jcp-*",{"type":44,"value":270},", treat it as a repository-family constraint.",{"type":39,"tag":63,"props":272,"children":273},{},[274,295,300,305],{"type":39,"tag":67,"props":275,"children":276},{},[277,279,285,287,293],{"type":44,"value":278},"Query the prefix literally, for example ",{"type":39,"tag":47,"props":280,"children":282},{"className":281},[],[283],{"type":44,"value":284},"jcp",{"type":44,"value":286}," and ",{"type":39,"tag":47,"props":288,"children":290},{"className":289},[],[291],{"type":44,"value":292},"jcp-",{"type":44,"value":294},".",{"type":39,"tag":67,"props":296,"children":297},{},[298],{"type":44,"value":299},"Keep all suitable repos whose names start with that prefix.",{"type":39,"tag":67,"props":301,"children":302},{},[303],{"type":44,"value":304},"Do not replace a prefixed repo family with a similar unprefixed repo unless the repo results clearly show it is the right target.",{"type":39,"tag":67,"props":306,"children":307},{},[308,310,316,318,324],{"type":44,"value":309},"Preserve the exact repository ",{"type":39,"tag":47,"props":311,"children":313},{"className":312},[],[314],{"type":44,"value":315},"id",{"type":44,"value":317}," returned by ",{"type":39,"tag":47,"props":319,"children":321},{"className":320},[],[322],{"type":44,"value":323},"jbcontext repos",{"type":44,"value":325},"; do not infer ids from names.",{"type":39,"tag":189,"props":327,"children":331},{"className":328,"code":330,"language":44},[329],"language-text","jbcontext repos \"jcp-\" # show all repos started with jcp- prefix\n",[332],{"type":39,"tag":47,"props":333,"children":334},{"__ignoreMap":194},[335],{"type":44,"value":330},{"type":39,"tag":40,"props":337,"children":338},{},[339],{"type":44,"value":340},"You can omit query completely.",{"type":39,"tag":175,"props":342,"children":344},{"start":343},3,[345,355],{"type":39,"tag":67,"props":346,"children":347},{},[348,353],{"type":39,"tag":71,"props":349,"children":350},{},[351],{"type":44,"value":352},"Select suitable repos.",{"type":44,"value":354}," Prefer exact name matches, prefix-family matches, and repos whose description\u002Fpath\u002Flanguage matches the task. If there are many candidates, search the most likely 5-10 first, then expand if results are weak.",{"type":39,"tag":67,"props":356,"children":357},{},[358,363,365,371,373,378],{"type":39,"tag":71,"props":359,"children":360},{},[361],{"type":44,"value":362},"Search selected repos in parallel.",{"type":44,"value":364}," Invoke ",{"type":39,"tag":47,"props":366,"children":368},{"className":367},[],[369],{"type":44,"value":370},"jbcontext search",{"type":44,"value":372}," once per selected repository, passing the repository id from ",{"type":39,"tag":47,"props":374,"children":376},{"className":375},[],[377],{"type":44,"value":323},{"type":44,"value":379}," with the id option supported by the installed experimental CLI:",{"type":39,"tag":189,"props":381,"children":383},{"className":191,"code":382,"language":193,"meta":194,"style":194},"jbcontext search --repository-id \"\u003Crepo-id>\" --json-output --limit 10 \"\u003Csemantic search query>\"\n",[384],{"type":39,"tag":47,"props":385,"children":386},{"__ignoreMap":194},[387],{"type":39,"tag":200,"props":388,"children":389},{"class":202,"line":203},[390,394,399,404,408,413,417,422,426,431,435,440],{"type":39,"tag":200,"props":391,"children":392},{"style":207},[393],{"type":44,"value":210},{"type":39,"tag":200,"props":395,"children":396},{"style":213},[397],{"type":44,"value":398}," search",{"type":39,"tag":200,"props":400,"children":401},{"style":213},[402],{"type":44,"value":403}," --repository-id",{"type":39,"tag":200,"props":405,"children":406},{"style":219},[407],{"type":44,"value":222},{"type":39,"tag":200,"props":409,"children":410},{"style":213},[411],{"type":44,"value":412},"\u003Crepo-id>",{"type":39,"tag":200,"props":414,"children":415},{"style":219},[416],{"type":44,"value":232},{"type":39,"tag":200,"props":418,"children":419},{"style":213},[420],{"type":44,"value":421}," --json-output",{"type":39,"tag":200,"props":423,"children":424},{"style":213},[425],{"type":44,"value":237},{"type":39,"tag":200,"props":427,"children":428},{"style":240},[429],{"type":44,"value":430}," 10",{"type":39,"tag":200,"props":432,"children":433},{"style":219},[434],{"type":44,"value":222},{"type":39,"tag":200,"props":436,"children":437},{"style":213},[438],{"type":44,"value":439},"\u003Csemantic search query>",{"type":39,"tag":200,"props":441,"children":442},{"style":219},[443],{"type":44,"value":444},"\"\n",{"type":39,"tag":40,"props":446,"children":447},{},[448,450,456,458,463],{"type":44,"value":449},"If ",{"type":39,"tag":47,"props":451,"children":453},{"className":452},[],[454],{"type":44,"value":455},"jbcontext search --help",{"type":44,"value":457}," shows a different repository-id flag, use that flag, but still pass the exact id from ",{"type":39,"tag":47,"props":459,"children":461},{"className":460},[],[462],{"type":44,"value":323},{"type":44,"value":464},". Run independent repo searches in parallel when the agent environment supports parallel tool calls; otherwise keep results grouped by repository.",{"type":39,"tag":175,"props":466,"children":468},{"start":467},5,[469],{"type":39,"tag":67,"props":470,"children":471},{},[472,484,486,491,493,498],{"type":39,"tag":71,"props":473,"children":474},{},[475,477,483],{"type":44,"value":476},"Resolve snippets and repo information with ",{"type":39,"tag":47,"props":478,"children":480},{"className":479},[],[481],{"type":44,"value":482},"gh",{"type":44,"value":294},{"type":44,"value":485}," When ",{"type":39,"tag":47,"props":487,"children":489},{"className":488},[],[490],{"type":44,"value":370},{"type":44,"value":492}," returns promising snippets, use the GitHub CLI to fetch full file context, surrounding code, default branch, repo metadata, owners, recent commits, or related PRs\u002Fissues before relying on the match. Use the GitHub owner\u002Fname or URL from ",{"type":39,"tag":47,"props":494,"children":496},{"className":495},[],[497],{"type":44,"value":323},{"type":44,"value":499}," when available.",{"type":39,"tag":189,"props":501,"children":503},{"className":191,"code":502,"language":193,"meta":194,"style":194},"gh repo view \"\u003Cowner>\u002F\u003Crepo>\" --json nameWithOwner,description,defaultBranchRef,url\ngh api \"repos\u002F\u003Cowner>\u002F\u003Crepo>\u002Fcontents\u002F\u003Cpath>?ref=\u003Cref>\" -H \"Accept: application\u002Fvnd.github.raw\"\n",[504],{"type":39,"tag":47,"props":505,"children":506},{"__ignoreMap":194},[507,547],{"type":39,"tag":200,"props":508,"children":509},{"class":202,"line":203},[510,514,519,524,528,533,537,542],{"type":39,"tag":200,"props":511,"children":512},{"style":207},[513],{"type":44,"value":482},{"type":39,"tag":200,"props":515,"children":516},{"style":213},[517],{"type":44,"value":518}," repo",{"type":39,"tag":200,"props":520,"children":521},{"style":213},[522],{"type":44,"value":523}," view",{"type":39,"tag":200,"props":525,"children":526},{"style":219},[527],{"type":44,"value":222},{"type":39,"tag":200,"props":529,"children":530},{"style":213},[531],{"type":44,"value":532},"\u003Cowner>\u002F\u003Crepo>",{"type":39,"tag":200,"props":534,"children":535},{"style":219},[536],{"type":44,"value":232},{"type":39,"tag":200,"props":538,"children":539},{"style":213},[540],{"type":44,"value":541}," --json",{"type":39,"tag":200,"props":543,"children":544},{"style":213},[545],{"type":44,"value":546}," nameWithOwner,description,defaultBranchRef,url\n",{"type":39,"tag":200,"props":548,"children":549},{"class":202,"line":251},[550,554,559,563,568,572,577,581,586],{"type":39,"tag":200,"props":551,"children":552},{"style":207},[553],{"type":44,"value":482},{"type":39,"tag":200,"props":555,"children":556},{"style":213},[557],{"type":44,"value":558}," api",{"type":39,"tag":200,"props":560,"children":561},{"style":219},[562],{"type":44,"value":222},{"type":39,"tag":200,"props":564,"children":565},{"style":213},[566],{"type":44,"value":567},"repos\u002F\u003Cowner>\u002F\u003Crepo>\u002Fcontents\u002F\u003Cpath>?ref=\u003Cref>",{"type":39,"tag":200,"props":569,"children":570},{"style":219},[571],{"type":44,"value":232},{"type":39,"tag":200,"props":573,"children":574},{"style":213},[575],{"type":44,"value":576}," -H",{"type":39,"tag":200,"props":578,"children":579},{"style":219},[580],{"type":44,"value":222},{"type":39,"tag":200,"props":582,"children":583},{"style":213},[584],{"type":44,"value":585},"Accept: application\u002Fvnd.github.raw",{"type":39,"tag":200,"props":587,"children":588},{"style":219},[589],{"type":44,"value":444},{"type":39,"tag":175,"props":591,"children":593},{"start":592},6,[594],{"type":39,"tag":67,"props":595,"children":596},{},[597,602],{"type":39,"tag":71,"props":598,"children":599},{},[600],{"type":44,"value":601},"Synthesize across repositories.",{"type":44,"value":603}," Report which repos were searched, which repos had useful matches, and the strongest files\u002Fsymbols found. If no suitable repo is found, say which repo filters were tried before stopping.",{"type":39,"tag":56,"props":605,"children":607},{"id":606},"search-guidance",[608],{"type":44,"value":609},"Search Guidance",{"type":39,"tag":63,"props":611,"children":612},{},[613,625,637,642,647],{"type":39,"tag":67,"props":614,"children":615},{},[616,618,623],{"type":44,"value":617},"Use semantic, behavior-focused queries for ",{"type":39,"tag":47,"props":619,"children":621},{"className":620},[],[622],{"type":44,"value":370},{"type":44,"value":624},"; avoid one-word searches.",{"type":39,"tag":67,"props":626,"children":627},{},[628,630,635],{"type":44,"value":629},"Re-run ",{"type":39,"tag":47,"props":631,"children":633},{"className":632},[],[634],{"type":44,"value":323},{"type":44,"value":636}," with narrower or prefix-aware terms before broadening code search.",{"type":39,"tag":67,"props":638,"children":639},{},[640],{"type":44,"value":641},"Use path filters only after repo-level matches identify likely directories.",{"type":39,"tag":67,"props":643,"children":644},{},[645],{"type":44,"value":646},"Keep repository names and ids visible in notes so later searches can be reproduced.",{"type":39,"tag":67,"props":648,"children":649},{},[650,652,657],{"type":44,"value":651},"Use ",{"type":39,"tag":47,"props":653,"children":655},{"className":654},[],[656],{"type":44,"value":482},{"type":44,"value":658}," to resolve snippets into full source context and to gather more information about matching repositories.",{"type":39,"tag":660,"props":661,"children":662},"style",{},[663],{"type":44,"value":664},"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":666,"total":739},[667,681,695,704,714,724,734],{"slug":668,"name":668,"fn":669,"description":670,"org":671,"tags":672,"stars":19,"repoUrl":20,"updatedAt":680},"blast-radius","analyze blast radius of code changes","Experimental jbcontext org-wide blast-radius analysis across multiple repositories. Use when Codex needs to estimate the impact of changing an API, endpoint, schema, event, shared library, config, feature flag, data model, behavior, or dependency by finding producers, consumers, owners, tests, and related repos.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[673,676,677],{"name":674,"slug":675,"type":15},"Architecture","architecture",{"name":17,"slug":18,"type":15},{"name":678,"slug":679,"type":15},"Engineering","engineering","2026-07-13T06:43:52.366136",{"slug":682,"name":682,"fn":683,"description":684,"org":685,"tags":686,"stars":19,"repoUrl":20,"updatedAt":694},"context-install","install and configure jbcontext","Install jbcontext and complete first-time setup — login and configure agent integration. Use when `jbcontext` is not found or the user asks to install jbcontext.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[687,690,691],{"name":688,"slug":689,"type":15},"CLI","cli",{"name":678,"slug":679,"type":15},{"name":692,"slug":693,"type":15},"Onboarding","onboarding","2026-07-13T06:43:56.417787",{"slug":696,"name":696,"fn":697,"description":698,"org":699,"tags":700,"stars":19,"repoUrl":20,"updatedAt":703},"context-research","research unfamiliar codebases using semantic search","Research and understand unfamiliar codebases using semantic search with `jbcontext search`",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[701,702],{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},"2026-07-17T06:06:53.804135",{"slug":705,"name":705,"fn":706,"description":707,"org":708,"tags":709,"stars":19,"repoUrl":20,"updatedAt":713},"context-review","review code changes with semantic search","Use this skill to review code changes using semantic search to understand context and impact",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[710,711,712],{"name":17,"slug":18,"type":15},{"name":678,"slug":679,"type":15},{"name":13,"slug":14,"type":15},"2026-07-13T06:43:53.79735",{"slug":715,"name":715,"fn":716,"description":717,"org":718,"tags":719,"stars":19,"repoUrl":20,"updatedAt":723},"context-search","explore codebases using semantic search","Semantic code search for discovering and understanding code by meaning rather than keywords.\n- Use this skill when you need to find code whose location you don't already know - e.g., when the task asks 'where is X', 'how does Y work', or describes behavior or intent without naming exact symbols.\n- When not to use: if you already know the relevant file, class, or symbol (use direct navigation or keyword search instead), or for non-code-discovery tasks such as git operations, builds, tests, or reviewing an existing diff.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[720,721,722],{"name":17,"slug":18,"type":15},{"name":678,"slug":679,"type":15},{"name":13,"slug":14,"type":15},"2026-07-30T05:28:03.252026",{"slug":725,"name":725,"fn":726,"description":727,"org":728,"tags":729,"stars":19,"repoUrl":20,"updatedAt":733},"dependency-search","search dependencies across repositories","Experimental jbcontext org-wide dependency search across multiple repositories. Use when need to find APIs in other repositories, or dependency configuration are used across repos for upgrades, removals, CVEs, migrations, or ownership discovery.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[730,731,732],{"name":17,"slug":18,"type":15},{"name":678,"slug":679,"type":15},{"name":13,"slug":14,"type":15},"2026-07-13T06:44:02.819425",{"slug":4,"name":4,"fn":5,"description":6,"org":735,"tags":736,"stars":19,"repoUrl":20,"updatedAt":21},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[737,738],{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},7,{"items":741,"total":866},[742,756,765,774,783,793,806,815,824,834,843,856],{"slug":743,"name":743,"fn":744,"description":745,"org":746,"tags":747,"stars":753,"repoUrl":754,"updatedAt":755},"mps-aspect-accessories","configure JetBrains MPS module dependencies","Wire MPS module and model dependencies, used languages, used devkits, extended languages, runtime solutions, accessory models, and language\u002Fdependency versions. Use when adding\u002Fremoving module dependencies, importing languages or devkits into a model, declaring runtime solutions, or shipping accessory content visible to consumers without explicit import.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[748,749,752],{"name":674,"slug":675,"type":15},{"name":750,"slug":751,"type":15},"Configuration","configuration",{"name":678,"slug":679,"type":15},1650,"https:\u002F\u002Fgithub.com\u002FJetBrains\u002FMPS","2026-07-17T06:06:57.311661",{"slug":757,"name":757,"fn":758,"description":759,"org":760,"tags":761,"stars":753,"repoUrl":754,"updatedAt":764},"mps-aspect-actions","define and edit MPS node factories","Use when defining or editing MPS node factories (the \"actions\" aspect) — `NodeFactories` roots, per-concept `NodeFactory` setup functions that initialize a freshly created node and optionally copy data from a replaced `sampleNode`, plus the actions aspect's `CopyPasteHandlers` and `PasteWrappers` roots. Reach for this skill when a substitution, side transform, completion replacement, or `add new initialized(...)` should preserve fields from the node it is replacing, or when defaults set in a constructor are not enough.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[762,763],{"name":674,"slug":675,"type":15},{"name":678,"slug":679,"type":15},"2026-07-17T06:04:48.066901",{"slug":766,"name":766,"fn":767,"description":768,"org":769,"tags":770,"stars":753,"repoUrl":754,"updatedAt":773},"mps-aspect-behavior","define and edit MPS concept behavior","Use when defining or editing MPS `ConceptBehavior` — per-concept methods (non-virtual \u002F virtual \u002F abstract \u002F static \u002F virtual static), constructors, virtual dispatch (MRO), super and interface-default calls (`super\u003CInterface>.method`), overriding methods from `lang.core.behavior` interfaces such as `ScopeProvider.getScope` \u002F `INamedConcept.getName` \u002F `BaseConcept.getPresentation`, calling sibling methods (`LocalBehaviorMethodCall`) and behavior methods from other aspects via `node.method(...)`. Reach for this skill whenever the task involves authoring or modifying `\u003Clang>\u002FlanguageModels\u002Fbehavior.mps`.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[771,772],{"name":674,"slug":675,"type":15},{"name":678,"slug":679,"type":15},"2026-07-13T06:45:21.757084",{"slug":775,"name":775,"fn":776,"description":777,"org":778,"tags":779,"stars":753,"repoUrl":754,"updatedAt":782},"mps-aspect-constraints","define JetBrains MPS language constraints","Use when defining or editing MPS language constraints — property validators \u002F setters \u002F getters, referent search scopes (imperative or inherited via `ScopeProvider.getScope`), `referentSetHandler` side effects, default-scope blocks, `canBeChild` \u002F `canBeParent` \u002F `canBeAncestor` \u002F `canBeRoot` placement rules, `defaultConcreteConcept` for abstract concepts, `set \u003Cread-only>` and `{name}` aliasing, and scope helpers (`SimpleRoleScope`, `ListScope`, `CompositeScope`, `HidingByNameScope`). Reach for this skill whenever the task involves authoring or modifying `\u003Clang>\u002FlanguageModels\u002Fconstraints.mps`.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[780,781],{"name":674,"slug":675,"type":15},{"name":17,"slug":18,"type":15},"2026-07-23T05:41:33.639365",{"slug":784,"name":784,"fn":785,"description":786,"org":787,"tags":788,"stars":753,"repoUrl":754,"updatedAt":792},"mps-aspect-dataflow","define and debug MPS dataflow builders","Use when defining or debugging MPS dataflow builders for a concept — control\u002Fdata flow declarations that drive reachability analysis and variable-use checking. Covers DataFlowBuilderDeclaration, BuilderBlock, emit instructions (code for, jump, ifjump, label, read, write, ret, mayBeUnreachable), positions (AfterPosition, BeforePosition, LabelPosition), the jetbrains.mps.lang.dataFlow language, the NodeParameter implicit, BL+smodel usage inside builder bodies, and IBuilderMode for advanced analyses such as nullable\u002Fnon-null tracking.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[789],{"name":790,"slug":791,"type":15},"Data Analysis","data-analysis","2026-07-13T06:45:19.114674",{"slug":794,"name":794,"fn":795,"description":796,"org":797,"tags":798,"stars":753,"repoUrl":754,"updatedAt":805},"mps-aspect-editor","define MPS editor layouts","Use when creating or changing MPS editor definitions — the overall workflow from scaffolding a `ConceptEditorDeclaration` through componentizing reusable `EditorComponentDeclaration`s, refining cell models and cell layouts, applying style sheets and indent-layout style items, wiring smart references, leveraging inheritance via super-concepts and interfaces, inspecting (`print_node_json`, `show_node_representation`) and validating (`check_root_node_problems`). Covers `jetbrains.mps.lang.editor` cell models (`CellModel_RefNode`\u002F`CellModel_RefNodeList`\u002F`CellModel_RefCell`\u002F`CellModel_Property`\u002F`CellModel_Constant`), layout choices, and JSON blueprints for common editor shapes. For the non-layout side (action maps, keymaps, transformation\u002Fsubstitute menus) use `mps-aspect-editor-menus-and-keymaps`.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[799,802],{"name":800,"slug":801,"type":15},"Design","design",{"name":803,"slug":804,"type":15},"UI Components","ui-components","2026-07-23T05:41:56.638151",{"slug":807,"name":807,"fn":808,"description":809,"org":810,"tags":811,"stars":753,"repoUrl":754,"updatedAt":814},"mps-aspect-editor-menus-and-keymaps","author MPS editor menus and keymaps","Use when authoring the **non-layout** parts of the MPS editor aspect — what happens when the user types, presses a key, triggers completion, pastes, or invokes a context action. Covers action maps (`CellActionMapDeclaration`), cell keymaps (`CellKeyMapDeclaration`), transformation menus (`TransformationMenu_Default` \u002F `_Named` \u002F `_Contribution`), substitute menus (`SubstituteMenu_Default` \u002F `SubstituteMenu` \u002F contributions), side transforms (LEFT\u002FRIGHT), legacy cell menus, paste wrappers and copy-paste handlers (in the actions language), completion styling, reference presentation, two-step deletion, and the editor selection API. Trigger terms: `actionMap`, `keyMap`, `delete_action_id`, `transformationMenu`, `substituteMenu`, `Ctrl+Space`, `Ctrl+Alt+B`, side transform, paste wrapper, completion styling, `PasteWrappers`, `CopyPasteHandlers`. For the **layout** side (cells, layouts, style sheets) use `mps-aspect-editor` instead.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[812,813],{"name":678,"slug":679,"type":15},{"name":803,"slug":804,"type":15},"2026-07-23T05:41:49.666535",{"slug":816,"name":816,"fn":817,"description":818,"org":819,"tags":820,"stars":753,"repoUrl":754,"updatedAt":823},"mps-aspect-generation-plan","modify MPS generation plans","Use when defining or modifying an MPS generation plan — explicit ordering of generators, checkpoints for cross-model reference resolution, forks for parallel branches, IncludePlan composition, conditional PlanContribution activation, ParameterEquals\u002FConceptListSelector fork selectors, and InitModelAttributes for targetFacet routing. Apply when working with @genplan models, the jetbrains.mps.lang.generator.plan language, attaching plans via DevKits or the Custom generation facet, or debugging cross-model mapping label resolution.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[821,822],{"name":674,"slug":675,"type":15},{"name":678,"slug":679,"type":15},"2026-07-13T06:44:59.507855",{"slug":825,"name":825,"fn":826,"description":827,"org":828,"tags":829,"stars":753,"repoUrl":754,"updatedAt":833},"mps-aspect-generator","define JetBrains MPS generator rules","Use when defining or modifying MPS generators — author a generator module, add or edit root\u002Freduction\u002Fweaving\u002Fpattern mapping rules, attach template macros ($COPY_SRC, $LOOP, $IF, $PROPERTY, $REF, $SWITCH, $MAP_SRC, $WEAVE, $INSERT, $LABEL, $TRACE, $VAR), wire mapping labels, build template switches, write pre\u002Fpost mapping scripts, navigate `genContext`, or debug \"rule didn't fire\", missing references, empty output, infinite reduction loops, and generated-Java compile failures.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[830,831,832],{"name":674,"slug":675,"type":15},{"name":17,"slug":18,"type":15},{"name":678,"slug":679,"type":15},"2026-07-17T06:06:58.042999",{"slug":835,"name":835,"fn":836,"description":837,"org":838,"tags":839,"stars":753,"repoUrl":754,"updatedAt":842},"mps-aspect-intentions","define and edit MPS intentions","Use when defining or editing MPS intentions (the Alt+Enter context-action aspect) — adding `IntentionDeclaration` roots, parameterized or surround-with variants, description\u002FisApplicable\u002Fexecute blocks, child-filter functions, factory-initialized AST splicing, or debugging why an intention is not offered. Lives in the language's `intentions` model and uses `jetbrains.mps.lang.intentions`.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[840,841],{"name":674,"slug":675,"type":15},{"name":678,"slug":679,"type":15},"2026-07-23T05:41:48.692899",{"slug":844,"name":844,"fn":845,"description":846,"org":847,"tags":848,"stars":753,"repoUrl":754,"updatedAt":855},"mps-aspect-migrations","author and debug MPS migration scripts","Use when authoring or debugging MPS migration scripts that upgrade user models after a language definition changes — covers jetbrains.mps.lang.migration (MigrationScript class-based, PureMigrationScript declarative, MoveConcept\u002FMoveContainmentLink\u002FMoveReferenceLink\u002FMoveProperty, ordering via OrderDependency, data exchange via putData\u002FgetData, RefactoringLog, ConceptMigrationReference) and jetbrains.mps.lang.script Enhancement Scripts (MigrationScript with MigrationScriptPart_Instance, ExtractInterfaceMigration, FactoryMigrationScriptPart, CommentMigrationScriptPart) — when a model needs version-gated upgrade, concept rename or removal, link or property rename, instance-level transformation, or composition of migration steps.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[849,852],{"name":850,"slug":851,"type":15},"Debugging","debugging",{"name":853,"slug":854,"type":15},"Migration","migration","2026-07-13T06:45:20.372122",{"slug":857,"name":857,"fn":858,"description":859,"org":860,"tags":861,"stars":753,"repoUrl":754,"updatedAt":865},"mps-aspect-structure-concepts","define concepts in MPS structure aspect","Define concepts, interface concepts, enumerations, and constrained data types in an MPS language's `structure` aspect. Covers smart-reference detection, alias rules, cardinality, INamedConcept usage, bulk creation, and the full `mps_mcp_alter_structure` \u002F `mps_mcp_query_structure` reference. Use when authoring or modifying a language's structure model.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[862],{"name":863,"slug":864,"type":15},"Data Modeling","data-modeling","2026-07-23T05:41:30.705975",188]