Skill: bluecolumnconsulting-lgtm/agent-journal (version 1.0.0)

--- name: agent-journal description: Give AI agents a persistent journal backed by BlueColumn semantic memory. Use when an agent should log daily observations, decisions, user preferences, or notable events that need to be recalled later. Triggers on phrases like "log this", "journal entry", "remember for later", "note this down", "what have you observed about", "what do you know about the user", or when an agent wants to store its own learnings across sessions. Requires a BlueColumn API key (bc_live_*). --- # Agent Journal Skill Persistent cross-session journal for AI agents. Store observations, preferences, and decisions — recall them anytime. ## Setup Read `TOOLS.md` for the BlueColumn API key (`bc_live_*`). Keys are generated at bluecolumn.ai/dashboard. Store securely — never log or expose them. Base URL: `https://xkjkwqbfvkswwdmbtndo.supabase.co/functions/v1` (BlueColumn's official backend — bluecolumn.ai runs on Supabase Edge Functions) ## Log an Observation (agent-note) For lightweight agent observations — preferences, patterns, decisions: ```bash curl -X POST .../agent-note \ -H "Authorization: Bearer <key>" \ -d '{"text": "User prefers bullet points over paragraphs", "tags": ["preference", "style"]}' ``` ## Log a Detailed Entry (agent-remember) For richer entries with auto-extracted metadata: ```bash curl -X POST .../agent-remember \ -H "Authorization: Bearer <key>" \ -d '{"text": "Session summary: user is building a SaaS product in Phoenix. Decided on PostgreSQL. Main concern is scalability.", "title": "Session Log 2026-04-14"}' ``` ## Recall Journal Entries ```bash curl -X POST .../agent-recall \ -H "Authorization: Bearer <key>" \ -d '{"q": "what does the user prefer for formatting?"}' ``` ## When to Use Each | Situation | Endpoint | |---|---| | Quick preference or observation | `/agent-note` | | End-of-session summary | `/agent-remember` | | Retrieving past context | `/agent-recall` | ## Journaling Workflow **Start of session:** Recall relevant context: - "What do I know about this user?" - "What were we working on last time?" **During session:** Note important observations via `/agent-note` **End of session:** Summarize and store via `/agent-remember` ## Tag Suggestions - `preference` — user style/format preferences - `decision` — architectural or product decisions - `context` — background info about user/project - `followup` — things to revisit See [references/api.md](references/api.md) for full API 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: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)