Step-by-step guide for implementing new features in laneweaverTMS, orchestrating use of specialized skills and agents for database, backend, and frontend work.
npx claudepluginhub linehaul-ai/linehaulai-claude-marketplace --plugin laneweaver-tms-agentsThis skill uses the workspace's default tool permissions.
An orchestration guide for implementing end-to-end features in laneweaverTMS. This skill coordinates other skills and agents rather than duplicating their content.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Guides MCP server integration in Claude Code plugins via .mcp.json or plugin.json configs for stdio, SSE, HTTP types, enabling external services as tools.
An orchestration guide for implementing end-to-end features in laneweaverTMS. This skill coordinates other skills and agents rather than duplicating their content.
Use when:
Before writing any code, ensure:
| Requirement | Questions to Answer |
|---|---|
| Feature Requirements | What does the user story say? What are the acceptance criteria? |
| Database Schema | New tables needed? New columns on existing tables? New ENUMs? |
| API Endpoints | What REST endpoints are needed? Request/response shapes? |
| Frontend Components | New pages? New components? Which existing patterns apply? |
| Domain Knowledge | Any freight-specific terminology or business logic involved? |
When: New tables, columns, ENUMs, or constraints required.
How to Execute:
schema-migration-agent for database work
supabase/migrations/supabase:laneweaver-database-design skill for conventionsOutput: Migration file(s) in supabase/migrations/
Key Conventions (see supabase:laneweaver-database-design for details):
created_at, updated_at, created_by, updated_by, deleted_at, deleted_bydeleted_at columnWhen: Always, for any new entity or DTO.
How to Execute:
golang-orchestrator:backend-service-patterns skillPattern:
type MyEntity struct {
ID string `db:"id" json:"id"`
Name string `db:"name" json:"name"`
Status MyStatus `db:"status" json:"status"`
// Audit fields (always include)
CreatedAt time.Time `db:"created_at" json:"createdAt"`
UpdatedAt time.Time `db:"updated_at" json:"updatedAt"`
CreatedBy *int32 `db:"created_by" json:"createdBy,omitempty"`
UpdatedBy *int32 `db:"updated_by" json:"updatedBy,omitempty"`
DeletedAt *time.Time `db:"deleted_at" json:"deletedAt,omitempty"`
}
Output: Model file in /internal/models/
When: Always, for any new entity.
How to Execute:
golang-orchestrator:backend-service-patterns skillKey Requirements:
WHERE deleted_at IS NULLpgx.ErrNoRows for not-found casesOutput: Repository file in /internal/repository/
When: Always, for any new entity or business operation.
How to Execute:
golang-orchestrator:backend-service-patterns skillKey Requirements:
ValidationErrors for business rule failurescontext.Context throughoutOutput: Service file in /internal/services/
When: Always, for any new API endpoint.
How to Execute:
golang-orchestrator:backend-service-patterns skillKey Requirements:
c.Bind()APIResponse wrapper for all responsesValidationErrors for 400 responsesOutput: Handler file in /internal/handlers/
When: Always, for any new endpoint.
How to Execute:
Setup functionPattern:
// In router/router.go Setup function
myEntities := api.Group("/my-entities")
myEntities.GET("", myEntityHandler.List)
myEntities.POST("", myEntityHandler.Create)
myEntities.GET("/:id", myEntityHandler.GetByID)
myEntities.PUT("/:id", myEntityHandler.Update)
myEntities.DELETE("/:id", myEntityHandler.Delete)
Output: Updated /internal/router/router.go
When: Feature requires user-facing components.
How to Execute:
frontend-component-agent for Svelte work
svelte5-runes skill for reactivity patternsshadcn-svelte-skill for UI componentsOutput: Svelte components in frontend project
Choose the right skill for each concern:
| Concern | Skill to Use |
|---|---|
| Database tables, migrations, indexes | supabase:laneweaver-database-design |
| Go handlers, services, repositories | golang-orchestrator:backend-service-patterns |
| Go idioms and best practices | golang-orchestrator:effective-go |
| Echo router and middleware | golang-orchestrator:echo-router-skill |
| Svelte 5 reactivity ($state, $derived) | svelte5-runes |
| UI components (buttons, forms, dialogs) | shadcn-svelte-skill |
| Freight industry terminology | freight-domain-glossary |
| Load status lifecycle | load-lifecycle-patterns |
Use agents for context isolation:
| Agent | When to Use | Why Isolate? |
|---|---|---|
schema-migration-agent | Database schema work | Isolates 500KB erd.sql from main context |
frontend-component-agent | Svelte component work | Different mental model (reactive vs imperative) |
1. schema-migration-agent → Create table + indexes
2. /internal/models/ → Entity struct + DTOs
3. /internal/repository/ → CRUD queries
4. /internal/services/ → Business logic + validation
5. /internal/handlers/ → HTTP handlers
6. /internal/router/ → Route registration
7. frontend-component-agent → List page + form (if UI needed)
1. schema-migration-agent → ALTER TABLE + index (if needed)
2. /internal/models/ → Add field to struct
3. /internal/repository/ → Update queries
4. /internal/handlers/ → Update DTOs (if exposed via API)
1. schema-migration-agent → Create ENUM + add column
2. /internal/models/ → Define enum constants + validation
3. /internal/services/ → Implement state machine logic
4. Use load-lifecycle-patterns skill for reference
| Anti-Pattern | Why It Fails | Do This Instead |
|---|---|---|
| Skipping database migration | Go code references non-existent columns | Always start with schema |
| Business logic in handlers | Untestable, duplicated code | Move logic to services |
| Raw SQL strings everywhere | SQL injection, hard to maintain | Use parameterized queries |
| Ignoring soft deletes | Orphaned data, broken queries | Always check deleted_at IS NULL |
| Frontend before API | UI calls non-existent endpoints | Build API first |
Need database changes? → schema-migration-agent + supabase:laneweaver-database-design
Need Go backend code? → golang-orchestrator:backend-service-patterns
Need frontend UI? → frontend-component-agent + svelte5-runes + shadcn-svelte-skill
Unclear on freight terms? → freight-domain-glossary
Implementing load states? → load-lifecycle-patterns
Remember: This skill orchestrates other skills. When you need implementation details, invoke the appropriate specialized skill rather than trying to implement from memory.