Back to .md Directory

DevSoul — Developer Preference Profile

> Last seeded: 2026-03-18

May 2, 2026
0 downloads
0 views
ai prompt claude
View source

DevSoul — Developer Preference Profile

Last seeded: 2026-03-18 Source: Interview + history mining of memory files, skill-usage.jsonl, settings.json, installed skills


Tech Stack

Languages & Runtimes

  • Default to TypeScript for all web and backend work

    Source: Stated in interview (2026-03-18) — "TypeScript preferred for all backend, except where Python is absolutely a better fit"

  • Use Python when it's clearly the better fit (data generation, ML, scripting)

    Source: Stated in interview (2026-03-18); reinforced by KYC datagen project using Python generators (memories/AMEX-POV)

  • Use Go for CLI/TUI tools (Bubble Tea framework, Charmbracelet lipgloss)

    Source: Demonstrated in promptql-tui and tui-animations projects (memory files)

Frontend Framework

  • SvelteKit as the primary web framework

    Source: Stated in interview (2026-03-18) — "SvelteKit + Tailwind v4 + TypeScript"; reinforced across claudeitor, Interior AI, and hot-claude projects (memory files); dedicated skills for sveltekit-data-flow, sveltekit-remote-functions, svelte-runes

  • Svelte 5 with runes ($state, $derived, $effect, $props) — not Svelte 4 syntax

    Source: svelte-runes skill; claudeitor and Interior AI memory files reference Svelte 5 rune patterns

  • React 19 as secondary framework when project requires it (Server Components, useActionState)

    Source: react-dev skill covers React 19 patterns; design-taste-frontend skill references React Server Components

Styling

  • Tailwind CSS v4 via @tailwindcss/vite plugin (NOT PostCSS)

    Source: Stated in interview (2026-03-18); tailwind-v4-shadcn skill documents 8 breaking changes from v3→v4; claudeitor memory confirms Vite plugin usage

  • shadcn/ui-inspired component architecture (shadcn-svelte for Svelte projects)

    Source: Stated in interview (2026-03-18) — "shadcn/ui-inspired components"; Interior AI memory confirms shadcn-svelte usage

  • OKLCH color tokens (not HSL) for precision color management

    Source: tailwind-v4-shadcn skill; Interior AI memory explicitly states "OKLCH color tokens (not HSL)"

  • Dark mode as first-class feature via custom Tailwind variants

    Source: clean-web-design skill; Interior AI memory references @custom-variant dark (&:is(.dark *))

Deployment

  • Vercel as default deployment target

    Source: Stated in interview (2026-03-18); vercel-deployment skill installed; Node.js 22.x adapter referenced in claudeitor memory

Visualization

  • D3.js for custom data visualizations (over higher-level chart libraries)

    Source: d3js skill installed; skill-usage.jsonl shows d3js usage (2026-03-16); claudeitor memory references D3 for visualization

Data Validation

  • Zod or Valibot (StandardSchemaV1) for schema validation

    Source: react-dev skill uses Zod; sveltekit-remote-functions skill uses Valibot/StandardSchemaV1


Design & Styling

Aesthetic

  • Clean, distinctive, context-specific design — not generic AI aesthetics

    Source: clean-web-design skill; design-taste-frontend skill explicitly bans Inter, Roboto, purple gradients, "Acme Corp" placeholder names

  • Cornflower-blue palette as default accent; restrained color use (mostly neutrals, single accent)

    Source: Stated in interview (2026-03-18) — "cornflower-blue palette"; clean-web-design skill reinforces restrained accent usage

  • No emojis in interfaces or code unless explicitly asked

    Source: Stated in interview (2026-03-18) — "no emojis unless asked"; design-taste-frontend skill confirms "high-quality icons instead"

Motion & Interaction

  • Spring physics for animations (Framer Motion), not linear easing

    Source: design-taste-frontend skill — MOTION_INTENSITY: 6, spring physics required

  • Micro-interactions as a sign of quality; perpetual animations must be memoized for performance

    Source: design-taste-frontend skill — "bento grid paradigms with perpetual micro-interactions"

Typography & Layout

  • Custom fonts preferred (never default to Inter/Roboto)

    Source: design-taste-frontend skill bans generic font choices

  • Visual density: 4 (balanced, not cramped or sparse)

    Source: design-taste-frontend skill baseline metrics — VISUAL_DENSITY: 4

  • Design variance: 8 (distinctive, high-quality, not template-feeling)

    Source: design-taste-frontend skill baseline metrics — DESIGN_VARIANCE: 8

Code Formatting

  • Tabs for indentation, single quotes, no trailing commas, 100 char printWidth

    Source: claudeitor memory — Prettier config with tabs, single quotes, no trailing commas, 100 printWidth


Verbiage & Written Language

All text the agent writes — commit messages, PR descriptions, documentation, comments, user-facing copy — must read like a human wrote it, not an LLM.

