diff --git a/.cursor-plugin/marketplace.json b/.cursor-plugin/marketplace.json
index 1797ac0..4834ca0 100644
--- a/.cursor-plugin/marketplace.json
+++ b/.cursor-plugin/marketplace.json
@@ -5,28 +5,13 @@
"email": "steve.calvert@glean.com"
},
"metadata": {
- "description": "Official Glean plugins for Cursor — enterprise knowledge, code search, and people discovery."
+ "description": "Official Glean plugin for Cursor — enterprise knowledge, code search, and people discovery."
},
"plugins": [
{
- "name": "glean-core",
- "source": "glean-core",
- "description": "Core Glean MCP integration — shared skills, tool guidance, and rules. Required foundation for all other Glean plugins."
- },
- {
- "name": "glean-search",
- "source": "glean-search",
- "description": "Enterprise search across documents, Slack, email, and other sources via Glean."
- },
- {
- "name": "glean-code",
- "source": "glean-code",
- "description": "Cross-repository code exploration — search code across your org, find examples, and discover similar implementations."
- },
- {
- "name": "glean-people",
- "source": "glean-people",
- "description": "Find experts, understand org structure, and identify stakeholders via Glean."
+ "name": "glean",
+ "source": "glean",
+ "description": "Official Glean plugin for Cursor — enterprise search, code exploration, and people discovery."
}
],
"version": "1.0.0"
diff --git a/.gitignore b/.gitignore
index 9387595..c7d409d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -18,3 +18,6 @@ npm-debug.log*
# Local env files
.env
.env.local
+
+# Local planning docs
+docs/plans/
diff --git a/.release-it.json b/.release-it.json
index db024bc..919e85f 100644
--- a/.release-it.json
+++ b/.release-it.json
@@ -26,19 +26,7 @@
"path": "version"
},
{
- "file": "glean-core/.cursor-plugin/plugin.json",
- "path": "version"
- },
- {
- "file": "glean-search/.cursor-plugin/plugin.json",
- "path": "version"
- },
- {
- "file": "glean-code/.cursor-plugin/plugin.json",
- "path": "version"
- },
- {
- "file": "glean-people/.cursor-plugin/plugin.json",
+ "file": "glean/.cursor-plugin/plugin.json",
"path": "version"
}
]
diff --git a/README.md b/README.md
index e80e65b..41d1cbf 100644
--- a/README.md
+++ b/README.md
@@ -7,13 +7,7 @@ Official Glean plugins for [Cursor](https://cursor.com), enabling enterprise kno
## Quick Start
```
-# Install the foundation plugin first (required)
-/add-plugin glean-core
-
-# Then install the feature plugins you need
-/add-plugin glean-search
-/add-plugin glean-code
-/add-plugin glean-people
+/add-plugin glean
```
Then configure your Glean MCP connection — add your server to `~/.cursor/mcp.json`:
@@ -30,25 +24,11 @@ Then configure your Glean MCP connection — add your server to `~/.cursor/mcp.j
Replace `YOUR-INSTANCE` with your Glean instance name and `YOUR-SERVER-NAME` with the server name provided by your Glean administrator. Restart Cursor after editing — OAuth authentication is handled automatically on first use.
-## Plugins
-
-| Plugin | Description | Docs |
-| ---------------------------------- | -------------------------------------------------------------------------------------------------------------------- | ---------------------------------- |
-| **[glean-core](./glean-core)** | Foundation plugin with MCP setup skills, tool guidance, and result-vetting rules. **Required by all other plugins.** | [README](./glean-core/README.md) |
-| **[glean-search](./glean-search)** | Enterprise search across docs, Slack, email, and more | [README](./glean-search/README.md) |
-| **[glean-code](./glean-code)** | Cross-repo code exploration, examples, and ownership | [README](./glean-code/README.md) |
-| **[glean-people](./glean-people)** | Find experts and identify stakeholders | [README](./glean-people/README.md) |
-
-## Which Plugin Do I Need?
-
-| I want to... | Install |
-| ----------------------------------------------- | ----------------------------- |
-| Search company docs, wikis, and Slack | `glean-core` + `glean-search` |
-| Find code examples or prior art across repos | `glean-core` + `glean-code` |
-| Research architecture before planning a feature | `glean-core` + `glean-code` |
-| Find who knows about a topic or owns a system | `glean-core` + `glean-people` |
-| Identify stakeholders for a change | `glean-core` + `glean-people` |
-| All of the above | Install all plugins |
+## Plugin
+
+| Plugin | Description | Docs |
+| ------ | ----------- | ---- |
+| **[glean](./glean)** | Enterprise search, code exploration, and people discovery | [README](./glean/README.md) |
## Requirements
diff --git a/docs/plans/2026-02-25-consolidate-single-plugin-design.md b/docs/plans/2026-02-25-consolidate-single-plugin-design.md
new file mode 100644
index 0000000..d54d02b
--- /dev/null
+++ b/docs/plans/2026-02-25-consolidate-single-plugin-design.md
@@ -0,0 +1,78 @@
+# Design: Consolidate Four Plugins into Single `glean` Plugin
+
+**Date**: 2026-02-25
+**Status**: Approved
+
+## Background
+
+Cursor's plugin marketplace surfaces each plugin as an independent entry with no grouping or dependency mechanism. The original four-plugin structure (glean-core, glean-search, glean-code, glean-people) was designed to let users install only what they need, but this intent doesn't come through in the UI. Cursor's team has recommended consolidating into a single plugin.
+
+## Decision
+
+Merge all four plugins into a single `glean/` directory containing all skills, agents, commands, and rules.
+
+## New Structure
+
+```
+glean/
+ .cursor-plugin/plugin.json
+ assets/avatar.svg + avatar.png
+ rules/
+ glean-result-vetting.mdc (from glean-core)
+ glean-tool-selection.mdc (from glean-core)
+ skills/
+ confidence-signals/ (glean-core)
+ enterprise-search/ (glean-core version — canonical)
+ glean-tools-guide/ (glean-core)
+ mcp-setup/ (glean-core)
+ mcp-status/ (glean-core)
+ meeting-context/ (glean-core)
+ people-lookup/ (glean-core)
+ synthesis-patterns/ (glean-core)
+ search/ (glean-search — unique)
+ code-exploration/ (glean-code)
+ code-owners/ (glean-code)
+ codebase-context/ (glean-code)
+ find-examples/ (glean-code)
+ plan-prep/ (glean-code)
+ similar-code/ (glean-code)
+ find-expert/ (glean-people)
+ stakeholders/ (glean-people)
+ agents/
+ enterprise-searcher.md (glean-search)
+ people-finder.md (glean-people)
+ codebase-navigator.md (glean-code)
+ plan-prep-researcher.md (glean-code)
+ commands/
+ mcp-setup.md (glean-core)
+ mcp-status.md (glean-core)
+ search.md (glean-search)
+ code-owners.md (glean-code)
+ codebase-context.md (glean-code)
+ find-examples.md (glean-code)
+ plan-prep.md (glean-code)
+ similar-code.md (glean-code)
+ find-expert.md (glean-people)
+ stakeholders.md (glean-people)
+ README.md
+ CHANGELOG.md
+ LICENSE
+```
+
+## Content Decisions
+
+- **enterprise-search skill**: glean-search had a duplicate that was a strict subset of the glean-core version. The glean-core version is kept; the glean-search duplicate is dropped.
+- **All other content**: No name collisions across the remaining plugins. All skills, agents, commands, and rules are carried forward unchanged.
+
+## Root-Level Changes
+
+- `.cursor-plugin/marketplace.json`: Single plugin entry `{ name: "glean", source: "glean" }`
+- `package.json` `files`: Updated to `["glean/**/*", ...]` replacing four separate paths
+- `.release-it.json` bumper `out`: Single path `glean/.cursor-plugin/plugin.json` replacing four paths
+
+## Deleted
+
+- `glean-core/`
+- `glean-search/`
+- `glean-code/`
+- `glean-people/`
diff --git a/glean-code/.cursor-plugin/plugin.json b/glean-code/.cursor-plugin/plugin.json
deleted file mode 100644
index 60487fd..0000000
--- a/glean-code/.cursor-plugin/plugin.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "name": "glean-code",
- "displayName": "Glean Code",
- "version": "1.0.0",
- "description": "Cross-repository code exploration — search code across your org, find examples, and discover similar implementations.",
- "author": {
- "name": "Glean",
- "email": "steve.calvert@glean.com"
- },
- "homepage": "https://docs.glean.com/administration/platform/mcp/about",
- "repository": "https://github.com/gleanwork/cursor-plugins",
- "license": "MIT",
- "logo": "assets/avatar.svg",
- "keywords": [
- "glean",
- "code-search",
- "cross-repo",
- "engineering"
- ],
- "category": "developer-tools",
- "tags": [
- "code",
- "search",
- "architecture",
- "planning"
- ],
- "skills": "./skills/",
- "agents": "./agents/"
-}
diff --git a/glean-code/CHANGELOG.md b/glean-code/CHANGELOG.md
deleted file mode 100644
index c16e691..0000000
--- a/glean-code/CHANGELOG.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Changelog
-
-All notable changes to this plugin are documented here.
-
-The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
-
-## [Unreleased]
-
diff --git a/glean-code/README.md b/glean-code/README.md
deleted file mode 100644
index 88a0d82..0000000
--- a/glean-code/README.md
+++ /dev/null
@@ -1,60 +0,0 @@
-# Glean Code
-
-**Cross-repository code exploration — search code across your org, find examples, and discover similar implementations.**
-
-Leverage Glean's code search to explore beyond your local repository.
-
-## Prerequisites
-
-Requires [glean-core](../glean-core) to be installed first.
-
-## Installation
-
-```
-/add-plugin glean-core # if not already installed
-/add-plugin glean-code
-```
-
-## What's Included
-
-### Skills
-
-- **code-exploration** — Triggers on implementation questions, cross-repo searches, and architecture questions about internal systems
-- **plan-prep** — Researches enterprise context (design docs, patterns, stakeholders, related systems) before entering plan mode
-- **codebase-context** — Gathers architectural context about a specific system or service
-- **find-examples** — Finds usage examples of an API, library, or pattern across the org
-- **code-owners** — Identifies who owns, maintains, or has expertise in a code area
-- **similar-code** — Finds similar implementations and prior art before building something new
-
-### Agents
-
-- **codebase-navigator** — Navigates internal repositories to find implementations, trace dependencies, and surface relevant patterns across the org
-- **plan-prep-researcher** — Gathers design docs, similar implementations, stakeholders, and related systems to inform planning decisions
-
-## Example Usage
-
-Just ask naturally — skills and agents activate based on context:
-
-```
-"How is rate limiting implemented across our services?"
-"What repos depend on the auth service?"
-"Find examples of how other teams use the retry library"
-"Who's been working on the payments codebase?"
-"Is there already a caching implementation I can use?"
-"Research the authentication system before I start planning"
-"Who owns the billing module?"
-```
-
-## Key Differentiator
-
-**Local search tools only see your current repo.** Glean Code searches across ALL repositories in your organization:
-
-- Find examples: "How do other teams handle authentication?"
-- Understand systems: "What repos touch the billing service?"
-- Find owners: "Who's actively working on payments?"
-- Avoid duplication: "Has someone already built a rate limiter?"
-
-## Support
-
-- [Glean MCP Documentation](https://docs.glean.com/mcp)
-- [GitHub Issues](https://github.com/gleanwork/cursor-plugins/issues)
diff --git a/glean-core/CHANGELOG.md b/glean-core/CHANGELOG.md
deleted file mode 100644
index c16e691..0000000
--- a/glean-core/CHANGELOG.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Changelog
-
-All notable changes to this plugin are documented here.
-
-The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
-
-## [Unreleased]
-
diff --git a/glean-core/LICENSE b/glean-core/LICENSE
deleted file mode 100644
index feafbe9..0000000
--- a/glean-core/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2024 Glean Technologies, Inc.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-
diff --git a/glean-core/README.md b/glean-core/README.md
deleted file mode 100644
index 8669aa8..0000000
--- a/glean-core/README.md
+++ /dev/null
@@ -1,63 +0,0 @@
-# Glean Core
-
-**Required foundation for all Glean plugins.**
-
-Provides shared skills for tool selection and result quality, always-on rules for proper Glean MCP usage, and setup guidance for configuring your Glean connection.
-
-## Prerequisites
-
-- [Cursor](https://cursor.com)
-- A Glean account with MCP access
-
-## Installation
-
-```
-/add-plugin glean-core
-```
-
-Then configure your Glean MCP server in `~/.cursor/mcp.json`:
-
-```json
-{
- "mcpServers": {
- "glean": {
- "url": "https://YOUR-INSTANCE-be.glean.com/mcp/YOUR-SERVER-NAME"
- }
- }
-}
-```
-
-Restart Cursor after editing. OAuth authentication is handled automatically on first use.
-
-## What's Included
-
-### Skills
-
-- **glean-tools-guide** — Comprehensive guidance for selecting and using Glean MCP tools correctly
-- **enterprise-search** — Triggers for document, wiki, and policy search queries
-- **confidence-signals** — Quality and reliability assessment for search results
-- **people-lookup** — Triggers for people and org structure queries
-- **meeting-context** — Triggers for meeting and decision queries
-- **synthesis-patterns** — Guidance for combining information from multiple sources
-- **mcp-setup** — Step-by-step guidance for configuring a Glean MCP server in Cursor
-- **mcp-status** — Check which Glean MCP servers are configured and active
-
-### Rules (always active)
-
-- **glean-tool-selection** — Ensures the correct Glean tool is used for each query type (people vs. docs vs. code vs. meetings)
-- **glean-result-vetting** — Enforces quality filtering before presenting Glean results
-
-## Next Steps
-
-After installing glean-core, install the feature plugins you need:
-
-| Plugin | Purpose |
-|--------|---------|
-| [glean-search](../glean-search) | Enterprise document search |
-| [glean-code](../glean-code) | Cross-repo code exploration |
-| [glean-people](../glean-people) | People discovery and expertise |
-
-## Support
-
-- [Glean MCP Documentation](https://docs.glean.com/mcp)
-- [GitHub Issues](https://github.com/gleanwork/cursor-plugins/issues)
diff --git a/glean-core/assets/avatar.png b/glean-core/assets/avatar.png
deleted file mode 100644
index 14e232f..0000000
Binary files a/glean-core/assets/avatar.png and /dev/null differ
diff --git a/glean-core/assets/avatar.svg b/glean-core/assets/avatar.svg
deleted file mode 100644
index 27671d5..0000000
--- a/glean-core/assets/avatar.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/glean-people/.cursor-plugin/plugin.json b/glean-people/.cursor-plugin/plugin.json
deleted file mode 100644
index 494419a..0000000
--- a/glean-people/.cursor-plugin/plugin.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "name": "glean-people",
- "displayName": "Glean People",
- "version": "1.0.0",
- "description": "Find experts, understand org structure, and identify stakeholders via Glean.",
- "author": {
- "name": "Glean",
- "email": "steve.calvert@glean.com"
- },
- "homepage": "https://docs.glean.com/administration/platform/mcp/about",
- "repository": "https://github.com/gleanwork/cursor-plugins",
- "license": "MIT",
- "logo": "assets/avatar.svg",
- "keywords": [
- "glean",
- "people",
- "experts",
- "org-chart"
- ],
- "category": "developer-tools",
- "tags": [
- "people",
- "experts",
- "stakeholders",
- "org"
- ],
- "skills": "./skills/",
- "agents": "./agents/"
-}
diff --git a/glean-people/CHANGELOG.md b/glean-people/CHANGELOG.md
deleted file mode 100644
index c16e691..0000000
--- a/glean-people/CHANGELOG.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Changelog
-
-All notable changes to this plugin are documented here.
-
-The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
-
-## [Unreleased]
-
diff --git a/glean-people/LICENSE b/glean-people/LICENSE
deleted file mode 100644
index feafbe9..0000000
--- a/glean-people/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2024 Glean Technologies, Inc.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-
diff --git a/glean-people/README.md b/glean-people/README.md
deleted file mode 100644
index 53b7fac..0000000
--- a/glean-people/README.md
+++ /dev/null
@@ -1,57 +0,0 @@
-# Glean People
-
-**Find experts, understand org structure, and identify stakeholders.**
-
-Discover the right people based on real activity and contributions — not just org chart position.
-
-## Prerequisites
-
-Requires [glean-core](../glean-core) to be installed first.
-
-## Installation
-
-```
-/add-plugin glean-core # if not already installed
-/add-plugin glean-people
-```
-
-## What's Included
-
-### Skills
-
-- **find-expert** — Multi-signal expertise discovery: combines code contributions, document authorship, and activity signals to find people who actually know a topic
-- **stakeholders** — Identifies who needs to approve, consult, or be informed about a change or project
-
-### Agent
-
-- **people-finder** — Finds people by role, expertise, activity, or organizational relationship. Vets candidates across multiple signals before recommending.
-
-## Example Usage
-
-Just ask naturally — skills and the agent activate based on context:
-
-```
-"Who knows about the Kubernetes setup?"
-"Who should I talk to about the billing module?"
-"Who owns the payments service?"
-"Find the experts on our authentication system"
-"Who needs to be involved in deprecating the legacy API?"
-"Who are the stakeholders for migrating auth to OAuth?"
-"Who works on the platform team?"
-```
-
-## How It Works
-
-This plugin combines multiple signals to find the right people:
-
-- **Employee search** — Official roles and org structure
-- **Code contributions** — Who's actively coding in an area
-- **Document authorship** — Who wrote the design docs and RFCs
-- **Meeting participation** — Who's in relevant discussions
-
-A single mention doesn't make someone an expert. The agent looks for multiple corroborating signals and clearly distinguishes current owners from historical contributors.
-
-## Support
-
-- [Glean MCP Documentation](https://docs.glean.com/mcp)
-- [GitHub Issues](https://github.com/gleanwork/cursor-plugins/issues)
diff --git a/glean-people/assets/avatar.png b/glean-people/assets/avatar.png
deleted file mode 100644
index 14e232f..0000000
Binary files a/glean-people/assets/avatar.png and /dev/null differ
diff --git a/glean-people/assets/avatar.svg b/glean-people/assets/avatar.svg
deleted file mode 100644
index 27671d5..0000000
--- a/glean-people/assets/avatar.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/glean-search/.cursor-plugin/plugin.json b/glean-search/.cursor-plugin/plugin.json
deleted file mode 100644
index 2e664b0..0000000
--- a/glean-search/.cursor-plugin/plugin.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "name": "glean-search",
- "displayName": "Glean Search",
- "version": "1.0.0",
- "description": "Enterprise search across documents, Slack, email, and other sources via Glean.",
- "author": {
- "name": "Glean",
- "email": "steve.calvert@glean.com"
- },
- "homepage": "https://docs.glean.com/administration/platform/mcp/about",
- "repository": "https://github.com/gleanwork/cursor-plugins",
- "license": "MIT",
- "logo": "assets/avatar.svg",
- "keywords": [
- "glean",
- "search",
- "enterprise",
- "documents"
- ],
- "category": "developer-tools",
- "tags": [
- "search",
- "documents",
- "slack",
- "email"
- ],
- "skills": "./skills/",
- "agents": "./agents/"
-}
diff --git a/glean-search/CHANGELOG.md b/glean-search/CHANGELOG.md
deleted file mode 100644
index c16e691..0000000
--- a/glean-search/CHANGELOG.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Changelog
-
-All notable changes to this plugin are documented here.
-
-The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
-
-## [Unreleased]
-
diff --git a/glean-search/LICENSE b/glean-search/LICENSE
deleted file mode 100644
index feafbe9..0000000
--- a/glean-search/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2024 Glean Technologies, Inc.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-
diff --git a/glean-search/README.md b/glean-search/README.md
deleted file mode 100644
index 05c09f0..0000000
--- a/glean-search/README.md
+++ /dev/null
@@ -1,53 +0,0 @@
-# Glean Search
-
-**Enterprise search across documents, Slack, email, and other sources.**
-
-Search across all your company's knowledge with natural language queries.
-
-## Prerequisites
-
-Requires [glean-core](../glean-core) to be installed first.
-
-## Installation
-
-```
-/add-plugin glean-core # if not already installed
-/add-plugin glean-search
-```
-
-## What's Included
-
-### Skills
-
-- **enterprise-search** — Auto-triggers when you ask about company documents, policies, or internal knowledge
-- **search** — Structured search workflow with result vetting and quality assessment
-
-### Agent
-
-- **enterprise-searcher** — Cross-source search specialist that finds relevant information across documents, wikis, Slack, email, and more. Applies aggressive vetting to return only high-quality, current results.
-
-## Example Usage
-
-Just ask naturally — the skills and agent activate based on context:
-
-```
-"Find all documents about the authentication migration"
-"What's our policy on data retention?"
-"Is there a design doc for the new billing system?"
-"Find the RFC for the API gateway rewrite"
-"Search for the onboarding guide updated last month"
-```
-
-## Search Tips
-
-Use filters to narrow results:
-
-- `owner:"John Smith"` — Documents created by a person
-- `updated:past_week` — Recently updated documents
-- `app:confluence` — Documents from a specific app
-- `after:2024-01-01` — Documents after a date
-
-## Support
-
-- [Glean MCP Documentation](https://docs.glean.com/mcp)
-- [GitHub Issues](https://github.com/gleanwork/cursor-plugins/issues)
diff --git a/glean-search/assets/avatar.png b/glean-search/assets/avatar.png
deleted file mode 100644
index 14e232f..0000000
Binary files a/glean-search/assets/avatar.png and /dev/null differ
diff --git a/glean-search/assets/avatar.svg b/glean-search/assets/avatar.svg
deleted file mode 100644
index 27671d5..0000000
--- a/glean-search/assets/avatar.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/glean-search/skills/enterprise-search/SKILL.md b/glean-search/skills/enterprise-search/SKILL.md
deleted file mode 100644
index 8123e25..0000000
--- a/glean-search/skills/enterprise-search/SKILL.md
+++ /dev/null
@@ -1,45 +0,0 @@
----
-name: enterprise-search
-description: Search company documents, wikis, policies, design docs, and internal knowledge via Glean.
- Use when asked about company policies, internal specs, design docs, RFCs, or any information that lives in enterprise systems rather than the local codebase.
----
-
-# Enterprise Search via Glean
-
-When users ask about internal company information that lives in enterprise systems (not the local codebase), use Glean tools to find it.
-
-## When This Applies
-
-Use Glean search when users ask about:
-- Company policies, guidelines, or procedures
-- Design documents, RFCs, or specifications
-- Internal wikis or knowledge base articles
-- Project documentation or roadmaps
-- Slack discussions or announcements
-- Any "where is the doc about X" questions
-
-## Tool Selection
-
-| User Intent | Glean Tool |
-|-------------|------------|
-| Find documents, policies, specs | `search` |
-| Complex analysis across sources | `chat` |
-| Read full document content | `read_document` |
-
-## BE SKEPTICAL
-
-Not every search result is relevant or current. Before presenting results, evaluate:
-
-- **Relevance**: Does this actually answer the question, or just contain keywords?
-- **Freshness**: ✅ <6mo | ⚠️ 6-12mo | ❌ >12mo
-- **Authority**: Official > Semi-official > Informal
-
-Always include document title, URL, last updated date, and confidence level.
-
-## Workflow
-
-1. **Search first**: Use `search` to find relevant documents
-2. **Vet results**: Apply vetting criteria before presenting
-3. **Read for details**: Use `read_document` with URLs from vetted results
-4. **Synthesize if complex**: Use `chat` for multi-source analysis
-
diff --git a/glean-core/.cursor-plugin/plugin.json b/glean/.cursor-plugin/plugin.json
similarity index 56%
rename from glean-core/.cursor-plugin/plugin.json
rename to glean/.cursor-plugin/plugin.json
index e58f2cf..bdffd08 100644
--- a/glean-core/.cursor-plugin/plugin.json
+++ b/glean/.cursor-plugin/plugin.json
@@ -1,8 +1,8 @@
{
- "name": "glean-core",
- "displayName": "Glean Core",
+ "name": "glean",
+ "displayName": "Glean",
"version": "1.0.0",
- "description": "Core Glean MCP integration — shared skills, tool guidance, and rules. Required foundation for all other Glean plugins.",
+ "description": "Official Glean plugin for Cursor — search documents, Slack, and email; explore code across repos; and find experts and stakeholders.",
"author": {
"name": "Glean",
"email": "steve.calvert@glean.com"
@@ -15,15 +15,25 @@
"glean",
"mcp",
"enterprise-search",
- "core"
+ "code-search",
+ "documents",
+ "cross-repo",
+ "experts",
+ "org-chart"
],
"category": "developer-tools",
"tags": [
"mcp",
"enterprise",
"search",
- "foundation"
+ "documents",
+ "slack",
+ "code",
+ "people",
+ "experts",
+ "org"
],
"skills": "./skills/",
+ "agents": "./agents/",
"rules": "./rules/"
}
diff --git a/glean/CHANGELOG.md b/glean/CHANGELOG.md
new file mode 100644
index 0000000..100ac1a
--- /dev/null
+++ b/glean/CHANGELOG.md
@@ -0,0 +1,5 @@
+# Changelog
+
+## 1.0.0
+
+- Initial release: consolidated glean-core, glean-search, glean-code, and glean-people into a single plugin
diff --git a/glean-code/LICENSE b/glean/LICENSE
similarity index 100%
rename from glean-code/LICENSE
rename to glean/LICENSE
diff --git a/glean/README.md b/glean/README.md
new file mode 100644
index 0000000..a1796af
--- /dev/null
+++ b/glean/README.md
@@ -0,0 +1,97 @@
+# Glean for Cursor
+
+Official Glean plugin for [Cursor](https://cursor.com) — enterprise search, code exploration,
+and people discovery directly in your development workflow.
+
+## Setup
+
+### 1. Install the plugin
+
+```
+/add-plugin glean
+```
+
+### 2. Configure your Glean MCP server
+
+Add your server to `~/.cursor/mcp.json`:
+
+```json
+{
+ "mcpServers": {
+ "glean": {
+ "url": "https://YOUR-INSTANCE-be.glean.com/mcp/YOUR-SERVER-NAME"
+ }
+ }
+}
+```
+
+Replace `YOUR-INSTANCE` with your Glean instance name and `YOUR-SERVER-NAME` with the server
+name provided by your Glean administrator. Restart Cursor after editing — OAuth authentication
+is handled automatically on first use.
+
+## What's Included
+
+### Skills
+
+| Skill | Description |
+| ----- | ----------- |
+| `enterprise-search` | Search company docs, wikis, policies, and internal knowledge |
+| `search` | Structured Glean search with result vetting and quality assessment |
+| `mcp-setup` | Configure a Glean MCP server connection in Cursor |
+| `mcp-status` | Check the status of your Glean MCP connection |
+| `glean-tools-guide` | Reference for selecting the right Glean tool |
+| `confidence-signals` | Communicate reliability and freshness of Glean results |
+| `meeting-context` | Find decisions and action items from meetings |
+| `people-lookup` | Find people by role, team, or expertise |
+| `synthesis-patterns` | Combine results across multiple Glean sources |
+| `code-exploration` | Explore code across your org's repositories |
+| `code-owners` | Identify who owns or maintains a code area |
+| `codebase-context` | Get architectural context from internal repositories |
+| `find-examples` | Find usage examples of APIs or patterns across the org |
+| `plan-prep` | Research enterprise context before planning a feature |
+| `similar-code` | Find similar implementations across repos |
+| `find-expert` | Find subject matter experts based on contributions |
+| `stakeholders` | Identify stakeholders for a change or project |
+
+### Agents
+
+| Agent | Description |
+| ----- | ----------- |
+| `enterprise-searcher` | Searches enterprise knowledge across documents, Slack, and email |
+| `people-finder` | Finds people by role, expertise, or org relationship |
+| `codebase-navigator` | Navigates internal code repos to find implementations and trace dependencies |
+| `plan-prep-researcher` | Researches enterprise context and similar patterns for planning tasks |
+
+### Commands
+
+| Command | Description |
+| ------- | ----------- |
+| `/mcp-setup` | Walk through Glean MCP server setup |
+| `/mcp-status` | Check your Glean MCP connection |
+| `/search` | Search Glean enterprise knowledge |
+| `/code-owners` | Find who owns a code area |
+| `/codebase-context` | Get architectural context for a system |
+| `/find-examples` | Find usage examples across repos |
+| `/plan-prep` | Research context before entering plan mode |
+| `/similar-code` | Find similar implementations |
+| `/find-expert` | Find experts on a topic |
+| `/stakeholders` | Identify stakeholders for a change |
+
+## Requirements
+
+- [Cursor](https://cursor.com) (latest version)
+- A Glean account with MCP access
+- Your Glean MCP server URL (format: `https://[instance]-be.glean.com/mcp/[server-name]`)
+
+> **Note:** Glean MCP server URLs are instance-specific. Your Glean administrator can provide
+> your server name.
+
+## Support
+
+- [Glean MCP Documentation](https://docs.glean.com/mcp)
+- [Glean Support](https://help.glean.com)
+- [GitHub Issues](https://github.com/gleanwork/cursor-plugins/issues)
+
+## License
+
+MIT — see [LICENSE](LICENSE) for details.
diff --git a/glean-code/agents/codebase-navigator.md b/glean/agents/codebase-navigator.md
similarity index 100%
rename from glean-code/agents/codebase-navigator.md
rename to glean/agents/codebase-navigator.md
diff --git a/glean-search/agents/enterprise-searcher.md b/glean/agents/enterprise-searcher.md
similarity index 100%
rename from glean-search/agents/enterprise-searcher.md
rename to glean/agents/enterprise-searcher.md
diff --git a/glean-people/agents/people-finder.md b/glean/agents/people-finder.md
similarity index 100%
rename from glean-people/agents/people-finder.md
rename to glean/agents/people-finder.md
diff --git a/glean-code/agents/plan-prep-researcher.md b/glean/agents/plan-prep-researcher.md
similarity index 100%
rename from glean-code/agents/plan-prep-researcher.md
rename to glean/agents/plan-prep-researcher.md
diff --git a/glean-code/assets/avatar.png b/glean/assets/avatar.png
similarity index 100%
rename from glean-code/assets/avatar.png
rename to glean/assets/avatar.png
diff --git a/glean-code/assets/avatar.svg b/glean/assets/avatar.svg
similarity index 100%
rename from glean-code/assets/avatar.svg
rename to glean/assets/avatar.svg
diff --git a/glean-code/commands/code-owners.md b/glean/commands/code-owners.md
similarity index 100%
rename from glean-code/commands/code-owners.md
rename to glean/commands/code-owners.md
diff --git a/glean-code/commands/codebase-context.md b/glean/commands/codebase-context.md
similarity index 100%
rename from glean-code/commands/codebase-context.md
rename to glean/commands/codebase-context.md
diff --git a/glean-code/commands/find-examples.md b/glean/commands/find-examples.md
similarity index 100%
rename from glean-code/commands/find-examples.md
rename to glean/commands/find-examples.md
diff --git a/glean-people/commands/find-expert.md b/glean/commands/find-expert.md
similarity index 100%
rename from glean-people/commands/find-expert.md
rename to glean/commands/find-expert.md
diff --git a/glean-core/commands/mcp-setup.md b/glean/commands/mcp-setup.md
similarity index 100%
rename from glean-core/commands/mcp-setup.md
rename to glean/commands/mcp-setup.md
diff --git a/glean-core/commands/mcp-status.md b/glean/commands/mcp-status.md
similarity index 100%
rename from glean-core/commands/mcp-status.md
rename to glean/commands/mcp-status.md
diff --git a/glean-code/commands/plan-prep.md b/glean/commands/plan-prep.md
similarity index 100%
rename from glean-code/commands/plan-prep.md
rename to glean/commands/plan-prep.md
diff --git a/glean-search/commands/search.md b/glean/commands/search.md
similarity index 100%
rename from glean-search/commands/search.md
rename to glean/commands/search.md
diff --git a/glean-code/commands/similar-code.md b/glean/commands/similar-code.md
similarity index 100%
rename from glean-code/commands/similar-code.md
rename to glean/commands/similar-code.md
diff --git a/glean-people/commands/stakeholders.md b/glean/commands/stakeholders.md
similarity index 100%
rename from glean-people/commands/stakeholders.md
rename to glean/commands/stakeholders.md
diff --git a/glean-core/rules/glean-result-vetting.mdc b/glean/rules/glean-result-vetting.mdc
similarity index 100%
rename from glean-core/rules/glean-result-vetting.mdc
rename to glean/rules/glean-result-vetting.mdc
diff --git a/glean-core/rules/glean-tool-selection.mdc b/glean/rules/glean-tool-selection.mdc
similarity index 100%
rename from glean-core/rules/glean-tool-selection.mdc
rename to glean/rules/glean-tool-selection.mdc
diff --git a/glean-code/skills/code-exploration/SKILL.md b/glean/skills/code-exploration/SKILL.md
similarity index 100%
rename from glean-code/skills/code-exploration/SKILL.md
rename to glean/skills/code-exploration/SKILL.md
diff --git a/glean-code/skills/code-owners/SKILL.md b/glean/skills/code-owners/SKILL.md
similarity index 100%
rename from glean-code/skills/code-owners/SKILL.md
rename to glean/skills/code-owners/SKILL.md
diff --git a/glean-code/skills/codebase-context/SKILL.md b/glean/skills/codebase-context/SKILL.md
similarity index 100%
rename from glean-code/skills/codebase-context/SKILL.md
rename to glean/skills/codebase-context/SKILL.md
diff --git a/glean-core/skills/confidence-signals/SKILL.md b/glean/skills/confidence-signals/SKILL.md
similarity index 100%
rename from glean-core/skills/confidence-signals/SKILL.md
rename to glean/skills/confidence-signals/SKILL.md
diff --git a/glean-core/skills/enterprise-search/SKILL.md b/glean/skills/enterprise-search/SKILL.md
similarity index 100%
rename from glean-core/skills/enterprise-search/SKILL.md
rename to glean/skills/enterprise-search/SKILL.md
diff --git a/glean-code/skills/find-examples/SKILL.md b/glean/skills/find-examples/SKILL.md
similarity index 100%
rename from glean-code/skills/find-examples/SKILL.md
rename to glean/skills/find-examples/SKILL.md
diff --git a/glean-people/skills/find-expert/SKILL.md b/glean/skills/find-expert/SKILL.md
similarity index 100%
rename from glean-people/skills/find-expert/SKILL.md
rename to glean/skills/find-expert/SKILL.md
diff --git a/glean-core/skills/glean-tools-guide/SKILL.md b/glean/skills/glean-tools-guide/SKILL.md
similarity index 100%
rename from glean-core/skills/glean-tools-guide/SKILL.md
rename to glean/skills/glean-tools-guide/SKILL.md
diff --git a/glean-core/skills/mcp-setup/SKILL.md b/glean/skills/mcp-setup/SKILL.md
similarity index 100%
rename from glean-core/skills/mcp-setup/SKILL.md
rename to glean/skills/mcp-setup/SKILL.md
diff --git a/glean-core/skills/mcp-status/SKILL.md b/glean/skills/mcp-status/SKILL.md
similarity index 100%
rename from glean-core/skills/mcp-status/SKILL.md
rename to glean/skills/mcp-status/SKILL.md
diff --git a/glean-core/skills/meeting-context/SKILL.md b/glean/skills/meeting-context/SKILL.md
similarity index 100%
rename from glean-core/skills/meeting-context/SKILL.md
rename to glean/skills/meeting-context/SKILL.md
diff --git a/glean-core/skills/people-lookup/SKILL.md b/glean/skills/people-lookup/SKILL.md
similarity index 100%
rename from glean-core/skills/people-lookup/SKILL.md
rename to glean/skills/people-lookup/SKILL.md
diff --git a/glean-code/skills/plan-prep/SKILL.md b/glean/skills/plan-prep/SKILL.md
similarity index 100%
rename from glean-code/skills/plan-prep/SKILL.md
rename to glean/skills/plan-prep/SKILL.md
diff --git a/glean-search/skills/search/SKILL.md b/glean/skills/search/SKILL.md
similarity index 100%
rename from glean-search/skills/search/SKILL.md
rename to glean/skills/search/SKILL.md
diff --git a/glean-code/skills/similar-code/SKILL.md b/glean/skills/similar-code/SKILL.md
similarity index 100%
rename from glean-code/skills/similar-code/SKILL.md
rename to glean/skills/similar-code/SKILL.md
diff --git a/glean-people/skills/stakeholders/SKILL.md b/glean/skills/stakeholders/SKILL.md
similarity index 100%
rename from glean-people/skills/stakeholders/SKILL.md
rename to glean/skills/stakeholders/SKILL.md
diff --git a/glean-core/skills/synthesis-patterns/SKILL.md b/glean/skills/synthesis-patterns/SKILL.md
similarity index 100%
rename from glean-core/skills/synthesis-patterns/SKILL.md
rename to glean/skills/synthesis-patterns/SKILL.md
diff --git a/package.json b/package.json
index d201a3d..ec918d6 100644
--- a/package.json
+++ b/package.json
@@ -31,10 +31,7 @@
},
"files": [
".cursor-plugin/**/*",
- "glean-core/**/*",
- "glean-search/**/*",
- "glean-code/**/*",
- "glean-people/**/*",
+ "glean/**/*",
"README.md",
"LICENSE"
],