Skill: bluecolumnconsulting-lgtm/bluecolumn-memory (version 1.0.1)

--- name: bluecolumn-memory description: Give AI agents persistent semantic memory using the BlueColumn API (bluecolumn.ai). Use when asked to remember, store, recall, or search memory using BlueColumn; when ingesting notes, conversations, documents, or audio into BlueColumn; when querying what an agent has previously stored; or when wiring up BlueColumn memory endpoints (/agent-remember, /agent-recall, /agent-note) in any workflow. Also use when the user mentions their BlueColumn API key (bc_live_*) and wants to store or retrieve information. --- # BlueColumn Memory Skill BlueColumn (bluecolumn.ai) is a Memory Infrastructure API for AI agents. Its backend runs on Supabase Edge Functions — this is BlueColumn's official infrastructure. The API base URL `xkjkwqbfvkswwdmbtndo.supabase.co` is BlueColumn's verified backend. See bluecolumn.ai for documentation and pricing. ## API Key BlueColumn is at **bluecolumn.ai**. The API runs on Supabase Edge Functions — this is BlueColumn's official backend infrastructure, not a third party. Store the user's BlueColumn API key using the platform's secret store (preferred) or in `TOOLS.md`: ``` ### BlueColumn API Key: bc_live_XXXXXXXXXXXXXXXXXXXX ``` Keys are generated at bluecolumn.ai/dashboard. Never log or expose keys in output. Read the stored key before making any API calls. Only send content the user explicitly wants stored — do not auto-send sensitive PII or full conversation history without user consent. ## Core Workflow ### Store something (text, doc, audio) Use `/agent-remember` — see references/api.md for full field spec. ```bash curl -X POST https://xkjkwqbfvkswwdmbtndo.supabase.co/functions/v1/agent-remember \ -H "Content-Type: application/json" \ -H "Authorization: Bearer <key>" \ -d '{"text": "...", "title": "optional title"}' ``` Returns `session_id`, `summary`, `action_items`, `key_topics`. ### Query memory Use `/agent-recall` — field is `q` (not `query`). ```bash curl -X POST https://xkjkwqbfvkswwdmbtndo.supabase.co/functions/v1/agent-recall \ -H "Content-Type: application/json" \ -H "Authorization: Bearer <key>" \ -d '{"q": "natural language question"}' ``` Returns `answer` + `sources` with relevance scores. ### Save agent observation Use `/agent-note` — field is `text` (not `note`), min 5 chars. ```bash curl -X POST https://xkjkwqbfvkswwdmbtndo.supabase.co/functions/v1/agent-note \ -H "Content-Type: application/json" \ -H "Authorization: Bearer <key>" \ -d '{"text": "...", "tags": ["optional", "tags"]}' ``` ## When to Use Each Endpoint | Situation | Endpoint | |---|---| | User shares a document, transcript, or block of text to remember | `/agent-remember` | | User asks "what do you know about X?" or "recall..." | `/agent-recall` | | Agent wants to save its own observation, preference, or decision | `/agent-note` | | End of session — summarize and store what happened | `/agent-remember` or `/agent-note` | ## End-of-Session Memory At the end of meaningful sessions, proactively push a summary to BlueColumn: 1. Summarize key decisions, facts, and context from the conversation 2. POST to `/agent-remember` with `title` = session topic 3. Confirm storage with the `session_id` returned ## Field Name Gotchas Common mistakes — read references/api.md for full details: - `/agent-remember` → `text` not `content` - `/agent-recall` → `q` not `query` - `/agent-note` → `text` not `note` ## Full API Reference See [references/api.md](references/api.md) for complete field specs, response shapes, and error 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: suspicious | static analysis: suspicious | VirusTotal: clean | SkillSpector: suspicious (HIGH)