Core Rule

  • Run all written output through the humanizer lens before delivering it

    Source: humanizer skill installed (v3.0.0, based on Wikipedia's "Signs of AI writing" guide); developer's CLAUDE.md emphasizes craft over mechanical output

Patterns to Avoid

  • No AI vocabulary: don't use "delve," "crucial," "landscape," "tapestry," "foster," "showcase," "pivotal," "vibrant," "testament," "underscore," "enhance," "additionally"

    Source: humanizer skill — pattern #7 catalogs 12+ AI vocabulary words to avoid

  • No inflated significance: don't call things "pivotal moments" or "groundbreaking" — state the fact and let the reader judge

    Source: humanizer skill — pattern #1 (inflated significance)

  • No sycophantic openers: never start with "Great question!" or "You're absolutely right!" — get to the point

    Source: humanizer skill — pattern #21 (sycophantic tone)

  • No rule-of-three lists: AI defaults to three-item lists everywhere — use 2, 4, or 1 to break the pattern

    Source: humanizer skill — pattern #10 (rule of three)

  • No em dash overuse: one per paragraph max; prefer commas or periods

    Source: humanizer skill — pattern #13 (em dash overuse)

  • No filler phrases: cut "in order to," "it is important to note that," "it's worth mentioning" — use the short version

    Source: humanizer skill — pattern #22 (filler phrases)

  • No generic conclusions: never end with "the future looks bright" or "only time will tell" — end with a concrete fact or next step

    Source: humanizer skill — pattern #24 (generic conclusions)

  • No copula avoidance: use "is" and "has" instead of "serves as," "stands as," "boasts"

    Source: humanizer skill — pattern #8 (copula avoidance)

Voice Requirements

  • Have opinions — "I'm not sure about this approach" beats neutrally listing pros and cons

    Source: humanizer skill — voice and personality section

  • Vary sentence rhythm — mix short punchy sentences with longer ones; uniform length is an AI fingerprint

    Source: humanizer skill — sentence variance check

  • Be specific — not "this is concerning" but describe the actual concern in concrete terms

    Source: humanizer skill — voice section ("be specific about feelings")

  • Repeat the right word — don't cycle through synonyms to avoid repetition; that's an AI pattern

    Source: humanizer skill — pattern #11 (synonym cycling)

Verification

  • Read-aloud test: does it sound natural spoken aloud?
  • AI vocabulary scan: fewer than 2 flagged words per 500 words
  • Voice check: is there a person behind this text?

    Source: humanizer skill — verification section (5-point checklist)


Testing Philosophy

  • Use the most popular test framework for the language/framework

    Source: Stated in interview (2026-03-18) — "Use the most popular test suite for the framework/language"

  • Vitest for JavaScript/TypeScript projects

    Source: Stated in interview (2026-03-18) — "Vitest for JS/TS"

  • pytest for Python projects

    Source: Stated in interview (2026-03-18) — "pytest for Python"

  • Write both unit tests and functional tests — be comprehensive

    Source: Stated in interview (2026-03-18) — "comprehensive coverage (unit + functional)"; qa-test-planner skill treats QA as systematic discipline

  • Regression tests for API contracts — detect field removal, schema drift

    Source: promptql-tui memory — TestLookup queries catch removed fields; fixture-based testing in temp directories

  • Verify before committing — tests and linting must pass

    Source: commit-work skill requires verification before commit; qa-test-planner skill integrates automated + manual testing

  • Visual verification for UI changes (screenshots compared before/after)

    Source: claudeitor memory; CLAUDE.md best practices section


Data Modeling

  • PostgreSQL as the default database for everything

    Source: Stated in interview (2026-03-18) — "PostgreSQL always, normalized"; reinforced across KYC datagen project (3-database architecture with pgcrypto, pg_trgm extensions)

  • Normalized schemas following best practices (3NF baseline)

    Source: Stated in interview (2026-03-18); database-schema-designer skill covers normalization, denormalization tradeoffs

  • If a clearly better database exists for the project type, flag it and ask — don't silently override

    Source: Stated in interview (2026-03-18) — "if a clearly better database is suited for the project, ask the user"

  • Schema-first design — define the schema, then generate code from it

    Source: KYC datagen memory — kyc_schema.json v2.0 drives DDL and Python generators

  • Cross-database references documented as SQL comments, not enforced foreign keys

    Source: KYC datagen memory — split database architecture with documented cross-DB references

  • Migration patterns with zero-downtime deployment in mind

    Source: database-schema-designer skill covers migration patterns and zero-downtime deployments


Communication & Workflow

Agent Interaction Style

  • Passive context — the agent knows preferences and applies them, but doesn't auto-scaffold without being asked

    Source: Stated in interview (2026-03-18) — "Passive context. The agent knows preferences and applies them when building, but doesn't auto-scaffold"

  • Flag conflicts and ask — when a non-default choice is better, explain why and ask for confirmation

    Source: Stated in interview (2026-03-18) — "Flag it and ask for clarification. Include why you think the non-default is the better option"

  • Aggressive auto-detection with frequent check-ins to catch drift early

    Source: Stated in interview (2026-03-18) — "Bias toward aggressive auto-detection with frequent check-ins"

Planning & Execution

  • Plan-Research-Review-Code cadence — deliberate phases, not ad-hoc coding

    Source: flow-next workflow skills used in sequence (interview→plan→review→work) in skill-usage.jsonl (2026-03-16); CLAUDE.md emphasizes "Think Different → Plan Like Da Vinci → Craft → Iterate"

  • Visual thinking — prefer diagrams and visual explanations for communicating architecture

    Source: visual-explainer is the most-used skill (4 invocations in skill-usage.jsonl); mermaid-diagrams, excalidraw, draw-io, c4-architecture, napkin skills all installed

Git Discipline

  • Conventional Commits (type(scope): message) — split by concern, not by file

    Source: commit-work skill requires Conventional Commits format; patch staging for mixed changes

  • Code review before ship — Codex review required, SHIP status gates merge

    Source: claudeitor memory — codex exec for "Carmack-level" reviews; flow-next workflow includes review phase

Tool Preferences

  • CLI tools for external service interaction (gh, flowctl, codex)

    Source: settings.json shows dcg bash hook, skill-usage tracking hooks; memories reference flowctl, codex CLI usage

  • Skills and hooks for repeatable workflows (not ad-hoc prompting)

    Source: settings.json configures PreToolUse, PostToolUse, Stop, UserPromptSubmit hooks; 60+ skills installed

  • Local-first tools when possible (qmd for search, not cloud-only dependencies)

    Source: qmd skill for local markdown search; skill-usage.jsonl shows qmd usage

Status Line & Observability

  • Custom status line script for session context

    Source: settings.json — statusLine.command: "~/.claude/scripts/context-bar.sh"

  • Skill usage tracking via hooks on PostToolUse, Stop, and UserPromptSubmit

    Source: settings.json — track-skill-usage.sh, track-skill-usage-stop.sh, track-skill-usage-prompt.sh hooks


Architectural Patterns

Project Structure

  • Modular file splitting — avoid monolithic files; split by concern

    Source: KYC datagen memory — explicit instruction to avoid monolithic files that Claude can't manage across steps

  • Path aliases in tsconfig/svelte.config ($components, $utils, $server, $stores)

    Source: claudeitor memory — path aliases configured for clean imports

  • Flat architecture over deeply nested folders

    Source: Inferred from project structures in memory files; SvelteKit route-based organization

API Design

  • GraphQL as primary API protocol (Hasura/PromptQL stack)

    Source: promptql-tui and KYC datagen memories — GraphQL queries, DDN integration

  • Server-Side Events (SSE) for streaming/real-time data

    Source: claudeitor memory — sveltekit-sse for streaming pages; polling as fallback

  • Server-only data readers — prevent client import of sensitive server code

    Source: claudeitor memory — server-only patterns to protect API keys

Security

  • API keys server-only — never exposed to client

    Source: claudeitor memory — "Bearer token authentication in headers (no API keys in client)"

  • SSRF protection — scheme allowlist + private IP blocking

    Source: claudeitor memory — SSRF protection in image.ts

  • Localhost-only binding for dev tools (127.0.0.1, not 0.0.0.0)

    Source: claudeitor memory — security enforcement for development servers

Configuration

  • Experimental features enabled — agent teams, LSP tool

    Source: settings.json — CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1, ENABLE_LSP_TOOL=1

  • Plugins active: git-workflow, flow-next, gopls-lsp, claude-mem, worktrunk, swift-lsp

    Source: settings.json — enabledPlugins section

  • Model default: Sonnet for general work; Opus for complex code/review tasks

    Source: settings.json — "model": "sonnet"; memories reference model pinning by task type (Sonnet for assets, Opus for code)


Installed Skills Inventory

60+ skills installed. Most frequently used (from skill-usage.jsonl, 2026-03-16 through 2026-03-17):

SkillUsesCategory
visual-explainer4Communication
flow-next-* (interview, plan, review, work)4Workflow
skill-creator2Meta/tooling
find-skills2Meta/tooling
d3js1Visualization
database-schema-designer1Data modeling
clean-web-design1Design
qmd1Knowledge search
napkin1Diagramming

Source: skill-usage.jsonl — 23 total invocations across 2 projects


What This Profile Is NOT

  • Not project-specific state — that belongs in project CLAUDE.md and memory files
  • Not credentials/secrets — never stored here
  • Not active scaffolding — informs decisions, doesn't auto-execute them
  • Not a replacement for CLAUDE.md — CLAUDE.md has project rules, DevSoul has developer identity

Related Documents