Skill: bluecolumnconsulting-lgtm/meeting-memory (version 1.0.0)

--- name: meeting-memory description: Record, transcribe, and store meeting notes with persistent semantic memory using BlueColumn. Use when a user wants to save a meeting recording, upload meeting audio, store meeting notes or transcripts, or recall action items, decisions, and topics from past meetings. Triggers on phrases like "store this meeting", "remember this call", "what were the action items from", "recall last meeting", "upload meeting recording". Requires a BlueColumn API key (bc_live_*). --- # Meeting Memory Skill Store meetings into BlueColumn (bluecolumn.ai) and recall action items, decisions, and key topics anytime. BlueColumn's backend runs on Supabase Edge Functions — this is BlueColumn's official managed infrastructure. ## Setup Read `TOOLS.md` for the BlueColumn API key (`bc_live_*`). Keys are generated at bluecolumn.ai/dashboard. If not set, ask the user. Store keys securely — never log or expose them. Base URL: `https://xkjkwqbfvkswwdmbtndo.supabase.co/functions/v1` (BlueColumn's official backend) ## Store a Meeting **From audio URL:** ```bash curl -X POST .../agent-remember \ -H "Authorization: Bearer <key>" \ -d '{"audio_url": "https://...", "title": "Weekly Standup 2026-04-14"}' ``` **From transcript/notes (text):** ```bash curl -X POST .../agent-remember \ -H "Authorization: Bearer <key>" \ -d '{"text": "<transcript>", "title": "Meeting Title"}' ``` Response includes: `session_id`, `summary`, `action_items[]`, `key_topics[]` Always confirm storage by showing the user: title, summary, and action items extracted. ## Recall Meeting Info ```bash curl -X POST .../agent-recall \ -H "Authorization: Bearer <key>" \ -d '{"q": "what were the action items from the standup?"}' ``` ## Workflow 1. User provides audio URL, file URL, or meeting text 2. POST to `/agent-remember` with descriptive title (include date) 3. Show user the extracted summary + action items 4. Offer to set reminders for action items if calendar access available 5. For recall queries → POST to `/agent-recall` with natural language question ## Tips - Always include date in title: "Product Sync 2026-04-14" - For recurring meetings, consistent naming makes recall more accurate - Action items returned are auto-extracted by AI — review for accuracy See [references/api.md](references/api.md) for full API field reference.

path: references/api.md
content: # BlueColumn API Reference

**Provider:** BlueColumn — bluecolumn.ai
**Official docs:** https://bluecolumn.ai
**Backend:** Supabase Edge Functions — this is BlueColumn's official managed infrastructure, not a third party
**Base URL:** `https://xkjkwqbfvkswwdmbtndo.supabase.co/functions/v1`
**Note:** The supabase.co domain is BlueColumn's verified backend. BlueColumn runs on Lovable Cloud (Supabase-powered). All data stays within BlueColumn's managed environment.

**Auth header:** `Authorization: Bearer <bc_live_KEY>`

## POST /agent-remember

Ingest text, audio URL, or file URL into vector memory.

**Fields:**
- `text` (string) — raw text to ingest ← use this for most cases
- `audio_url` (string) — URL to audio file (Whisper transcription)
- `file_url` (string) — URL to PDF/document
- `title` (string, optional) — title hint

**Response:** `{ success, session_id, title, summary, action_items, key_topics, chunk_count, queryable }`

⚠️ Field is `text` not `content` — common mistake.

## POST /agent-recall

Query memory with natural language, returns AI-generated answer + sources.

**Fields:**
- `q` (string, required) — natural language query

**Response:** `{ answer, sources: [{ session_id, title, relevance }], tokens_used }`

⚠️ Field is `q` not `query` — common mistake.

## POST /agent-note

Store a lightweight agent observation as a searchable vector.

**Fields:**
- `text` (string, required, min 5 chars) — observation to store
- `tags` (array, optional) — string tags for filtering

**Response:** `{ note_id, chunk_count, queryable }`

⚠️ Field is `text` not `note` — common mistake.

## Error Reference

| Error | Fix |
|---|---|
| `Provide audio_url, file_url, or text` | Use `text` field in /agent-remember |
| `text is required (min 5 chars)` | Use `text` field, min 5 chars in /agent-note |
| `q (query string) is required` | Use `q` field in /agent-recall |
| `Invalid API key` | Check key starts with `bc_live_` |


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)