Linnaeus Colony Assistant
Ask your colony anything in plain English. Linnaeus writes the SQL, shows you the query for review, and returns the answer in seconds.
Available on the Pro plan ($99/mo)
Which breeding pairs have not produced a litter in the last 60 days, sorted by strain rarity?
3 results · click any row to open pair
| Pair | Strain | Rarity | Last litter |
|---|---|---|---|
| B-32 | JO_CatSperD | 4 animals | never |
| B-19 | JO_Efcab9 | 7 animals | 2026-02-14 |
| B-44 | JO_WT | 18 animals | 2026-02-28 |
Plain English in, structured answer out
Linnaeus uses Claude under the hood, pinned to your colony's exact schema. Ask the way you would ask a postdoc. Linnaeus returns rows you can click into, charts when the question warrants it, or a single number when that is the answer.
- Question phrased in plain English, no SQL or query language to learn
- Schema-aware: Linnaeus knows your tables, columns, and relationships
- Returns rows, charts, summaries, or a single number depending on the question
- Suggests follow-up questions based on the answer
- Conversation history persists, so follow-ups can build on prior questions
SQL preview before execution
Linnaeus always shows the generated SQL before running it. You see exactly what Linnaeus will ask the database, can edit the query if you need to, and confirm before execution. No silent queries, no surprise results.
- Generated SQL displayed in a syntax-highlighted preview
- Edit the query directly before running, useful when Linnaeus misinterprets a phrase
- Read-only by default, no risk of accidental writes
- Confirm-before-execute toggle (default on, can be relaxed for trusted users)
- Full query history kept per user for repeatability
-- Pairs without recent litters, sorted by strain rarity SELECT bp.id, bp.maleId, bp.femaleId, s.name AS strain, s.animals_count, MAX(l.birthDate) last_litter FROM breeding_pairs bp JOIN strains s ON s.id = bp.strainId LEFT JOIN litters l ON l.breedingPairId = bp.id WHERE bp.status = 'active' GROUP BY bp.id HAVING last_litter IS NULL OR last_litter < NOW() - INTERVAL '60 days' ORDER BY s.animals_count ASC;
Read-only safety guardrails
Linnaeus v1 is read-only. It cannot delete animals, retire pairs, or modify cages. The schema-pinned prompt explicitly forbids write operations, and the generated SQL is sanity-checked before execution.
- Read-only SQL execution: SELECT only, no INSERT, UPDATE, DELETE, DROP, ALTER
- Multi-tenant isolation enforced at the SQL layer (org filter injected automatically)
- Prompt injection defenses: schema is pinned, user input is fenced
- Rate limiting per user to prevent runaway query loops
- Audit log of every Linnaeus question and the SQL that was executed
Linnaeus is sandboxed
No writes possible, query layer enforces the policy
Org isolation
WHERE orgId = '{your_org}' · injected on every query
Built for colony-specific questions
The prompt is engineered for the actual questions colony managers ask. Productivity, pedigrees, cage occupancy, protocol headroom, genotype distribution. Linnaeus is fluent in the domain.
- Examples library covers the 50 most common colony questions
- Domain vocabulary preloaded (sire, dam, wean, biopsy, plug, retire, cull)
- Genotype notation understood (+/+, +/-, -/-, fl/fl, Cre+/-)
- Strain naming conventions handled (JAX nomenclature, custom lab codes)
- Time-window phrasings handled (last 30 days, this quarter, since protocol approval)
Try one of these
Available everywhere in the app
Linnaeus is one keystroke away from any page. Cmd+K opens the Linnaeus palette over whatever you are looking at. Linnaeus sees the page context and scopes its answer accordingly.
- Cmd+K (Ctrl+K on Windows) opens the assistant from any page
- Page-aware context: ask a question while on a strain page, Linnaeus scopes to that strain
- Quick-action chips suggest common questions for the current view
- Slash commands for power users (e.g. /retire-non-productive)
- Mobile-friendly assistant for cage-side questions on a phone or tablet
Suggested for this strain