market resources
What your agent needs while it localises
Resources built from the library, so they reflect what is actually in each storefront: things an agent cannot cheaply rebuild on its own. Each one cites the apps it learned from.
Resources
Market glossary
market_glossary. For a niche and market variant, the terms and calls to action top-ranked listings actually use, with the apps each came from. Only listings written in the target language count, and terms that name another market (“colombia” in es-MX) are flagged and left out. Export as JSON, CSV, TSV or TBX.
Variant lint
variant_lint. Checks any text against es-ES, es-MX and es-AR rules: vosotros in Latin America, voseo in Argentine calls to action, vocabulary such as móvil and celular. Deterministic rules with sources, not a model's opinion.
Listing check
listing_check. Validates a proposed localised store listing against App Store and Google Play field limits, then compares it with the market's top listings: title length, screenshot count, whether competitors localised at all. Every comparison cites the competitor app ids.
Price points
price_points. What the top apps in a niche charge in each storefront, from stored listing prices: free and paid shares, the price distribution in local currency, and the rounding convention in use.
Market launch checklist
market_launch_checklist. One list per market that merges the market profile (language variant, channels, monetisation), the B2B entry checklist, the legal review items and, if you pass one, the status of a stored i18n report. Statutory items are prompts for a person, never a compliance claim.
Translate
translate. Translation with a variant, a glossary (threefold's or yours), formality for German, and a post-check that flags any output that broke an ICU or printf placeholder. Counted against your plan. Meant for drafts and evidence, not for shipping copy unreviewed.
Variant lint, for real
Input text Descarga la app y suscríbete hoy. for es-AR. The answer from variant_lint, trimmed to the fields that matter:
{
"valid": false,
"variant": "es-AR",
"issues": [
{
"ruleId": "VAR-ES-VOSEO-AR",
"matchedText": "Descarga",
"message": "CTA or imperative 'Descarga' uses tú form. Argentine Spanish (es-AR) typically uses voseo (e.g. 'descargá', 'suscribite', 'comprá', 'registrate', 'hacé', 'empezá').",
"severity": "warn",
"source": "https://www.rae.es/dpd/voseo"
},
{
"ruleId": "VAR-ES-VOSEO-AR",
"matchedText": "suscríbete",
"severity": "warn",
"source": "https://www.rae.es/dpd/voseo"
}
]
}
Produced by the rule engine in the threefold repository (lib/i18n/variants.mjs). The second issue's message is omitted here; it reads like the first.
Agents usually chain these: market_glossary for the words, translate with that glossary, variant_lint on the output, listing_check on the store copy, then the i18n check again. The localise-app and launch-in-market skills describe that loop.
Localise with what the market uses
Inputs, outputs and limits for each resource are in the docs.