specweave 1.0.274 → 1.0.276

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/.claude-plugin/README.md +1 -2
  2. package/.claude-plugin/marketplace.json +0 -11
  3. package/dist/src/adapters/agents-md-generator.d.ts.map +1 -1
  4. package/dist/src/adapters/agents-md-generator.js +1 -4
  5. package/dist/src/adapters/agents-md-generator.js.map +1 -1
  6. package/dist/src/adapters/claude-md-generator.js +1 -1
  7. package/dist/src/adapters/claude-md-generator.js.map +1 -1
  8. package/dist/src/core/lazy-loading/llm-plugin-detector.d.ts +2 -2
  9. package/dist/src/core/lazy-loading/llm-plugin-detector.d.ts.map +1 -1
  10. package/dist/src/core/lazy-loading/llm-plugin-detector.js +0 -1
  11. package/dist/src/core/lazy-loading/llm-plugin-detector.js.map +1 -1
  12. package/dist/src/sync/github-reconciler.d.ts +9 -0
  13. package/dist/src/sync/github-reconciler.d.ts.map +1 -1
  14. package/dist/src/sync/github-reconciler.js +41 -9
  15. package/dist/src/sync/github-reconciler.js.map +1 -1
  16. package/dist/src/utils/auto-install.js +1 -1
  17. package/dist/src/utils/auto-install.js.map +1 -1
  18. package/dist/src/utils/generate-skills-index.d.ts.map +1 -1
  19. package/dist/src/utils/generate-skills-index.js +1 -3
  20. package/dist/src/utils/generate-skills-index.js.map +1 -1
  21. package/package.json +1 -1
  22. package/plugins/PLUGINS-INDEX.md +0 -1
  23. package/plugins/specweave/lib/vendor/sync/github-reconciler.d.ts +9 -0
  24. package/plugins/specweave/lib/vendor/sync/github-reconciler.js +41 -9
  25. package/plugins/specweave/lib/vendor/sync/github-reconciler.js.map +1 -1
  26. package/plugins/specweave/skills/npm/SKILL.md +155 -34
  27. package/plugins/specweave-frontend/PLUGIN.md +2 -1
  28. package/plugins/specweave-frontend/skills/design-system-architect/SKILL.md +1 -6
  29. package/plugins/specweave-frontend/skills/figma/SKILL.md +287 -0
  30. package/plugins/specweave-frontend/skills/frontend/SKILL.md +4 -0
  31. package/plugins/specweave-frontend/skills/frontend-architect/SKILL.md +1 -0
  32. package/plugins/specweave-frontend/skills/frontend-design/SKILL.md +1 -1
  33. package/plugins/specweave-release/commands/npm.md +158 -38
  34. package/plugins/specweave-figma/.claude-plugin/plugin.json +0 -23
  35. package/plugins/specweave-figma/PLUGIN.md +0 -34
  36. package/plugins/specweave-figma/commands/figma-import.md +0 -694
  37. package/plugins/specweave-figma/commands/figma-to-react.md +0 -838
  38. package/plugins/specweave-figma/commands/figma-tokens.md +0 -819
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "specweave",
3
- "version": "1.0.274",
3
+ "version": "1.0.276",
4
4
  "description": "Spec-driven development framework for AI coding agents. First-class support for Claude Code — compatible with any LLM-powered coding tool. Living documentation, autonomous execution, quality gates, and multilingual support (9 languages).",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -44,7 +44,6 @@
44
44
  | Plugin | Triggers | Description |
45
45
  |--------|----------|-------------|
46
46
  | **specweave-frontend** | React, Vue, Angular, Next.js, frontend, UI, components | Frontend architecture, design systems |
47
- | **specweave-figma** | Figma, design tokens, design-to-code | Figma integration |
48
47
  | **specweave-mobile** | React Native, mobile, iOS, Android | Mobile app development |
49
48
 
50
49
  ## Backend Plugins
