Agent Skills: Glean Hello World

|

UncategorizedID: jeremylongshore/claude-code-plugins-plus-skills/glean-hello-world

Install this agent skill to your local

pnpm dlx add-skill https://github.com/jeremylongshore/claude-code-plugins-plus-skills/tree/HEAD/plugins/saas-packs/glean-pack/skills/glean-hello-world

Skill Files

Browse the full folder contents for glean-hello-world.

Download Skill

Loading file tree…

plugins/saas-packs/glean-pack/skills/glean-hello-world/SKILL.md

Skill Metadata

Name
glean-hello-world
Description
|

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 found | Datasource not created | Run adddatasource first | | No search results | Indexing not yet complete | Wait 1-2 minutes for processing | | invalid document | Missing required fields | Include id, title, url |

Resources

Next Steps

Proceed to glean-local-dev-loop for development workflow setup.