trades-builder
Trades Operations vertical skill for the Customware SPA. Defines the section layout, config schema, and mapping rules for transforming a DOMAIN.md into a trades operations tool. Use this skill when the Builder Agent classifies a customer's domain as construction, field service, or trades project tracking. Trigger signals: estimates, job specs, scope items, square footage, field scheduling, subtrade payments, trade invoices, customer invoices, project stages, crew tracking.
What this skill does
# Trades Operations Skill
## What This Skill Does
This skill defines how to build a **trades operations tool** — the estimate-to-payment workflow that construction trades and field service businesses run daily.
It is NOT a generic project management tool (Jira/Asana). It is NOT a CPQ tool (no product configuration). It is a workflow tracker specifically shaped for businesses that:
- Create estimates based on measured scope items (square footage, linear feet, units)
- Schedule and assign field work to crews or subtrades
- Track progress by scope item and location
- Pay subtrades based on completed measured work
- Invoice customers and collect payment
**Common verticals:** drywall, roofing, HVAC, plumbing, electrical, painting, flooring, concrete, landscaping, general contracting.
The builder reads this skill, reads the DOMAIN.md for the specific trade and terminology, and generates a working prototype that uses the customer's actual scope items, pricing, and workflow stages.
## When to Use This Skill
Use this skill when the transcript or DOMAIN.md contains these signals:
| Signal | Examples |
|---|---|
| **Scope items with measurements** | square footage, linear feet, board feet, units per area |
| **Field scheduling** | crew assignment, job calendar, field work planning |
| **Subtrade payments** | paying subs, trade payments, per-sqft pay rates |
| **Estimate-to-invoice workflow** | estimate → schedule → work → invoice cycle |
| **Trade-specific scopes** | insulation, drywall, taping, roofing, framing, plumbing rough-in |
| **Location-based specs** | different specs per floor, per room, per zone |
| **Dual invoicing** | trade invoices (outgoing to subs) AND customer invoices (incoming from clients) |
**Do NOT use this skill for:**
- Product configuration with dependencies → use cpq-builder
- Inventory and stock management → use erp-builder (future)
- Generic CRM or contact management → use crm-builder
---
## 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 the vertical stepper and saved projects (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
- The `<Outlet />` in `<main>` — via route components for each of the five sections
**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.
- Put the stepper as horizontal tabs in the main content area. The stepper is a vertical list inside `SidebarContent`.
If you find yourself wanting to restructure `MainLayout.tsx`, stop — the answer is almost always to fill `SidebarContent` instead.
---
## Section Definitions
The trades-builder tool has **FIVE sections**. These are fixed — they come from this skill, not from the business process described in the transcript.
### Section 1: Estimate
**What it does:** Capture the project details and build the scope-based estimate.
**Project details (editable inline):**
- Project name — inline editable text (click to edit, save on blur)
- Customer name — inline editable text
- Address — inline editable text
- Estimate number — auto-generated, read-only
- Lead source — `Select` dropdown if DOMAIN.md defines sources, otherwise free text
- Estimator notes — `Textarea`, always editable
**Scope items table (the core of this section):**
This table is the most important element in the app. Each row represents a scope of work with measured quantities.
| Column | Type | Editable | Notes |
|---|---|---|---|
| Scope | `Select` dropdown | Yes | Options from DOMAIN.md: insulation, drywall, taping, sanding, cleaning, priming, etc. |
| Location | Text input | Yes | e.g., "Main floor living room," "Basement suite" |
| Spec/Type | Text input or `Select` | Yes | e.g., "Type X," "Moisture resistant," "R-20 batt," "Level 4 finish" |
| Sq ft | Number input | Yes | Square footage for this scope at this location |
| Rate | Number input | Yes | Dollar rate per sqft (CAD) |
| Line total | Calculated | No | Sqft × Rate, auto-calculated |
| Actions | Delete button | — | Trash icon to remove the row |
- **"Add row" button** below the table to add more scope items
- **Multiple rows per scope type** — e.g., two drywall rows for different locations with different types
- **Auto-calculated footer:** Subtotal, Tax (GST 5%), Total — updates on every cell change
- **All cells are directly editable** — click a cell, type, blur to save. See frontend-design skill for inline editing pattern.
**Data from DOMAIN.md to use:**
- Entity Registry → Job Specification sub-items become the Scope dropdown options
- Business Rules → unit of measure (sqft, lft), tax type and rate, payment terms
- Terminology Glossary → exact scope names (not generic labels)
### Section 2: Schedule
**What it does:** Plan field work assignments and sequence.
**Fields (editable):**
- Assigned roles/people — `Select` dropdowns from DOMAIN.md Stakeholder Map, NOT free text
- Scope sequence — reorderable list showing which scope items happen in what order
- Start date — date picker, editable
- Target completion date — date picker, editable
- Field crew notes — `Textarea`, editable
**If DOMAIN.md mentions scheduling tools** (e.g., "Bold for scheduling"), reference them in the section description: "Use Bold to line up the field crew."
### Section 3: In Progress
**What it does:** Track work completion per scope item and location.
**Display:**
- Table populated from Estimate's scope items — same rows, now being tracked for completion
| Column | Type | Editable | Notes |
|---|---|---|---|
| Scope | Text | No | From Estimate |
| Location | Text | No | From Estimate |
| Sq ft | Number | No | From Estimate |
| Status | `Select` dropdown | Yes | Not Started / In Progress / Completed |
- Status changes save immediately to localStorage
- "Mark all completed" button for bulk update
- Progress indicator: "3 of 5 scope items completed"
### Section 4: Close Out
**What it does:** Handle the dual payment flow — pay subtrades and invoice the customer.
**Display — two invoice sections side by side:**
**Trade Invoice section:**
- Subtrade payment amount — auto-calculated from completed scope items (sqft × rate)
- Status: `Select` dropdown — Ready to pay / Paid
- Payment date — date picker, editable when status is Paid
- Reference to Bold if mentioned in DOMAIN.md
**Customer Invoice section:**
- Invoice amount — subtotal + tax from Estimate
- Status: `Select` dropdown — Ready to send / Sent / Paid
- Invoice date — date picker, editable
- Reference to Arvest if mentioned in DOMAIN.md
- "Close out job" action button that marks the project as Completed
- Both invoice statuses must be saved to localStorage
**If DOMAIN.md mentions invoicing tools**, reference them in the section headers: "Trade invoice (Bold)" and "Customer invoice (Arvest)."
### Section 5: Job Summary
**What it does:** Read-only summary of the completed project — the final output view.
**Layout (top to bottom):**
1. **Company header** — brand logo from domain.md Brand Logos section (use the logo URL or path provided) + company name + placeholder address ("123 Main St, City, Province, Postal Code — update in settings")
2. **Project metadata** — project name, customer, address, estimate number, dates, assigned to. Two-column grid of label/value pairs.
3. **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.