create_taste_profile
Create a portable design-judgment ruleset by defining explicit rules or ingesting a DESIGN.md document. Rules are categorized and stored locally for consistent design audits.
Instructions
Create (or overwrite) a named taste profile — a portable design-judgment ruleset + precedent corpus persisted locally under ~/.raven/taste/.json (override dir with RAVEN_TASTE_HOME). Pass explicit rules[] (rule_id, clause_text, category, severity_default block|warn|nit, negative_prompt, owner taste|raven, delegate_to), and/or a DESIGN.md-style markdown doc to ingest (## headings = categories; '- ' bullets = rules; '(block)'/'(warn)'/'(nit)' severity markers; '(raven:)' delegates a rule to an existing Raven audit tool; '(scope:)' scopes a rule to one surface; 'Do NOT …' sentences become the rule's negative prompt). Ingest RULES-SHAPED docs only (actionable design constraints under category headings) — brand-story/mythology docs produce noise rules, not judgment. Local-first: nothing leaves the machine. Pass template:'portfolio'|'saas-marketing'|'app' for a cold start — seeds a small starter ruleset (color restraint, typography floor, spacing, voice, tap targets) BEFORE any calibration interview has run; template rules are added first, then any explicit rules/markdown you also pass are merged in on top. Still run get_taste_interview afterward — the template is a floor, not a substitute for calibrating to the actual person's taste.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Profile name (becomes <name>.json; lowercase alnum/dash/underscore). | |
| rules | No | Explicit rule objects. | |
| corpus | No | Seed precedent records. | |
| markdown | No | DESIGN.md-style markdown to ingest as rules. | |
| template | No | Seed a small cold-start ruleset for this surface family before any explicit rules/markdown are merged in. Omit for a blank profile. |