swe-feature-update
Update a specific feature's memory files to reflect current codebase state
What this skill does
## ⚠️ WORKFLOW INITIALIZATION
**If starting a new session**, first read workflow initialization:
```
mcp__plugin_swe_serena__read_memory("wf/WF_INIT")
```
Follow WF_INIT instructions before executing this skill.
---
# /swe-update-feature [KEY]
Update a specific feature's memory files to accurately reflect current codebase state.
## Usage
```bash
/swe-update-feature BLOCKS # Update BLOCKS feature memories
/swe-update-feature THEME_DISTRICT # Update THEME_DISTRICT feature memories
/swe-update-feature TESTS # Update TESTS feature memories
```
## Purpose
Synchronize feature documentation with actual codebase:
- Update directory listings and file inventories
- Refresh architecture layers and patterns
- Update entry points and key files
- Sync related memories (ARCH__, INDEX__, DOM_*)
---
## Stage 1: Validate Feature
**Verify feature exists:**
```javascript
mcp__plugin_swe_serena__read_memory("index/INDEX_FEATURES")
```
**Check:** Feature key exists in registered features table.
**If not found:**
```
> Feature [KEY] not registered. Use /swe-feature-onboard [KEY] to register it first.
```
Exit skill with `needs_clarification` status.
---
## Stage 2: Load Current Feature Memory
```javascript
mcp__plugin_swe_serena__read_memory("feature/FEATURE_[KEY]")
```
**Extract from current memory:**
- Root path(s)
- Primary language
- Framework
- Type
- Architecture layers
- Related memories list
---
## Stage 3: Analyze Current Codebase State
**For each root path in the feature:**
### 3.1 Directory Structure
```javascript
mcp__plugin_swe_serena__list_dir({ relative_path: "[root_path]", depth: 2 })
```
### 3.2 Key Files Inventory
```javascript
mcp__plugin_swe_serena__get_symbols_overview({ relative_path: "[root_path]" })
```
### 3.3 Pattern Detection
Use Serena tools to detect:
- Entry points (main files, index files)
- Configuration files
- Test files
- Template files
---
## Stage 4: Compare and Identify Changes
**Compare current state vs. documented state:**
| Aspect | Check For |
| ------------ | --------------------------------------- |
| Directories | New directories, removed directories |
| Key files | New files, renamed files, removed files |
| Layers | Layer changes, new components |
| Dependencies | New internal/external dependencies |
| Entry points | Changed entry points |
**Report changes found:**
```
Changes detected for [KEY]:
- [+] Added: [new items]
- [-] Removed: [removed items]
- [~] Modified: [changed items]
```
---
## Stage 5: Update Feature Memory
### ⚠️ SPECIAL CASE: SWE Feature
When updating the **SWE** feature itself, memories follow a dual-location architecture:
1. **Edit FIRST** in the plugin folder: `$SWE_PLUGIN_ROOT/memories/`
2. **Then sync** to local project using `/swe-sync`
This ensures changes are preserved in the portable plugin and propagated correctly.
**DO NOT** edit SWE memories directly in `.serena/memory/` - they will be overwritten on sync.
### 5.1 Update FEATURE_[KEY]
```javascript
mcp__plugin_swe_serena__write_memory("FEATURE_[KEY]", "<updated content>")
```
**Preserve:**
- Feature name and metadata
- Workflow context sections
- Related memories list
**Update:**
- Directory listings
- Key files table
- Architecture layers (if changed)
- Last updated timestamp
### 5.2 Update Related Memories (if needed)
Check and update as needed:
- `ARCH_[KEY]` - Architecture documentation
- `INDEX_[KEY]_*` - File/symbol indexes
- `DOM_[KEY]_*` - Domain documentation
**Only update if significant changes detected.**
---
## Stage 6: Symbol Index (Related Docs)
**After updating FEATURE_[KEY] and related memories, regenerate the Related Docs table.**
Invoke the `/swe-symbol-index` skill:
```
/swe-symbol-index [KEY]
```
This will:
1. Read all linked memories listed in FEATURE_[KEY]'s Related Memories section
2. Extract heading symbols from each via `get_symbols_overview`
3. Build/replace the `## Related Docs` table after Feature Overview
**This ensures the symbol index stays in sync with any memory changes.**
---
## Stage 7: Summary Report
Output to user:
```markdown
## Feature Update Complete: [KEY]
### Changes Applied
- FEATURE_[KEY]: [summary of changes]
-
### Current State
| Property | Value |
| ------------ | ----------- |
| Root Path(s) | [paths] |
| Key Files | [count] |
| Last Updated | [timestamp] |
```
---
## Skill Return
```markdown
## Skill Return
- **Skill**: swe-feature-update
- **Status**: success
- **Feature Key**: [KEY]
- **Memories Updated**: [list]
- **Changes Summary**: [brief description]
- **Next Step Hint**: WF_START
```
---
## Exit
```
> **Skill /swe-feature-update complete** - Feature [KEY] memories updated
```
---
## Troubleshooting
### Feature not found
```
Feature [KEY] is not registered in INDEX_FEATURES.
Run: /swe-feature-onboard [KEY]
```
### Root path doesn't exist
- Check if paths have moved
- Update FEATURE_[KEY] with correct paths
- Suggest re-onboarding if structure changed significantly
### No changes detected
```
> Feature [KEY] is up to date. No changes needed.
```
Exit with `success` status (no changes to make is still success).
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.