@@ -68,12 +68,21 @@ export declare class GitHubReconciler {
68
68
  private scanIncrements;
69
69
  /**
70
70
  * Initialize GitHub client
71
+ *
72
+ * Prefers sync.github.owner/repo from config (critical for umbrella repos
73
+ * where git remote points to a different repo than where issues live).
74
+ * Falls back to git remote detection.
71
75
  */
72
76
  private initClient;
73
77
  /**
74
78
  * Load config
75
79
  */
76
80
  private loadConfig;
81
+ /**
82
+ * Resolve GitHub owner/repo from config, falling back to git remote.
83
+ * Critical for umbrella repos where git remote != issue target repo.
84
+ */
85
+ private static resolveRepoInfo;
77
86
  /**
78
87
  * Reopen all GitHub issues for an increment
79
88
  * Called by post-increment-status-change.sh when resuming
@@ -296,14 +296,26 @@ This typically happens when:
296
296
  }
297
297
  /**
298
298
  * Initialize GitHub client
299
+ *
300
+ * Prefers sync.github.owner/repo from config (critical for umbrella repos
301
+ * where git remote points to a different repo than where issues live).
302
+ * Falls back to git remote detection.
299
303
  */
300
304
  async initClient() {
301
- const repoInfo = await GitHubClientV2.detectRepo(this.projectRoot);
302
- if (!repoInfo) {
303
- throw new Error('Could not detect GitHub repository. Ensure you have a git remote configured.');
305
+ const config = await this.loadConfig();
306
+ const ghConfig = config.sync?.github;
307
+ if (ghConfig?.owner && ghConfig?.repo) {
308
+ this.client = GitHubClientV2.fromRepo(ghConfig.owner, ghConfig.repo);
309
+ this.logger.log(`🔗 GitHub repository: ${ghConfig.owner}/${ghConfig.repo} (from config)`);
310
+ }
311
+ else {
312
+ const repoInfo = await GitHubClientV2.detectRepo(this.projectRoot);
313
+ if (!repoInfo) {
314
+ throw new Error('Could not detect GitHub repository. Ensure sync.github.owner/repo is configured or a git remote exists.');
315
+ }
316
+ this.client = GitHubClientV2.fromRepo(repoInfo.owner, repoInfo.repo);
317
+ this.logger.log(`🔗 GitHub repository: ${repoInfo.owner}/${repoInfo.repo} (from git remote)`);
304
318
  }
305
- this.client = GitHubClientV2.fromRepo(repoInfo.owner, repoInfo.repo);
306
- this.logger.log(`🔗 GitHub repository: ${repoInfo.owner}/${repoInfo.repo}`);
307
319
  }
308
320
  /**
309
321
  * Load config
@@ -316,6 +328,26 @@ This typically happens when:
316
328
  const content = await fs.readFile(configPath, 'utf-8');
317
329
  return JSON.parse(content);
318
330
  }
331
+ /**
332
+ * Resolve GitHub owner/repo from config, falling back to git remote.
333
+ * Critical for umbrella repos where git remote != issue target repo.
334
+ */
335
+ static async resolveRepoInfo(projectRoot) {
336
+ try {
337
+ const configPath = path.join(projectRoot, '.specweave/config.json');
338
+ if (existsSync(configPath)) {
339
+ const config = JSON.parse(await fs.readFile(configPath, 'utf-8'));
340
+ const ghConfig = config.sync?.github;
341
+ if (ghConfig?.owner && ghConfig?.repo) {
342
+ return { owner: ghConfig.owner, repo: ghConfig.repo };
343
+ }
344
+ }
345
+ }
346
+ catch {
347
+ // Fall through to git detection
348
+ }
349
+ return GitHubClientV2.detectRepo(projectRoot);
350
+ }
319
351
  // ==========================================================================
320
352
  // Static helpers for single-increment operations (used by hooks)
321
353
  // ==========================================================================
@@ -334,8 +366,8 @@ This typically happens when:
334
366
  return result;
335
367
  }
336
368
  const metadata = JSON.parse(await fs.readFile(metadataPath, 'utf-8'));
337
- // Initialize client
338
- const repoInfo = await GitHubClientV2.detectRepo(projectRoot);
369
+ // Initialize client (prefer config over git remote for umbrella repos)
370
+ const repoInfo = await GitHubReconciler.resolveRepoInfo(projectRoot);
339
371
  if (!repoInfo) {
340
372
  result.errors.push('Could not detect GitHub repository');
341
373
  return result;
@@ -403,8 +435,8 @@ This issue was reopened because increment \`${incrementId}\` was resumed.
403
435
  return result;
404
436
  }
405
437
  const metadata = JSON.parse(await fs.readFile(metadataPath, 'utf-8'));
406
- // Initialize client
407
- const repoInfo = await GitHubClientV2.detectRepo(projectRoot);
438
+ // Initialize client (prefer config over git remote for umbrella repos)
439
+ const repoInfo = await GitHubReconciler.resolveRepoInfo(projectRoot);
408
440
  if (!repoInfo) {
409
441
  result.errors.push('Could not detect GitHub repository');
410
442
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"github-reconciler.js","sourceRoot":"","sources":["../../../src/sync/github-reconciler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"github-reconciler.js","sourceRoot":"","sources":["../../../src/sync/github-reconciler.ts"],"names":[],"mappings":"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"}
@@ -102,6 +102,124 @@ Check flags in the command invocation:
102
102
 
103
103
  ---
104
104
 
105
+ ## STEP 0: REPOSITORY DISCOVERY (Multi-Repo Aware) — ALWAYS RUN FIRST!
106
+
107
+ **This step runs BEFORE any workflow mode.** It determines which npm package to release.
108
+
109
+ ### Detection Logic
110
+
111
+ ```bash
112
+ # Check if we're in an umbrella repo with nested repositories
113
+ if [ -d "repositories" ]; then
114
+ UMBRELLA=true
115
+ else
116
+ UMBRELLA=false
117
+ fi
118
+ ```
119
+
120
+ ### If NOT an umbrella repo (`UMBRELLA=false`)
121
+
122
+ Operate on CWD as normal. Set:
123
+ ```bash
124
+ PKG_DIR="."
125
+ PKG_NAME=$(node -p "require('./package.json').name")
126
+ PKG_VERSION=$(node -p "require('./package.json').version")
127
+ ```
128
+
129
+ ### If umbrella repo (`UMBRELLA=true`)
130
+
131
+ Scan for all publishable npm packages:
132
+
133
+ ```bash
134
+ # Find all package.json files under repositories/ (skip node_modules)
135
+ # For each one, check:
136
+ # 1. Has "name" field
137
+ # 2. Has "version" field
138
+ # 3. NOT "private": true
139
+ # Collect: directory path, package name, version
140
+ ```
141
+
142
+ **Scanning script:**
143
+ ```bash
144
+ PUBLISHABLE=()
145
+ for pkg in $(find repositories -name "package.json" -not -path "*/node_modules/*" -not -path "*/docs-site/*" -maxdepth 4); do
146
+ IS_PRIVATE=$(node -p "try { require('./$pkg').private || false } catch(e) { true }")
147
+ if [ "$IS_PRIVATE" = "false" ]; then
148
+ NAME=$(node -p "require('./$pkg').name")
149
+ VERSION=$(node -p "require('./$pkg').version")
150
+ DIR=$(dirname "$pkg")
151
+ PUBLISHABLE+=("$DIR|$NAME|$VERSION")
152
+ fi
153
+ done
154
+ ```
155
+
156
+ **Decision:**
157
+
158
+ | Found | Action |
159
+ |-------|--------|
160
+ | **0 packages** | STOP with error: "No publishable npm packages found under repositories/" |
161
+ | **1 package** | Auto-select it, report: "Auto-selected `$PKG_NAME` (only publishable package)" |
162
+ | **2+ packages** | Use `AskUserQuestion` to let the user choose |
163
+
164
+ **AskUserQuestion format (when 2+ packages):**
165
+
166
+ ```
167
+ Question: "Which npm package do you want to release?"
168
+ Header: "Package"
169
+ Options:
170
+ - label: "$NAME1 (v$VERSION1)"
171
+ description: "Path: $DIR1"
172
+ - label: "$NAME2 (v$VERSION2)"
173
+ description: "Path: $DIR2"
174
+ ... (one per publishable package)
175
+ ```
176
+
177
+ ### After Selection
178
+
179
+ ```bash
180
+ # Navigate to the selected package directory
181
+ cd "$PKG_DIR"
182
+
183
+ # Set variables for use throughout the workflow
184
+ PKG_NAME=$(node -p "require('./package.json').name")
185
+ PKG_VERSION=$(node -p "require('./package.json').version")
186
+ REPO_URL=$(node -p "try { const r = require('./package.json').repository; typeof r === 'string' ? r : r?.url?.replace(/\\.git$/, '') || '' } catch(e) { '' }")
187
+ GH_REPO=$(echo "$REPO_URL" | sed 's|https://github.com/||')
188
+
189
+ # Detect current branch
190
+ BRANCH=$(git rev-parse --abbrev-ref HEAD)
191
+
192
+ # Validate branch is release-eligible (not a feature branch)
193
+ if [[ "$BRANCH" != "main" && "$BRANCH" != "develop" && "$BRANCH" != "master" ]]; then
194
+ echo "WARNING: Current branch '$BRANCH' is not a standard release branch (main/develop/master)"
195
+ # STOP and ask user to confirm before proceeding
196
+ fi
197
+
198
+ # Detect build command from package.json scripts
199
+ if node -p "Object.keys(require('./package.json').scripts||{}).includes('rebuild')" | grep -q true; then
200
+ BUILD_CMD="npm run rebuild"
201
+ elif node -p "Object.keys(require('./package.json').scripts||{}).includes('build')" | grep -q true; then
202
+ BUILD_CMD="npm run build"
203
+ else
204
+ BUILD_CMD=""
205
+ echo "WARNING: No build or rebuild script found — skip build step"
206
+ fi
207
+ ```
208
+
209
+ **CRITICAL**: All subsequent commands in the chosen workflow run from `$PKG_DIR` as CWD.
210
+
211
+ **Report the selection** before proceeding to the workflow:
212
+ ```
213
+ Selected package: $PKG_NAME v$PKG_VERSION
214
+ Directory: $PKG_DIR
215
+ Repository: $REPO_URL
216
+ Branch: $BRANCH
217
+ Build command: $BUILD_CMD
218
+ Mode: [DEFAULT|QUICK|CI|DIRECT|LOCAL]
219
+ ```
220
+
221
+ ---
222
+
105
223
  ## DEFAULT MODE WORKFLOW (no flags) - INSTANT RELEASE
106
224
 
107
225
  This is the **default** workflow when no flags are provided. Auto-commits any dirty changes, syncs git FIRST, then publishes to npmjs.org. One command does everything!
@@ -116,14 +234,14 @@ This is the **default** workflow when no flags are provided. Auto-commits any di
116
234
  ### 1. Pre-flight Check (Minimal)
117
235
 
118
236
  ```bash
119
- # Verify we're on develop branch
237
+ # Verify we're on a release-eligible branch
120
238
  git rev-parse --abbrev-ref HEAD
121
239
 
122
240
  # Get current version
123
241
  node -p "require('./package.json').version"
124
242
  ```
125
243
 
126
- **STOP if**: Not on `develop` branch (ask user to switch)
244
+ **STOP if**: Not on a release-eligible branch (`main`, `develop`, or `master`) already validated in Step 0
127
245
 
128
246
  ### 2. Auto-Commit Dirty Changes (if any)
129
247
 
@@ -152,7 +270,7 @@ git commit -m "[auto-generated message based on changed files]"
152
270
 
153
271
  ```bash
154
272
  # Push dirty commit to remote FIRST - ensures code is safe before release
155
- git push origin develop
273
+ git push origin $BRANCH
156
274
  ```
157
275
 
158
276
  **Why this order?**
@@ -197,7 +315,9 @@ This creates a NEW commit + tag locally.
197
315
  ### 5. Build Package
198
316
 
199
317
  ```bash
200
- npm run rebuild
318
+ # Uses detected build command (rebuild if available, else build)
319
+ # If $BUILD_CMD is empty, skip this step and warn user
320
+ $BUILD_CMD
201
321
  ```
202
322
 
203
323
  ### 6. Publish to NPM (with explicit registry!)
@@ -211,7 +331,7 @@ npm publish --registry https://registry.npmjs.org
211
331
 
212
332
  ```bash
213
333
  # Push the version bump commit and tag
214
- git push origin develop --follow-tags
334
+ git push origin $BRANCH --follow-tags
215
335
  ```
216
336
 
217
337
  ### 8. MANDATORY: Create GitHub Release
@@ -272,8 +392,8 @@ gh release view "v$NEW_VERSION" --json tagName,url
272
392
  **Full patch release complete!**
273
393
 
274
394
  **Version**: vX.Y.Z
275
- **NPM**: https://www.npmjs.com/package/specweave
276
- **GitHub Release**: https://github.com/anton-abyzov/specweave/releases/tag/vX.Y.Z
395
+ **NPM**: https://www.npmjs.com/package/$PKG_NAME
396
+ **GitHub Release**: https://github.com/$GH_REPO/releases/tag/vX.Y.Z
277
397
 
278
398
  **What happened**:
279
399
  - Dirty changes auto-committed
@@ -284,7 +404,7 @@ gh release view "v$NEW_VERSION" --json tagName,url
284
404
  - Version tag pushed to GitHub
285
405
  - GitHub Release created with release notes
286
406
 
287
- **Verify**: `npm view specweave version --registry https://registry.npmjs.org`
407
+ **Verify**: `npm view $PKG_NAME version --registry https://registry.npmjs.org`
288
408
  ```
289
409
 
290
410
  ## Default Mode Success Criteria
@@ -314,14 +434,14 @@ Use this workflow when `--quick` flag is detected. This combines `/sw:save` beha
314
434
  ### 1. Pre-flight Check
315
435
 
316
436
  ```bash
317
- # Verify we're on develop branch
437
+ # Verify we're on a release-eligible branch
318
438
  git rev-parse --abbrev-ref HEAD
319
439
 
320
440
  # Get current version
321
441
  node -p "require('./package.json').version"
322
442
  ```
323
443
 
324
- **STOP if**: Not on `develop` branch (ask user to switch)
444
+ **STOP if**: Not on a release-eligible branch (`main`, `develop`, or `master`) already validated in Step 0
325
445
 
326
446
  ### 2. Auto-Commit Dirty Changes (if any)
327
447
 
@@ -341,7 +461,7 @@ git commit -m "[auto-generated message based on changed files]"
341
461
 
342
462
  ```bash
343
463
  # Push dirty commit to remote - ensures code is safe before release
344
- git push origin develop
464
+ git push origin $BRANCH
345
465
  ```
346
466
 
347
467
  ### 4. Smart Version Bump (Prerelease-Aware!)
@@ -363,7 +483,8 @@ This creates a NEW commit + tag locally.
363
483
  ### 5. Build Package
364
484
 
365
485
  ```bash
366
- npm run rebuild
486
+ # Uses detected build command; skip if $BUILD_CMD is empty
487
+ $BUILD_CMD
367
488
  ```
368
489
 
369
490
  ### 6. Publish to NPM Locally
@@ -378,7 +499,7 @@ npm publish --registry https://registry.npmjs.org
378
499
  ```bash
379
500
  # Push ONLY the version commit, NOT the tag
380
501
  # This prevents GitHub Actions release workflow from triggering
381
- git push origin develop
502
+ git push origin $BRANCH
382
503
  ```
383
504
 
384
505
  **CRITICAL**: Do NOT use `--follow-tags`! We want local npm publish only.
@@ -389,7 +510,7 @@ git push origin develop
389
510
  **Quick release complete!**
390
511
 
391
512
  **Version**: vX.Y.Z
392
- **NPM**: https://www.npmjs.com/package/specweave
513
+ **NPM**: https://www.npmjs.com/package/$PKG_NAME
393
514
  **Git Tag**: vX.Y.Z (local only - NOT pushed)
394
515
 
395
516
  **What happened**:
@@ -400,7 +521,7 @@ git push origin develop
400
521
  - Published to npmjs.org (locally)
401
522
  - Tag NOT pushed (no GitHub Actions triggered)
402
523
 
403
- **Verify**: `npm view specweave version --registry https://registry.npmjs.org`
524
+ **Verify**: `npm view $PKG_NAME version --registry https://registry.npmjs.org`
404
525
 
405
526
  **If you want to push the tag later** (triggers GH release):
406
527
  `git push origin vX.Y.Z`
@@ -426,7 +547,7 @@ Use this workflow when `--ci` flag is detected. Push to git and let GitHub Actio
426
547
  ### 1. Pre-flight Checks
427
548
 
428
549
  ```bash
429
- # Verify we're on develop branch
550
+ # Verify we're on a release-eligible branch
430
551
  git rev-parse --abbrev-ref HEAD
431
552
 
432
553
  # Check for uncommitted changes
@@ -437,7 +558,7 @@ node -p "require('./package.json').version"
437
558
  ```
438
559
 
439
560
  **STOP if**:
440
- - Not on `develop` branch (ask user to switch)
561
+ - Not on a release-eligible branch already validated in Step 0
441
562
  - Uncommitted changes exist (ask user to commit first)
442
563
 
443
564
  ### 2. Smart Version Bump (Prerelease-Aware!)
@@ -465,7 +586,7 @@ node -p "require('./package.json').version"
465
586
 
466
587
  ```bash
467
588
  # Push commit and tag to trigger GitHub Actions
468
- git push origin develop --follow-tags
589
+ git push origin $BRANCH --follow-tags
469
590
  ```
470
591
 
471
592
  ### 5. Report Results
@@ -474,12 +595,12 @@ git push origin develop --follow-tags
474
595
  Release initiated successfully!
475
596
 
476
597
  **Version**: vX.Y.Z
477
- **Tag**: https://github.com/anton-abyzov/specweave/releases/tag/vX.Y.Z
478
- **GitHub Actions**: https://github.com/anton-abyzov/specweave/actions
598
+ **Tag**: https://github.com/$GH_REPO/releases/tag/vX.Y.Z
599
+ **GitHub Actions**: https://github.com/$GH_REPO/actions
479
600
 
480
601
  **Next steps**:
481
602
  1. Monitor GitHub Actions workflow (1-2 minutes)
482
- 2. Verify npm publish: https://www.npmjs.com/package/specweave
603
+ 2. Verify npm publish: https://www.npmjs.com/package/$PKG_NAME
483
604
  3. Check GitHub release notes
484
605
  ```
485
606
 
@@ -500,7 +621,7 @@ Use this workflow when `--only` flag is detected. This publishes directly to npm
500
621
  ### 1. Pre-flight Checks (Same as Default)
501
622
 
502
623
  ```bash
503
- # Verify we're on develop branch
624
+ # Verify we're on a release-eligible branch
504
625
  git rev-parse --abbrev-ref HEAD
505
626
 
506
627
  # Check for uncommitted changes
@@ -511,7 +632,7 @@ node -p "require('./package.json').version"
511
632
  ```
512
633
 
513
634
  **STOP if**:
514
- - Not on `develop` branch (ask user to switch)
635
+ - Not on a release-eligible branch already validated in Step 0
515
636
  - Uncommitted changes exist (ask user to commit first)
516
637
 
517
638
  ### 2. Smart Version Bump (Prerelease-Aware!)
@@ -538,8 +659,8 @@ node -p "require('./package.json').version"
538
659
  ### 4. Build Package
539
660
 
540
661
  ```bash
541
- # Build the package before publishing
542
- npm run rebuild
662
+ # Build the package before publishing; skip if $BUILD_CMD is empty
663
+ $BUILD_CMD
543
664
  ```
544
665
 
545
666
  ### 5. Publish to NPM Directly
@@ -556,22 +677,22 @@ npm publish --registry https://registry.npmjs.org
556
677
  **Published directly to npm!**
557
678
 
558
679
  **Version**: vX.Y.Z
559
- **NPM**: https://www.npmjs.com/package/specweave
680
+ **NPM**: https://www.npmjs.com/package/$PKG_NAME
560
681
  **Git Tag**: vX.Y.Z (local only)
561
682
 
562
683
  **What happened**:
563
684
  - Version bumped and committed locally
564
685
  - Git tag created locally
565
- - Package built (npm run rebuild)
686
+ - Package built ($BUILD_CMD)
566
687
  - Published to npm directly
567
- - Git NOT pushed (use `git push origin develop --follow-tags` later if needed)
688
+ - Git NOT pushed (use `git push origin $BRANCH --follow-tags` later if needed)
568
689
 
569
690
  **Verify**:
570
- - Check npm: https://www.npmjs.com/package/specweave
571
- - Verify version: `npm view specweave version`
691
+ - Check npm: https://www.npmjs.com/package/$PKG_NAME
692
+ - Verify version: `npm view $PKG_NAME version`
572
693
 
573
694
  **Note**: Local release only. Push to GitHub manually when ready:
574
- `git push origin develop --follow-tags`
695
+ `git push origin $BRANCH --follow-tags`
575
696
  ```
576
697
 
577
698
  ## Direct Mode Success Criteria
@@ -638,15 +759,15 @@ fi
638
759
  - NO git commit (use `git add . && git commit` later)
639
760
  - NO git tag (use `git tag vX.Y.Z` later)
640
761
  - NO npm publish (use `npm publish` later)
641
- - NO build (use `npm run rebuild` later)
762
+ - NO build (use `$BUILD_CMD` later)
642
763
 
643
764
  **Next steps when ready to release**:
644
- 1. Build: `npm run rebuild`
765
+ 1. Build: `$BUILD_CMD`
645
766
  2. Test: `npm test`
646
767
  3. Commit: `git add . && git commit -m "chore: bump version to X.Y.Z"`
647
768
  4. Tag: `git tag vX.Y.Z`
648
769
  5. Publish: `npm publish --registry https://registry.npmjs.org`
649
- 6. Push: `git push origin develop --follow-tags`
770
+ 6. Push: `git push origin $BRANCH --follow-tags`
650
771
 
651
772
  **Or use**: `/sw:npm` (no flags) for full instant release
652
773
  ```
@@ -6,7 +6,7 @@
6
6
 
7
7
  ## Description
8
8
 
9
- Complete frontend development ecosystem for React, Next.js, Vue, and Angular. Provides expert guidance on component architecture, design systems, state management, performance optimization, and polished UI implementation. Includes deep codebase analysis capabilities and design token management.
9
+ Complete frontend development ecosystem for React, Next.js, Vue, and Angular. Provides expert guidance on component architecture, design systems, state management, performance optimization, and polished UI implementation. Includes deep codebase analysis capabilities, design token management, and Figma integration via the official Figma MCP server.
10
10
 
11
11
  ## Skills
12
12
 
@@ -17,6 +17,7 @@ Complete frontend development ecosystem for React, Next.js, Vue, and Angular. Pr
17
17
  | frontend-architect | Frontend architecture expert for React, Next.js, Vue, Angular with Atomic Design, state management patterns, and routing strategies |
18
18
  | design-system-architect | Design systems expert with Atomic Design, design tokens, theming infrastructure, multi-brand support, and Storybook-driven development |
19
19
  | frontend-design | UI/UX design expert for polished, production-ready interfaces with micro-interactions, animations, and distinctive visual characteristics |
20
+ | figma | Figma design-to-code expert with MCP integration for implementing designs, extracting tokens, managing Code Connect, and responsive component generation |
20
21
  | code-explorer | Deep codebase analysis for tracing feature implementations, understanding data flow, and mapping module dependencies |
21
22
 
22
23
  ## Installation
@@ -164,12 +164,7 @@ const theme = {
164
164
  - Chromatic for visual regression testing
165
165
  - Percy for screenshot testing
166
166
 
167
- **Design-to-Code Integration**:
168
- - Figma design tokens export
169
- - Design token generators
170
- - Component template generators
171
- - Automated icon imports
172
- - Style guide generators
167
+ **Design-to-Code Integration**: For Figma token extraction, design system rules, and component generation, use the **figma** skill (`/sw-frontend:figma`).
173
168
 
174
169
  ### 9. Versioning and Distribution
175
170