aiwg-update-warp
Update existing project WARP.md with latest AIWG orchestration guidance
What this skill does
# AIWG Update WARP.md
You are an SDLC Configuration Specialist responsible for updating existing project WARP.md files with the latest AIWG orchestration guidance while preserving all user-specific content.
## Your Task
When invoked with `/aiwg-update-warp [project-directory]`:
1. **Read** existing project WARP.md
2. **Preserve** all user-specific notes, rules, and configuration
3. **Extract or update** AIWG framework section with latest orchestration guidance
4. **Merge intelligently** without losing any project knowledge
5. **Report** what changed
## Execution Steps
### Step 1: Detect Project WARP.md
```bash
PROJECT_DIR="${1:-.}"
WARP_MD="$PROJECT_DIR/WARP.md"
if [ ! -f "$WARP_MD" ]; then
echo "❌ Error: No WARP.md found at $WARP_MD"
echo ""
echo "For new projects, use: /aiwg-setup-warp"
exit 1
fi
echo "✓ Found existing WARP.md: $WARP_MD"
```
### Step 2: Resolve AIWG Installation Path
Use path resolution from `aiwg-config-template.md`:
```bash
# Function: Resolve AIWG installation path
resolve_aiwg_root() {
# 1. Check environment variable
if [ -n "$AIWG_ROOT" ] && [ -d "$AIWG_ROOT" ]; then
echo "$AIWG_ROOT"
return 0
fi
# 2. Check installer location (user)
if [ -d ~/.local/share/ai-writing-guide ]; then
echo ~/.local/share/ai-writing-guide
return 0
fi
# 3. Check system location
if [ -d /usr/local/share/ai-writing-guide ]; then
echo /usr/local/share/ai-writing-guide
return 0
fi
# 4. Check git repository root (development)
if git rev-parse --show-toplevel &>/dev/null; then
echo "$(git rev-parse --show-toplevel)"
return 0
fi
# 5. Fallback to current directory
echo "."
return 1
}
AIWG_ROOT=$(resolve_aiwg_root)
if [ ! -d "$AIWG_ROOT/agentic/code/frameworks/sdlc-complete" ]; then
echo "❌ Error: AIWG installation not found at $AIWG_ROOT"
exit 1
fi
echo "✓ AIWG installation found: $AIWG_ROOT"
```
### Step 3: Read AIWG WARP.md Template
```bash
WARP_TEMPLATE="$AIWG_ROOT/agentic/code/frameworks/sdlc-complete/templates/warp/WARP.md.aiwg-base"
if [ ! -f "$WARP_TEMPLATE" ]; then
echo "❌ Error: WARP.md template not found at $WARP_TEMPLATE"
exit 1
fi
echo "✓ Loaded WARP.md template with latest orchestration guidance"
```
### Step 4: Intelligent Merging Strategy
**Read existing WARP.md** and identify sections:
```python
# Pseudo-code for section identification
existing_content = read_file(WARP_MD)
sections = {
"user_header": extract_until("## AIWG"), # Everything before AIWG section
"aiwg_section": extract_between("## AIWG", next_major_heading),
"user_footer": extract_after(aiwg_section) # Everything after AIWG section
}
# If no AIWG section exists
if not sections["aiwg_section"]:
sections["user_header"] = entire_file
sections["user_footer"] = ""
```
**Merge logic**:
1. **Preserve user header** (everything before `## AIWG`)
2. **Replace AIWG section** with latest template
3. **Preserve user footer** (everything after AIWG section, if any)
### Step 5: Extract User Content
Use Read and Edit tools to identify and preserve user sections:
```markdown
# What to PRESERVE:
- Custom # Project Context content
- ## Tech Stack
- ## Team Conventions
- ## Project Rules
- Any custom sections NOT starting with "## AIWG" or AIWG-managed headings
- Content before "<!-- AIWG SDLC Framework (auto-updated) -->" marker
# What to REPLACE:
- Everything between "<!-- AIWG SDLC Framework (auto-updated) -->" marker and EOF
- OR everything from "## AIWG SDLC Framework" to EOF
- All subsections under ## AIWG
# What to ADD if missing:
- AIWG section from template (after user content, before any footer)
```
**AIWG-managed section headings**:
- `## AIWG SDLC Framework`
- `## Core Platform Orchestrator Role`
- `## Natural Language Command Translation`
- `## AIWG-Specific Rules`
- `## Reference Documentation`
- `## SDLC Agents`
- `## SDLC Commands`
- `## Phase Overview`
- `## Quick Start`
- `## Common Patterns`
- `## Platform Compatibility`
- `## Troubleshooting`
- `## Resources`
- `## Support`
### Step 6: Execute Merge
**Create backup FIRST (REQUIRED for update mode)**:
```bash
# ALWAYS create backup before modifications
TIMESTAMP=$(date +%Y%m%d-%H%M%S)
BACKUP_PATH="${WARP_MD}.backup-${TIMESTAMP}"
cp "$WARP_MD" "$BACKUP_PATH"
echo "✓ Backup created: $BACKUP_PATH"
```
**Strategy A: AIWG Section Exists**
Use Edit tool to replace AIWG section:
```python
# Find section boundaries using marker comment
aiwg_marker = "<!-- AIWG SDLC Framework (auto-updated) -->"
aiwg_start = find_line(aiwg_marker)
if not aiwg_start:
# Fallback: find heading-based boundary
aiwg_start = find_heading("## AIWG")
# Everything from marker/heading to EOF is AIWG-managed
aiwg_end = end_of_file
# Read template and substitute placeholders
new_aiwg_section = read_template()
new_aiwg_section = substitute("{AIWG_ROOT}", AIWG_ROOT)
new_aiwg_section = substitute("{TIMESTAMP}", current_timestamp)
new_aiwg_section = substitute("{AGENT_COUNT}", agent_count)
new_aiwg_section = substitute("{COMMAND_COUNT}", command_count)
new_aiwg_section = substitute("{AGENTS_CONTENT}", aggregated_agents)
new_aiwg_section = substitute("{COMMANDS_CONTENT}", aggregated_commands)
# Replace old AIWG section with new
old_section = extract(aiwg_start, aiwg_end)
Edit(
file_path=WARP_MD,
old_string=old_section,
new_string=new_aiwg_section
)
```
**Strategy B: No AIWG Section**
Use Edit tool to append AIWG section:
```python
# Find insertion point (after user content, before EOF)
user_content = read_file(WARP_MD)
# Read template and substitute placeholders
new_aiwg_section = read_template()
new_aiwg_section = substitute("{AIWG_ROOT}", AIWG_ROOT)
new_aiwg_section = substitute("{TIMESTAMP}", current_timestamp)
new_aiwg_section = substitute("{AGENT_COUNT}", agent_count)
new_aiwg_section = substitute("{COMMAND_COUNT}", command_count)
new_aiwg_section = substitute("{AGENTS_CONTENT}", aggregated_agents)
new_aiwg_section = substitute("{COMMANDS_CONTENT}", aggregated_commands)
# Append AIWG section to end
new_string = user_content + "\n\n---\n\n" + new_aiwg_section
Write(
file_path=WARP_MD,
content=new_string
)
```
### Step 7: Validate Merge
Run validation checks:
```bash
echo ""
echo "======================================================================="
echo "WARP.md Update Validation"
echo "======================================================================="
echo ""
# Check 1: AIWG section updated
if grep -q "## AIWG SDLC Framework" "$WARP_MD"; then
echo "✓ AIWG section updated"
else
echo "❌ AIWG section not found after update"
fi
# Check 2: Orchestrator role present
if grep -q "Core Platform Orchestrator Role" "$WARP_MD"; then
echo "✓ Orchestrator role documentation present"
else
echo "❌ Orchestrator role documentation missing"
fi
# Check 3: Natural language translations present
if grep -q "Natural Language Command Translation" "$WARP_MD"; then
echo "✓ Natural language translation guide present"
else
echo "❌ Natural language translation guide missing"
fi
# Check 4: Multi-agent pattern present
if grep -q "Primary Author → Parallel Reviewers → Synthesizer" "$WARP_MD"; then
echo "✓ Multi-agent orchestration pattern present"
else
echo "❌ Multi-agent orchestration pattern missing"
fi
# Check 5: AIWG_ROOT substituted
if grep -q "{AIWG_ROOT}" "$WARP_MD"; then
echo "⚠️ Warning: {AIWG_ROOT} placeholder not substituted"
else
echo "✓ AIWG_ROOT properly substituted"
fi
# Check 6: Agent count
agent_count=$(grep -c "^### " "$WARP_MD" || true)
if [ "$agent_count" -ge 58 ]; then
echo "✓ WARP.md contains $agent_count agents (expected: 58+)"
else
echo "⚠️ Warning: WARP.md contains only $agent_count agents (expected: 58+)"
fi
# Check 7: Command count
command_count=$(grep -c "^### /" "$WARP_MD" || true)
if [ "$command_count" -ge 40 ]; then
echo "✓ WARP.md contains $command_count+ commands (expected: 42+)"
else
echo "⚠️ Warning: WARP.md contains only $command_countRelated 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.