pabal-web-mcp 1.3.12 → 1.3.13

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.
@@ -1955,7 +1955,6 @@ function loadKeywordResearchForLocale(slug, locale) {
1955
1955
  }
1956
1956
 
1957
1957
  // src/tools/improve-public.ts
1958
- var FIELD_LIMITS_DOC_PATH3 = "docs/aso/ASO_FIELD_LIMITS.md";
1959
1958
  var toJsonSchema3 = zodToJsonSchema3;
1960
1959
  var improvePublicInputSchema = z3.object({
1961
1960
  slug: z3.string().describe("Product slug"),
@@ -1978,46 +1977,37 @@ var jsonSchema3 = toJsonSchema3(improvePublicInputSchema, {
1978
1977
  var inputSchema3 = jsonSchema3.definitions?.ImprovePublicInput || jsonSchema3;
1979
1978
  var improvePublicTool = {
1980
1979
  name: "improve-public",
1981
- description: `Optimizes locale JSON in public/products/[slug]/locales for ASO.
1980
+ description: `Returns ASO optimization instructions with keyword research data. **You MUST execute the returned instructions.**
1982
1981
 
1983
- **IMPORTANT:** Always use 'search-app' tool first to resolve the exact slug before calling this tool. The user may provide an approximate name, bundleId, or packageName - search-app will find and return the correct slug. Never pass user input directly as slug.
1982
+ **IMPORTANT:** Use 'search-app' tool first to resolve the exact slug.
1983
+
1984
+ ## HOW THIS TOOL WORKS
1985
+ This tool returns a PROMPT containing:
1986
+ - Saved keyword research data (Tier 1/2/3 keywords with traffic/difficulty scores)
1987
+ - Current locale data
1988
+ - Optimization instructions
1989
+
1990
+ **YOU MUST:**
1991
+ 1. Read the returned prompt carefully
1992
+ 2. EXECUTE the optimization instructions (create the optimized JSON)
1993
+ 3. Save results using 'save-locale-file' tool
1994
+
1995
+ **DO NOT** just report the instructions back to the user - you must perform the optimization yourself.
1996
+
1997
+ ## WORKFLOW
1998
+ **Stage 1:** improve-public(slug, stage="1") \u2192 Returns keyword data + instructions \u2192 You create optimized primary locale JSON \u2192 save-locale-file
1999
+ **Stage 2:** improve-public(slug, stage="2", optimizedPrimary=<JSON>) \u2192 Returns per-locale instructions \u2192 You optimize each locale \u2192 save-locale-file for each
2000
+
2001
+ ## STAGES
2002
+ - **Stage 1:** Primary locale optimization using saved keyword research (ios + android combined)
2003
+ - **Stage 2:** Localize to other languages using per-locale research OR translate English keywords
2004
+
2005
+ ## KEYWORD SOURCES
2006
+ - Uses SAVED keyword research from .aso/keywordResearch/products/[slug]/locales/
2007
+ - iOS and Android research are automatically combined
2008
+ - If locale research is missing, use English keywords and translate
1984
2009
 
1985
- **CRITICAL: Only processes existing locale files. Does NOT create new locale files.**
1986
- - Only improves locales that already exist in public/products/[slug]/locales/
1987
- - If a locale file doesn't exist, it will be skipped (not created)
1988
- - Always work with existing files only
1989
-
1990
- This tool follows a 2-stage workflow:
1991
-
1992
- **Stage 1: Primary Locale Optimization** (${FIELD_LIMITS_DOC_PATH3})
1993
- 1. Load product config + locales (primary: en-US default)
1994
- 2. Keyword research for PRIMARY locale only (web search for 10 keywords)
1995
- 3. Optimize ALL ASO fields in primary locale with keywords
1996
- 4. Validate character limits (title \u226430, subtitle \u226430, shortDescription \u226480, keywords \u2264100, intro \u2264300, outro \u2264200)
1997
-
1998
- **Stage 2: Keyword Localization** (Batch Processing)
1999
- 1. Translate optimized primary \u2192 target locales in batches (preserve structure/tone/context)
2000
- 2. For EACH locale in batch: lightweight keyword research (10 language-specific keywords)
2001
- 3. Replace keywords in translated content (swap keywords only, keep context)
2002
- 4. Validate character limits per locale
2003
- 5. Save each batch to files before proceeding to next batch
2004
- 6. **Only processes locales that already exist - does NOT create new files**
2005
-
2006
- **Batch Processing:**
2007
- - Languages are processed in batches (default: 5 locales per batch)
2008
- - Each batch is translated, optimized, and saved before moving to the next
2009
- - Use \`batchIndex\` to process a specific batch (0-based)
2010
- - If \`batchIndex\` is not provided, process all batches sequentially
2011
- - **Only existing locale files are processed - missing locales are skipped**
2012
-
2013
- This approach ensures:
2014
- - Efficient token usage (full optimization only once)
2015
- - Consistent messaging across all languages
2016
- - Language-specific keyword optimization for each market
2017
- - Prevents content truncation by processing in manageable batches
2018
- - **No new files are created - only existing locales are improved**
2019
-
2020
- Optionally target a single locale; the primary locale is always included for reference.`,
2010
+ **CRITICAL:** Only processes existing locale files. Does NOT create new files.`,
2021
2011
  inputSchema: inputSchema3
2022
2012
  };
2023
2013
  async function handleImprovePublic(input) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pabal-web-mcp",
3
- "version": "1.3.12",
3
+ "version": "1.3.13",
4
4
  "type": "module",
5
5
  "description": "MCP server for ASO data management with shared types and utilities",
6
6
  "author": "skyu",