pabal-web-mcp 1.3.11 → 1.3.12

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.
@@ -1441,21 +1441,60 @@ ${optimizedPrimary}
1441
1441
  \`\`\`
1442
1442
 
1443
1443
  `;
1444
+ const primaryResearchSections = keywordResearchByLocale[primaryLocale] || [];
1445
+ const hasPrimaryResearch = primaryResearchSections.length > 0;
1444
1446
  prompt += `## Keyword Research (Per Locale)
1445
1447
 
1446
1448
  `;
1449
+ if (hasPrimaryResearch) {
1450
+ prompt += `**\u{1F4DA} ENGLISH (${primaryLocale}) Keywords - Use as fallback for locales without research:**
1451
+ ${primaryResearchSections.join("\n")}
1452
+
1453
+ `;
1454
+ prompt += `---
1455
+
1456
+ `;
1457
+ }
1447
1458
  nonPrimaryLocales.forEach((loc) => {
1448
1459
  const researchSections = keywordResearchByLocale[loc] || [];
1449
1460
  const researchDir = keywordResearchDirByLocale[loc];
1450
1461
  if (researchSections.length > 0) {
1451
- prompt += `Locale ${loc}: use saved research below. Do NOT invent keywords.
1462
+ prompt += `### Locale ${loc}: \u2705 Saved research found
1452
1463
  ${researchSections.join(
1453
1464
  "\n"
1454
1465
  )}
1455
1466
 
1467
+ `;
1468
+ } else if (hasPrimaryResearch) {
1469
+ prompt += `### Locale ${loc}: \u26A0\uFE0F No saved research - USE ENGLISH (${primaryLocale}) KEYWORDS
1470
+ `;
1471
+ prompt += `No keyword research found at ${researchDir}.
1472
+ `;
1473
+ prompt += `**FALLBACK:** Translate English keywords from primary locale (${primaryLocale}) into ${loc}:
1474
+ `;
1475
+ prompt += `1. Take the Tier 1/2/3 keywords from English research above
1476
+ `;
1477
+ prompt += `2. Translate each English keyword naturally into ${loc} (not literal translation)
1478
+ `;
1479
+ prompt += `3. Use native expressions that ${loc} users would actually search for
1480
+ `;
1481
+ prompt += `4. Verify translations are culturally appropriate
1482
+ `;
1483
+ prompt += `5. Apply translated keywords following the same tier strategy
1484
+
1456
1485
  `;
1457
1486
  } else {
1458
- prompt += `Locale ${loc}: no saved keyword research found at ${researchDir}. Stop and request running 'keyword-research' tool (slug='${slug}', locale='${loc}', platform/country as appropriate\u2014match the store locale), then rerun stage 2.
1487
+ prompt += `### Locale ${loc}: \u26A0\uFE0F No research - USE ENGLISH KEYWORDS FROM optimizedPrimary
1488
+ `;
1489
+ prompt += `No keyword research found. Extract keywords from the optimizedPrimary JSON above and translate them:
1490
+ `;
1491
+ prompt += `1. Extract keywords from \`aso.keywords\` in optimizedPrimary
1492
+ `;
1493
+ prompt += `2. Translate each English keyword naturally into ${loc}
1494
+ `;
1495
+ prompt += `3. Use native expressions that ${loc} users would actually search for
1496
+ `;
1497
+ prompt += `4. Apply translated keywords to all ASO fields
1459
1498
 
1460
1499
  `;
1461
1500
  }
@@ -1542,7 +1581,7 @@ ${researchSections.join(
1542
1581
  `;
1543
1582
  prompt += `Process EACH locale in this batch sequentially:
1544
1583
  `;
1545
- prompt += `1. Use saved keyword research (or pause if missing and request keyword-research run)
1584
+ prompt += `1. Use saved keyword research OR translate from primary locale if missing (see fallback strategy above)
1546
1585
  `;
1547
1586
  prompt += `2. Replace keywords in ALL fields:
1548
1587
  `;
@@ -1598,11 +1637,13 @@ ${researchSections.join(
1598
1637
  prompt += `### Locale [locale-code]:
1599
1638
 
1600
1639
  `;
1601
- prompt += `**1. Keyword Research (saved)**
1640
+ prompt += `**1. Keyword Source**
1641
+ `;
1642
+ prompt += ` - If saved research exists: Cite file(s) used; list selected top 10 keywords
1602
1643
  `;
1603
- prompt += ` - Cite file(s) used; list selected top 10 keywords (no new research)
1644
+ prompt += ` - If using fallback: List translated keywords from primary locale with translation rationale
1604
1645
  `;
1605
- prompt += ` - Rationale: why these were chosen from saved research
1646
+ prompt += ` - Show final 10 keywords in target language with tier assignments
1606
1647
 
1607
1648
  `;
1608
1649
  prompt += `**2. Updated JSON** (complete locale structure with keyword replacements)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pabal-web-mcp",
3
- "version": "1.3.11",
3
+ "version": "1.3.12",
4
4
  "type": "module",
5
5
  "description": "MCP server for ASO data management with shared types and utilities",
6
6
  "author": "skyu",