Agent Skills: Glean Local Dev Loop

|

UncategorizedID: jeremylongshore/claude-code-plugins-plus-skills/glean-local-dev-loop

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-local-dev-loop

Skill Files

Browse the full folder contents for glean-local-dev-loop.

Download Skill

Loading file tree…

plugins/saas-packs/glean-pack/skills/glean-local-dev-loop/SKILL.md

Skill Metadata

Name
glean-local-dev-loop
Description
|

Glean Local Dev Loop

Overview

Set up local development for Glean custom connectors and search integrations with mock data and test datasources.

Instructions

Project Structure

glean-connector/
├── src/
│   ├── glean/client.ts         # Typed Glean API client
│   ├── connectors/wiki.ts      # Wiki connector logic
│   └── index.ts
├── tests/
│   ├── mock-data.ts            # Mock Glean responses
│   └── connector.test.ts
├── .env.local
└── package.json

Mock Glean Responses

export const mockSearchResponse = {
  results: [
    { title: 'Test Doc', url: 'https://test.com/doc', score: 0.95, datasource: 'test_ds',
      snippets: [{ snippet: 'This is a <b>test</b> document' }] },
  ],
  totalCount: 1,
};

export const mockIndexResponse = { status: 'OK', documentsIndexed: 5 };

Test Connector

import { describe, it, expect, vi } from 'vitest';

describe('Wiki Connector', () => {
  it('transforms wiki pages to Glean documents', () => {
    const wikiPage = { id: '1', title: 'Setup', content: 'How to...', author: 'jane@co.com' };
    const gleanDoc = transformToGleanDoc(wikiPage);
    expect(gleanDoc).toHaveProperty('id', '1');
    expect(gleanDoc).toHaveProperty('title', 'Setup');
    expect(gleanDoc.body.textContent).toBe('How to...');
  });
});

Resources