一键导入
add-synonym
Add search synonyms to the Algolia synonym list. Use when someone wants to add, update, or extend synonym groups for site search.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Add search synonyms to the Algolia synonym list. Use when someone wants to add, update, or extend synonym groups for site search.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | add-synonym |
| description | Add search synonyms to the Algolia synonym list. Use when someone wants to add, update, or extend synonym groups for site search. |
| metadata | {"internal":true} |
Add or update synonym entries in site/search/synonymUtils.ts so that our Algolia-powered site search returns better results.
Start from a clean, up-to-date main branch and create a feature branch. Run:
git checkout master to switch to the main branch.git pull to get the latest changes.git stash is usually the right fix.git checkout -b add-synonym-<username>-<date> where <username> is the GitHub username and <date> is today's date as YYYYMMDD (e.g. add-synonym-bastianherre-20260413).Ask the user what synonyms they want to add. They can describe it in natural language (e.g. "add WHO as a synonym for World Health Organization" or "make 'EV' and 'electric vehicle' synonyms").
Read site/search/synonymUtils.ts to see the current synonym groups and section comments.
Determine which existing synonym group the new terms belong in:
// Organizations, // Health, … comment blocks).// Organizations section each producer is its own array (e.g. ["imf", "international monetary fund"]). Adding a new producer means adding a new array under that section — that's expected, not a "new group" in the forbidden sense. Never merge two distinct organizations into one array, since every term in an array is treated as interchangeable (that would make IMF and the OECD synonyms of each other).Edit the file. Use double quotes for all strings. Keep entries in the same style as surrounding code.
Validate the change. Before running any commands, check that the environment is ready:
which yarn to check if Yarn is available.which node). If not, install it via brew install node (install Homebrew first via its install script if which brew fails).corepack enable && corepack prepare yarn@stable --activate. If corepack is not available, fall back to npm install -g yarn.yarn install to install project dependencies.node_modules doesn't exist, run yarn install first.yarn fixFormatChanged > /dev/null 2>&1 && yarn typecheck and fix any errors.yarn testLintChanged and fix any errors.yarn test run --reporter dot site/search/synonymUtils.test.ts and fix any errors.Pause and ask the user to confirm the changes look correct before proceeding. Show them what was added and wait for their go-ahead.
Commit to the feature branch with a message in this exact format:
✨🤖✨🤖 Add "WHO" synonym for "World Health Organization"Co-Authored-By: Claude <noreply@anthropic.com> as a trailer.Push the branch and create a PR:
git push -u origin HEAD.gh pr create --title "<same as commit message>" --reviewer edomt and a proper description (don't leave --body empty). The description should briefly cover:
baker/algolia/configureAlgolia.ts.These apply to synonyms in general (not just organizations) — apply them proactively and suggest the relevant variants to the user when you add a term:
"who" for the World Health Organization, since "who has the highest income" would pull WHO datasets. When a term collides with a common word, flag it to the user and prefer the full name and/or a non-colliding variant. ("un" is borderline but accepted; "pip" is a real word but low practical risk on our corpus.)"oms" /* spanish, french */ (WHO), "vih" (HIV), "sida" (AIDS), "fmi" (IMF), "omc" (WTO), "ocde" (OECD), "onu" (UN), etc."acnur" /* spanish */, "hcr" /* french */ (UNHCR).organization ↔ organisation, programme ↔ program, centre ↔ center, labour ↔ labor. But skip names whose official spelling is fixed and the variant is implausible (e.g. US agencies like CDC "Centers", BLS "Bureau of Labor Statistics")."bureau of labor statistics" already matches every result of "u.s. bureau of labor statistics", so don't add us / u.s. / united states / united nations / un prefixes — keep the shortest distinctive form. Two guardrails: (a) don't trim so far the term becomes generic ("development programme" is too broad for UNDP — keep "un development programme"); (b) keep proper brand names intact ("un tourism" is the org's actual name; "tourism" is too broad).add-synonym-<username>-<date> branch and PR already exist, continue on them (commit + push to the open PR) rather than forcing a brand-new branch.origins table, and you can rank them by how many published charts they back (join origins → origins_variables → chart_dimensions → charts) to focus on high-value omissions.countries utility and should NOT be added to this file. If the user asks for a country synonym, explain this and point them to the country data instead — unless it's a geographic term not covered by the countries list (like "gaza", "palestine" which are already in the file).baker/algolia/configureAlgolia.ts. No manual Algolia action is needed.