From glean-pack
Execute Glean primary workflow: search, chat, and AI-powered answers across enterprise data. Use when building search integrations, implementing Glean chat, or creating AI assistants. Trigger: "glean search API", "glean chat", "glean AI answers", "enterprise search".
npx claudepluginhub flight505/skill-forge --plugin glean-packThis skill is limited to using the following tools:
Build search and chat experiences using the Glean Client API. Covers full-text search with filters, AI-powered chat answers, and autocomplete suggestions.
Guides Next.js Cache Components and Partial Prerendering (PPR): 'use cache' directives, cacheLife(), cacheTag(), revalidateTag() for caching, invalidation, static/dynamic optimization. Auto-activates on cacheComponents: true.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Share bugs, ideas, or general feedback.
Build search and chat experiences using the Glean Client API. Covers full-text search with filters, AI-powered chat answers, and autocomplete suggestions.
const results = await fetch(`${GLEAN}/client/v1/search`, {
method: 'POST', headers: searchHeaders,
body: JSON.stringify({
query: 'kubernetes deployment best practices',
pageSize: 20,
requestOptions: {
datasourceFilter: 'confluence,github',
facetFilters: [{ fieldName: 'author', values: ['engineering-team'] }],
},
}),
}).then(r => r.json());
results.results?.forEach((r: any) => {
console.log(`[${r.datasource}] ${r.title}`);
console.log(` ${r.snippets?.[0]?.snippet ?? ''}`);
});
const chatResponse = await fetch(`${GLEAN}/client/v1/chat`, {
method: 'POST', headers: searchHeaders,
body: JSON.stringify({
messages: [{ role: 'USER', content: 'What is our deployment process for production?' }],
applicationId: 'my-app',
}),
}).then(r => r.json());
console.log('Answer:', chatResponse.messages?.[0]?.content);
console.log('Sources:', chatResponse.citations?.map((c: any) => c.title).join(', '));
const suggestions = await fetch(`${GLEAN}/client/v1/autocomplete`, {
method: 'POST', headers: searchHeaders,
body: JSON.stringify({ query: 'deploy', datasourceFilter: 'confluence' }),
}).then(r => r.json());
suggestions.results?.forEach((s: any) => console.log(` ${s.text}`));
| Error | Cause | Solution |
|---|---|---|
| Empty results | Query too specific or datasource not indexed | Broaden query, check datasource status |
| Chat returns no citations | Content not indexed for chat | Verify documents have body text |
| 403 on search | User permissions | Ensure token has search scope |
For bulk indexing workflow, see glean-core-workflow-b.