crm-builder
Customer Relationship Management (CRM) vertical skill for the Customware SPA. Defines the section layout, entity views, and mapping rules for transforming a DOMAIN.md into a CRM tool. Use this skill when the Builder Agent classifies a customer's domain as contact management, sales pipeline, deal tracking, or customer relationship workflows. Trigger signals: contacts, leads, deals, pipeline, follow-ups, opportunities, accounts, customer data everywhere, can't track who talked to whom, sales process, referrals.
What this skill does
# CRM Builder Skill ## What This Skill Does This skill defines how to build a **CRM tool** — a system for managing contacts, companies, deals, and the relationships between them. CRM is structurally different from CPQ and trades-builder: - **CPQ / Trades** = one record moves through sequential stages (stepper navigation) - **CRM** = multiple entity types with relationships between them (entity navigation) The left sidebar uses a **navigator pattern** (Contacts, Companies, Deals, Pipeline, Activities) — NOT a stepper. Users switch between entity views, not sequential stages. **Common verticals:** sales teams, consulting firms, agencies, professional services, real estate, recruiting, B2B services, any business that tracks relationships and deals. The builder reads this skill, reads the DOMAIN.md for the specific business terminology and pipeline stages, and generates a working prototype with the customer's actual entities, fields, and workflow. ## When to Use This Skill Use this skill when the transcript or DOMAIN.md contains these signals: | Signal | Examples | |---|---| | **Contact/people tracking** | "customer data is everywhere," "can't find who we talked to," "contacts in spreadsheets" | | **Sales pipeline** | "deals," "opportunities," "pipeline," "stages," "won/lost" | | **Follow-up tracking** | "follow-ups fall through the cracks," "no one knows who called last" | | **Relationship management** | "referrals," "who knows who," "account management" | | **Lead management** | "leads from website," "inbound inquiries," "lead source tracking" | **Do NOT use this skill for:** - Product configuration with pricing → use cpq-builder - Construction/trades project tracking → use trades-builder - Inventory and stock management → use erp-builder (future) --- ## Template Contract Before you start building, understand what the template gives you and what this skill adds. This is the contract: **The template (`app/layouts/MainLayout.tsx`) ships with:** - `SidebarProvider`, `Sidebar`, `SidebarContent`, `SidebarInset`, `SidebarTrigger` — already wired - `SidebarContent` is **empty** — this is your landing zone - One brand slot in the header (logo placeholder + company name) - `ModeToggle` and user menu in the header's right cluster **This skill fills:** - `SidebarContent` — with entity navigation (Pipeline, Contacts, Companies, Deals, Activities), quick filters, and recent records (see Layout Pattern below) - The brand slot in the header — with the client's logo and company name from DOMAIN.md - The header's right cluster — adds a role switcher `DropdownMenu` before the existing user menu, plus a global search input if there's room - The `<Outlet />` in `<main>` — via route components for each entity view (Pipeline is default) **This skill does NOT:** - Add a second `Sidebar` component. There is one sidebar. - Put a brand tile inside `SidebarContent`. Brand lives in the header only. - Rewire `SidebarProvider` or replace the collapsible behavior. Use what's there. - Build a stepper. CRM uses entity navigation — parallel views, not sequential stages. - Collapse the detail view into a popover or modal by default. List/detail is a full-page pattern (list view → click → detail view in the main content area). If you find yourself wanting to restructure `MainLayout.tsx`, stop — the answer is almost always to fill `SidebarContent` instead. --- ## Section Definitions The CRM tool has **FIVE sections**. Unlike CPQ/trades-builder, these are NOT sequential stages — they are parallel entity views. Users navigate between them freely. ### Section 1: Pipeline **What it does:** Visual board view of deals moving through stages. **Display:** - Kanban-style columns, one per pipeline stage from DOMAIN.md - If DOMAIN.md does not define stages, use: Lead → Qualified → Proposal → Negotiation → Closed Won / Closed Lost - Each deal item shows: deal name, company, value, assigned to, days in stage - Drag-and-drop between columns (or click to move stage) - "Add deal" button on each column - Filter by assigned person, date range, or deal value **If no pipeline stages exist in DOMAIN.md**, use the defaults above. The customer refines them after seeing the prototype. ### Section 2: Contacts **What it does:** List/detail view of people. **List view:** - Table or lightweight list of contacts - Columns: name, email, phone, company, last activity, tags - Search and filter - "Add contact" button **Detail view (clicking a contact):** - Contact detail: name, email, phone, company (linked), role/title, source, notes - Activity timeline below: calls, emails, meetings, notes — most recent first - Linked deals: list of deals associated with this contact - "Log activity" button: quick-add a call, email, meeting, or note with date and description **Fields from DOMAIN.md:** - Entity Registry → Contact entity fields become the contact detail fields - Terminology Glossary → exact field names and labels - If DOMAIN.md doesn't define contact fields, use: name, email, phone, company, role, source, notes ### Section 3: Companies **What it does:** List/detail view of organizations. **List view:** - Table of companies - Columns: company name, industry, contacts count, deals count, total deal value - Search and filter - "Add company" button **Detail view (clicking a company):** - Company detail: name, industry, size, website, address, notes - Contacts tab: list of people linked to this company - Deals tab: list of deals linked to this company - Activity timeline: aggregated from all contacts at this company **Fields from DOMAIN.md:** - Entity Registry → Company/Account entity fields - If not defined: name, industry, size, website, address, notes ### Section 4: Deals **What it does:** List/detail view of deals/opportunities. **List view:** - Table of deals - Columns: deal name, company, contact, value, stage (badge), close date, assigned to - Sort by value, stage, close date - Filter by stage, assigned person - "Add deal" button **Detail view (clicking a deal):** - Deal detail: name, value, stage (selectable dropdown), expected close date, probability, assigned to - Linked contact and company (clickable links) - Activity timeline specific to this deal - Notes section - "Mark as Won" / "Mark as Lost" action buttons when in final stages **Stage progression:** - Deal stage is a `Select` dropdown populated from DOMAIN.md pipeline stages - Changing the stage updates the Pipeline board view automatically - Won/Lost are terminal stages — show win/loss reason field when selected ### Section 5: Activities **What it does:** Chronological feed of all activities across the CRM. **Display:** - Timeline/feed view, most recent first - Each activity shows: type icon (call/email/meeting/note), description, linked contact, linked deal, date, logged by - Filter by activity type, date range, person - "Log activity" button at top **Activity types:** Call, Email, Meeting, Note, Task. Use icons to distinguish. - If DOMAIN.md defines different activity types, use those instead. ## Layout Pattern The CRM tool uses a **two-panel layout** (left sidebar + main content) by default. A right sidebar appears contextually when viewing a record detail. **This is NOT a stepper layout.** The left sidebar is entity navigation, not sequential stages. ### Left sidebar (always visible, collapsible) The template ships `SidebarProvider`, `Sidebar`, `SidebarContent`, and `SidebarTrigger` already wired in `app/layouts/MainLayout.tsx`. `SidebarContent` is empty — that's the slot this skill fills with entity navigation. Do not re-wire the sidebar, do not add a second `Sidebar` component, and do not put a brand tile inside it. Brand identity lives in the header only (see Template Contract above). **Sidebar heading:** Use a contextual label like "CRM" or the business name + "CRM" — not a workflow description. If the business name is short, "[Business] CRM" reads naturally; if it's long, just "CRM" is fine. The hea
Related in AI Agents
skill-development
IncludedComprehensive meta-skill for creating, managing, validating, auditing, and distributing Claude Code skills and slash commands (unified in v2.1.3+). Provides skill templates, creation workflows, validation patterns, audit checklists, naming conventions, YAML frontmatter guidance, progressive disclosure examples, and best practices lookup. Use when creating new skills, validating existing skills, auditing skill quality, understanding skill architecture, needing skill templates, learning about YAML frontmatter requirements, progressive disclosure patterns, tool restrictions (allowed-tools), skill composition, skill naming conventions, troubleshooting skill activation issues, creating custom slash commands, configuring command frontmatter, using command arguments ($ARGUMENTS, $1, $2), bash execution in commands, file references in commands, command namespacing, plugin commands, MCP slash commands, Skill tool configuration, or deciding between skills vs slash commands. Delegates to docs-management skill for official documentation.
reprompter
IncludedTransform messy prompts into well-structured, effective prompts — single or multi-agent. Use when: "reprompt", "reprompt this", "clean up this prompt", "structure my prompt", rough text needing XML tags and best practices, "reprompter teams", "repromptception", "run with quality", "smart run", "smart agents", multi-agent tasks, audits, parallel work, anything going to agent teams. Don't use when: simple Q&A, pure chat, immediate execution-only tasks. See "Don't Use When" section for details. Outputs: Structured XML/Markdown prompt, quality score (before/after), optional team brief + per-agent sub-prompts, agent team output files. Success criteria: Single mode quality score ≥ 7/10; Repromptception per-agent prompt quality score 8+/10; all required sections present, actionable and specific.
adaptive-compaction
IncludedAdaptive add-on policy and recovery layer that decides WHEN to compact, prune, snapshot, or fork -- replacing fixed-percent auto-compaction across Claude Code, Codex, and MCP-capable hosts. Trigger on auto-compact timing or damage: "when should I compact", "is it safe to compact now or start a fresh session", "auto-compact fires too early/mid-task", "switching to an unrelated task but the window still has space", "context rot", "answers get worse the longer the session runs", "the agent forgot the plan or my decisions after it summarized", "add a layer on top that manages context without changing the agent", raising autoCompactWindow to give the policy room, or installing/tuning a cross-tool compaction policy or PreCompact hook -- even when "compaction" is never said but the problem is context-window pressure or post-summarization memory loss. Do NOT use to summarize a conversation, build RAG, write a summarization prompt (decides WHEN not HOW), or answer max-context-length trivia.
agent-skill-creator
IncludedCreate cross-platform agent skills from workflow descriptions. Activates when users ask to create an agent, automate a repetitive workflow, create a custom skill, or need advanced agent creation. Triggers on phrases like create agent for, automate workflow, create skill for, every day I have to, daily I need to, turn process into agent, need to automate, create a cross-platform skill, validate this skill, export this skill, migrate this skill. Supports single skills, multi-agent suites, transcript processing, template-based creation, interactive configuration, cross-platform export, and spec validation.
llm-wiki
IncludedUse when building or maintaining a persistent personal knowledge base (second brain) in Obsidian where an LLM incrementally ingests sources, updates entity/concept pages, maintains cross-references, and keeps a synthesis current. Triggers include "second brain", "Obsidian wiki", "personal knowledge management", "ingest this paper/article/book", "build a research wiki", "compound knowledge", "Memex", or whenever the user wants knowledge to accumulate across sessions instead of being re-derived by RAG on every query.
skill-master
IncludedAgent Skills authoring, evaluation, and optimization. Create, edit, validate, benchmark, and improve skills following the agentskills.io specification. Use when designing SKILL.md files, structuring skill folders (references, scripts, assets), ingesting external documentation into skills, running trigger evals, benchmarking skill quality, optimizing descriptions, or performing blind A/B comparisons. Keywords: agentskills.io, SKILL.md, skill authoring, eval, benchmark, trigger optimization.