build
build
What this skill does
---
name: build
description: Feature development pipeline - research, plan, track, and implement major features.
argument-hint: [subcommand] [name]
metadata:
author: Shpigford
version: "1.0"
---
Feature development pipeline - research, plan, track, and implement major features.
## When to Use
- You need a structured workflow for building a major feature across research, planning, implementation, and tracking.
- The task involves moving a feature through named phases such as `research`, `implementation`, `progress`, or `phase`.
- You want one command to coordinate status, next steps, and phased delivery for a feature effort.
## Instructions
This command manages a 4-phase feature development workflow for building major features. Parse `$ARGUMENTS` to determine which subcommand to run.
**Arguments provided:** $ARGUMENTS
### Argument Parsing
Parse the first word of $ARGUMENTS to determine the subcommand:
- `research [name]` → Run the Research phase
- `implementation [name]` → Run the Implementation phase
- `progress [name]` → Run the Progress phase
- `phase [n] [name]` → Run Phase n of the implementation
- `status [name]` → Show current status and suggest next step
- (empty or unrecognized) → Show usage help
If the feature name is not provided in arguments, you MUST use AskUserQuestion to prompt for it.
---
## Subcommand: Help (empty args)
If no arguments provided, display this help:
```
/build - Feature Development Pipeline
Subcommands:
/build research [name] Deep research on a feature idea
/build implementation [name] Create phased implementation plan
/build progress [name] Set up progress tracking
/build phase [n] [name] Execute implementation phase n
/build status [name] Show status and next steps
Example workflow:
/build research chat-interface
/build implementation chat-interface
/build progress chat-interface
/build phase 1 chat-interface
```
Then use AskUserQuestion to ask what they'd like to do:
- question: "What would you like to do?"
- header: "Action"
- multiSelect: false
- options:
- label: "Start new feature research"
description: "Begin deep research on a new feature idea"
- label: "Continue existing feature"
description: "Work on a feature already in progress"
- label: "Check status"
description: "See what step to do next for a feature"
---
## Subcommand: research
### Step 1: Get Feature Name
If feature name not in arguments, use AskUserQuestion:
- question: "What's a short identifier for this feature? (lowercase, hyphens ok - e.g., 'chat-interface', 'user-auth', 'data-export'). Use 'Other' to type it."
- header: "Feature name"
- multiSelect: false
- options:
- label: "I'll type the name"
description: "Enter a short, kebab-case identifier for the feature"
### Step 2: Check for Existing Research
Check if `docs/{name}/RESEARCH.md` already exists.
If it exists, use AskUserQuestion:
- question: "A RESEARCH.md already exists for this feature. What would you like to do?"
- header: "Existing doc"
- multiSelect: false
- options:
- label: "Overwrite"
description: "Replace existing research with fresh exploration"
- label: "Append"
description: "Add new research below existing content"
- label: "Skip"
description: "Keep existing research, suggest next step"
If "Skip" selected, suggest running `/build implementation {name}` and exit.
### Step 3: Gather Feature Context
Use AskUserQuestion to understand the feature:
- question: "Describe the feature you want to build. What problem does it solve? What should it do? (Use 'Other' to describe)"
- header: "Description"
- multiSelect: false
- options:
- label: "I'll describe it"
description: "Provide a detailed description of the feature"
### Step 4: Research Scope
Use AskUserQuestion:
- question: "What aspects should the research focus on?"
- header: "Focus areas"
- multiSelect: true
- options:
- label: "Technical implementation"
description: "APIs, libraries, architecture patterns"
- label: "UI/UX design"
description: "Interface design, user flows, interactions"
- label: "Data requirements"
description: "What data to store, schemas, privacy"
- label: "Platform capabilities"
description: "OS APIs, system integrations, permissions"
### Step 5: Conduct Deep Research
Now conduct DEEP research on the feature:
1. **Codebase exploration**: Understand existing patterns, similar features, relevant code
2. **Web search**: Research best practices, similar implementations, relevant APIs
3. **Technical deep-dive**: Explore specific technologies, libraries, frameworks
4. **Use AskUserQuestion FREQUENTLY**: Validate assumptions, clarify requirements, get input on decisions
Research should cover:
- Problem definition and user needs
- Technical approaches and trade-offs
- Required data models and storage
- UI/UX considerations
- Integration points with existing code
- Potential challenges and risks
- Recommended approach with rationale
### Step 6: Write Research Document
Create the directory if needed: `docs/{name}/`
Write findings to `docs/{name}/RESEARCH.md` with this structure:
```markdown
# {Feature Name} Research
## Overview
[Brief description of the feature and its purpose]
## Problem Statement
[What problem this solves, why it matters]
## User Stories / Use Cases
[Concrete examples of how users will use this]
## Technical Research
### Approach Options
[Different ways to implement this, with pros/cons]
### Recommended Approach
[The approach you recommend and why]
### Required Technologies
[APIs, libraries, frameworks needed]
### Data Requirements
[What data needs to be stored/tracked]
## UI/UX Considerations
[Interface design thoughts, user flows]
## Integration Points
[How this connects to existing code/features]
## Risks and Challenges
[Potential issues and mitigation strategies]
## Open Questions
[Things that still need to be decided]
## References
[Links to relevant documentation, examples, articles]
```
### Step 7: Next Step
After writing the research doc, inform the user:
"Research complete! Document saved to `docs/{name}/RESEARCH.md`
**Next step:** Run `/build implementation {name}` to create a phased implementation plan."
---
## Subcommand: implementation
### Step 1: Get Feature Name
If feature name not in arguments, use AskUserQuestion to prompt for it (same as research phase).
### Step 2: Verify Research Exists
Check if `docs/{name}/RESEARCH.md` exists.
If it does NOT exist:
- Inform user: "No research document found at `docs/{name}/RESEARCH.md`"
- Suggest: "Run `/build research {name}` first to create the research document."
- Exit
### Step 3: Check for Existing Implementation Doc
Check if `docs/{name}/IMPLEMENTATION.md` already exists.
If it exists, use AskUserQuestion:
- question: "An IMPLEMENTATION.md already exists. What would you like to do?"
- header: "Existing doc"
- multiSelect: false
- options:
- label: "Overwrite"
description: "Create a fresh implementation plan"
- label: "Append"
description: "Add new phases below existing content"
- label: "Skip"
description: "Keep existing plan, suggest next step"
If "Skip" selected, suggest running `/build progress {name}` and exit.
### Step 4: Read Research Document
Read `docs/{name}/RESEARCH.md` to understand:
- The recommended approach
- Technical requirements
- Data models needed
- UI/UX design
- Integration points
### Step 5: Design Implementation Phases
Break the research into practical implementation phases. Each phase should:
- Be independently valuable (deliver something usable)
- Be small enough to complete in a focused session
- Build on previous phases
- Have clear success criteria
Use AskUserQuestion to validate phase breakdown:
- question: "How granular should the implementation phases be?"
- header: "Phase size"
- multiSelect: false
- options:
- label: "Small phases (1-2 hours)"
description: "Many focused phases, easier Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.