271 lines
9.4 KiB
Markdown
271 lines
9.4 KiB
Markdown
# Design Space — Agent Instructions
|
|
|
|
> Load this file at the start of any session to participate in the Design Space.
|
|
|
|
---
|
|
|
|
## What Is the Design Space?
|
|
|
|
The Design Space is shared agent memory for design work. It stores accumulated knowledge — design patterns, experiments, preferences, component experiences, methodology insights — as semantic embeddings in a vector database. Every agent that reads and writes to the Space builds on the work of every other agent.
|
|
|
|
A Design System is the cogs (tokens, components, patterns). The Design Space is the consciousness — the living environment where design happens across products, accumulating decisions, experiments, and outcomes over time.
|
|
|
|
---
|
|
|
|
## How to Access the Design Space
|
|
|
|
Agents interact with the Design Space via **direct HTTP calls** to Supabase Edge Functions. No MCP server required.
|
|
|
|
### Connection Details
|
|
|
|
```
|
|
Base URL: {DESIGN_SPACE_URL}
|
|
API Key: {DESIGN_SPACE_ANON_KEY}
|
|
```
|
|
|
|
All calls use:
|
|
```
|
|
POST {Base URL}/functions/v1/{function-name}
|
|
Headers:
|
|
Content-Type: application/json
|
|
Authorization: Bearer {API Key}
|
|
```
|
|
|
|
### Available Functions
|
|
|
|
| Function | Purpose |
|
|
|----------|---------|
|
|
| `capture-design-space` | Save a text insight (generates semantic embedding automatically) |
|
|
| `search-design-space` | Semantic search — find by meaning |
|
|
| `capture-visual` | Save screenshot + description (dual: semantic + visual embedding) |
|
|
| `capture-feedback-pair` | Save linked before/after improvement pair |
|
|
| `search-visual-similarity` | Find visually similar patterns |
|
|
| `search-preference-patterns` | Check proposed design against known improvements |
|
|
|
|
### Examples
|
|
|
|
**Search the Space:**
|
|
```bash
|
|
curl -X POST {DESIGN_SPACE_URL}/functions/v1/search-design-space \
|
|
-H "Content-Type: application/json" \
|
|
-H "Authorization: Bearer {DESIGN_SPACE_ANON_KEY}" \
|
|
-d '{"query": "hero section patterns for agency sites", "project": "whiteport", "limit": 10, "threshold": 0.3}'
|
|
```
|
|
|
|
**Capture knowledge:**
|
|
```bash
|
|
curl -X POST {DESIGN_SPACE_URL}/functions/v1/capture-design-space \
|
|
-H "Content-Type: application/json" \
|
|
-H "Authorization: Bearer {DESIGN_SPACE_ANON_KEY}" \
|
|
-d '{
|
|
"content": "Whiteport hero: Rubik 300 weight at 36px creates elegance through intentional lightness.",
|
|
"category": "successful_pattern",
|
|
"project": "whiteport",
|
|
"designer": "marten",
|
|
"topics": ["hero", "typography", "elegance"],
|
|
"components": ["hero-banner"],
|
|
"source": "design-review"
|
|
}'
|
|
```
|
|
|
|
**Read recent entries (REST API):**
|
|
```bash
|
|
curl {DESIGN_SPACE_URL}/rest/v1/design_space?select=id,content,category,project,topics,created_at&order=created_at.desc&limit=10 \
|
|
-H "apikey: {DESIGN_SPACE_ANON_KEY}" \
|
|
-H "Authorization: Bearer {DESIGN_SPACE_ANON_KEY}"
|
|
```
|
|
|
|
### Web App (Humans)
|
|
|
|
Browse and capture from any device:
|
|
`{DESIGN_SPACE_URL}/functions/v1/design-space-ui`
|
|
|
|
---
|
|
|
|
## Auto-Capture Rules (MANDATORY)
|
|
|
|
**You MUST capture insights automatically as you work. Do not wait to be asked.**
|
|
|
|
### When to Capture:
|
|
- After completing a major deliverable (product brief, trigger map, wireframe, spec)
|
|
- When you discover a pattern that works (or doesn't)
|
|
- When the designer gives feedback — capture the improvement
|
|
- When analyzing competitors or reference sites
|
|
- When making a design decision with reasoning
|
|
- When a component behaves unexpectedly
|
|
- After any workshop, discussion, or strategy session
|
|
|
|
### Capture Quality Bar:
|
|
**Good:** "Whiteport hero: Rubik 300 weight at 36px creates elegance through intentional lightness — anti-pattern to the industry standard of heavy heading weights. Works because the geometric clarity of Rubik carries at large sizes without needing weight."
|
|
|
|
**Bad:** "Used light font for heading."
|
|
|
|
### What to Include:
|
|
- WHAT the pattern/insight is
|
|
- WHY it works (or doesn't)
|
|
- CONTEXT: project, page, component, phase
|
|
- SPECIFICS: exact values, measurements, comparisons
|
|
|
|
---
|
|
|
|
## Search Before You Work (MANDATORY)
|
|
|
|
**Before starting any major task, search the Space for relevant prior knowledge.**
|
|
|
|
Search examples:
|
|
```json
|
|
{"query": "hero section patterns for agency sites", "project": "whiteport"}
|
|
{"query": "what CTA styles have worked", "limit": 10}
|
|
{"query": "mobile navigation approaches tried"}
|
|
{"query": "client feedback on dark themes"}
|
|
```
|
|
|
|
Use search results to inform your work. Don't repeat failed experiments. Build on proven patterns.
|
|
|
|
---
|
|
|
|
## Categories (11)
|
|
|
|
| Category | Use When |
|
|
|----------|----------|
|
|
| `inspiration` | Analyzing reference sites, moodboards, visual DNA |
|
|
| `failed_experiment` | Something was tried and didn't work — save WHY |
|
|
| `successful_pattern` | Proven solution with context and evidence |
|
|
| `component_experience` | How a component behaved across contexts |
|
|
| `design_system_evolution` | Token/component/pattern changes with reasoning |
|
|
| `client_feedback` | Recurring preferences, objections, reactions |
|
|
| `competitive_intelligence` | Competitor design analysis |
|
|
| `methodology` | Process insights, workflow learnings |
|
|
| `agent_experience` | What worked/failed in agent collaboration |
|
|
| `reference` | External knowledge, articles, frameworks |
|
|
| `general` | Anything that doesn't fit above |
|
|
|
|
---
|
|
|
|
## Pattern Types (6)
|
|
|
|
When capturing visual patterns, tag with the appropriate type:
|
|
|
|
| Symbol | Type | Meaning |
|
|
|--------|------|---------|
|
|
| ◆ | `baseline` | Inherited starting point — what exists before any changes |
|
|
| ★ | `inspiration` | External reference that influences direction |
|
|
| Δ | `delta` | What changed — the modification itself |
|
|
| ○ | `rejected` | Starting point before improvement — context for what was improved |
|
|
| ● | `approved` | The improved solution — the real value |
|
|
| △ | `conditional` | Works in some contexts but not others |
|
|
|
|
---
|
|
|
|
## Project Tagging
|
|
|
|
Always include:
|
|
- `project`: lowercase project name (`whiteport`, `kalla`, `bythjul`, `sharif`, `manella`)
|
|
- `designer`: who is doing the work (`marten` by default)
|
|
- `topics`: semantic tags as array (`["hero", "dark-theme", "trust-section"]`)
|
|
- `components`: design components involved (`["hero-banner", "cta-button"]`)
|
|
- `source`: where this came from (`site-analysis`, `workshop`, `agent-dialog`, `design-review`)
|
|
|
|
---
|
|
|
|
## Design Feedback Capture (Critical)
|
|
|
|
### Positivity Principle
|
|
|
|
The Design Space captures **what works and how we got there**. Not complaints. The "before" state is context. The "after" state is the knowledge.
|
|
|
|
When the designer (Mårten) suggests an improvement:
|
|
|
|
1. **Note the BEFORE** — what you proposed and its characteristics
|
|
2. **Ask WHY** — "What would make this better?" or "What direction feels right?"
|
|
3. **Note the AFTER** — the improved solution
|
|
4. **Capture the pair:**
|
|
```json
|
|
{
|
|
"content": "BEFORE: [starting point]. IMPROVED TO: [solution]. BECAUSE: [reasoning]. LEARNED: [transferable insight].",
|
|
"category": "client_feedback",
|
|
"project": "...",
|
|
"topics": ["improvement", "feedback"],
|
|
"components": ["..."]
|
|
}
|
|
```
|
|
|
|
**This is how the Design Space learns taste.** Over time, patterns emerge. Future agents search for these improvements before presenting designs.
|
|
|
|
### Exceptions: Usability Testing & Client Feedback
|
|
|
|
Raw diagnostic data from usability testing and client feedback IS captured as-is — user confusion, task failure, friction points. This is evidence, not negativity. The positivity framing applies to the agent-designer feedback loop, not to user research data.
|
|
|
|
---
|
|
|
|
## What's Already in the Space
|
|
|
|
As of 2026-03-05:
|
|
- **31 Whiteport entries** — full homepage + 4 subpage analysis with dual embeddings
|
|
- **WDS methodology insights** — semantic/parametric processing, pattern types, temporal dimensions
|
|
- **Ivonne module experience** — agent architecture learnings
|
|
- **Visual capture pipeline** — end-to-end working (Puppeteer → Voyage AI → Supabase)
|
|
|
|
Search before you build. The foundation is already there.
|
|
|
|
---
|
|
|
|
## Fallback: When HTTP Is Unavailable
|
|
|
|
If edge functions are unreachable or you're in an environment without HTTP access (like Claude mobile):
|
|
|
|
### Option 1: File-Based Inbox
|
|
Write captures to `{project-root}/design-space-inbox.md`:
|
|
|
|
```markdown
|
|
---
|
|
captured: 2026-03-05T14:30
|
|
status: pending
|
|
---
|
|
|
|
## [successful_pattern] Title of insight
|
|
|
|
**Project:** project-name
|
|
**Designer:** marten
|
|
**Topics:** tag1, tag2, tag3
|
|
**Components:** component1, component2
|
|
**Source:** agent-dialog
|
|
|
|
Content of the insight here. Same quality rules — be specific,
|
|
include values, reasoning, and context.
|
|
|
|
---
|
|
```
|
|
|
|
These get batch-processed into the Design Space when connectivity is restored.
|
|
|
|
### Option 2: GTD Inbox (Mobile)
|
|
If no file access either, add to the GTD inbox with `[DS]` prefix:
|
|
|
|
```
|
|
[DS] Bottom sheet nav works better than hamburger for mobile service sites with 4-6 actions. Tested on Kalla.
|
|
```
|
|
|
|
Gets routed to the Design Space during `/process`.
|
|
|
|
### Priority
|
|
1. HTTP to edge functions (real-time, searchable immediately)
|
|
2. File-based inbox (preserves knowledge, processes later)
|
|
3. GTD inbox with [DS] prefix (last resort, captures the thought)
|
|
|
|
**Knowledge should never be lost because of a technical limitation.**
|
|
|
|
---
|
|
|
|
## Technical Details
|
|
|
|
- **Database:** Supabase (eu-north-1, Stockholm), table: `design_space`
|
|
- **Semantic embeddings:** 1536d via OpenRouter (text-embedding-3-small)
|
|
- **Visual embeddings:** 1024d via Voyage AI (voyage-multimodal-3)
|
|
- **Edge functions:** 8 deployed (capture, search, visual, feedback pairs, preferences)
|
|
- **Web app:** `{DESIGN_SPACE_URL}/functions/v1/design-space-ui`
|
|
|
|
---
|
|
|
|
*Updated 2026-03-05 — MCP replaced with direct HTTP calls*
|