Claude-code-plugins-plus-skills glean-hello-world
install
source · Clone the upstream repo
git clone https://github.com/jeremylongshore/claude-code-plugins-plus-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/jeremylongshore/claude-code-plugins-plus-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/plugins/saas-packs/glean-pack/skills/glean-hello-world" ~/.claude/skills/jeremylongshore-claude-code-plugins-plus-skills-glean-hello-world && rm -rf "$T"
manifest:
plugins/saas-packs/glean-pack/skills/glean-hello-world/SKILL.mdsource content
Glean Hello World
Overview
Index documents into Glean and search them. Two steps: set up a custom datasource with the Indexing API, then query with the Client API.
Instructions
Step 1: Set Up Custom Datasource
const GLEAN = `https://${process.env.GLEAN_DOMAIN}/api`; const idxHeaders = { 'Authorization': `Bearer ${process.env.GLEAN_INDEXING_TOKEN}`, 'Content-Type': 'application/json', }; // Create or configure a custom datasource await fetch(`${GLEAN}/index/v1/adddatasource`, { method: 'POST', headers: idxHeaders, body: JSON.stringify({ name: 'my_wiki', displayName: 'Internal Wiki', datasourceCategory: 'PUBLISHED_CONTENT', urlRegex: 'https://wiki.company.com/.*', iconUrl: 'https://wiki.company.com/favicon.ico', }), });
Step 2: Index Documents
// Index individual documents await fetch(`${GLEAN}/index/v1/indexdocuments`, { method: 'POST', headers: idxHeaders, body: JSON.stringify({ datasource: 'my_wiki', documents: [{ id: 'doc-001', title: 'Getting Started Guide', url: 'https://wiki.company.com/getting-started', body: { mimeType: 'text/plain', textContent: 'This guide covers onboarding steps...' }, author: { email: 'jane@company.com' }, updatedAt: new Date().toISOString(), permissions: { allowAnonymousAccess: true }, }], }), }); console.log('Document indexed.');
Step 3: Search
const searchHeaders = { 'Authorization': `Bearer ${process.env.GLEAN_CLIENT_TOKEN}`, 'X-Glean-Auth-Type': 'BEARER', 'Content-Type': 'application/json', }; const results = await fetch(`${GLEAN}/client/v1/search`, { method: 'POST', headers: searchHeaders, body: JSON.stringify({ query: 'onboarding getting started', pageSize: 10, requestOptions: { datasourceFilter: 'my_wiki' }, }), }).then(r => r.json()); results.results?.forEach((r: any) => { console.log(`${r.title} (${r.url}) — score: ${r.score}`); });
Output
Document indexed. Getting Started Guide (https://wiki.company.com/getting-started) — score: 0.95
Error Handling
| Error | Cause | Solution |
|---|---|---|
| Datasource not created | Run first |
| No search results | Indexing not yet complete | Wait 1-2 minutes for processing |
| Missing required fields | Include , , |
Resources
Next Steps
Proceed to
glean-local-dev-loop for development workflow setup.