Skip to main content
Glama

create_taste_profile

Destructive

Create a named design-judgment profile from explicit rules, a DESIGN.md document, or a starter template. Persist the rules and precedent examples locally so future work aligns with the taste you define.

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

TableJSON Schema
NameRequiredDescriptionDefault
nameYesProfile name (becomes <name>.json; lowercase alnum/dash/underscore).
rulesNoExplicit rule objects.
corpusNoSeed precedent records.
markdownNoDESIGN.md-style markdown to ingest as rules.
templateNoSeed a small cold-start ruleset for this surface family before any explicit rules/markdown are merged in. Omit for a blank profile.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.2.9

TDQS

A5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already signal destructive behavior, but the description goes further by specifying the profile can be overwritten, where it is stored, how the storage directory can be overridden, the merge order of template vs explicit rules, and that the operation is local-first with nothing leaving the machine.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but every sentence earns its place. It front-loads the core action before diving into format details, and organizes the complexity in a single cohesive flow rather than padding with filler. The exclusions and caveats are integrated without repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a create/overwrite tool without an output schema, this description is complete: it covers accepted inputs, markdown rules format, template bootstrap, precedence/merge order, storage location, overriding the directory, and necessary follow-up steps. The addition of a warning against non-rule-shaped docs contextual makes this especially strong.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Even with 100% schema coverage, the description meaningfully enriches parameter semantics: it explains markdown ingestion syntax, severity marker conventions, rule delegation syntax, scope markers, negative-prompt behavior, and template merge order. This goes well beyond the raw JSON schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a precise verb and resource: 'Create (or overwrite) a named taste profile'. It then defines what a taste profile is, where it is persisted, and how it differs from related concepts like getting or interviewing a taste profile, making the tool's purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit input-mode guidance: pass rules[], pass markdown, or pass a template. It tells the agent when the template is appropriate, warns that brand-story docs should not be ingested, and explicitly says to run get_taste_interview afterward because a template is a floor, not a substitute for calibration.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools