BAT AI Tools — Submit Skill
Submit or update an AI tool listing on
bataitools.com using the
command-line tool. The workflow always runs in
3 sequential steps without pausing for user confirmation between them.
Prerequisites
- Install bat-cli (Ensure latest version):
bash
npm install -g @bataitools/bat-cli@latest
# or
bun add -g @bataitools/bat-cli@latest
- API endpoint default:
https://api.bataitools.com
(override via env or flag).
Core Rule: Never generate all languages in one step
Large single-file JSON causes truncation and validation failures. Always run the 3 steps back-to-back:
| Step | What happens | Output |
| Step | What you do | Key output files |
|---|
| 1. Extract | Crawl site, fill base.json (with logo URL) + en.json + capture screenshot | base.json, en.json, screenshot.png/webp |
| 2. Translate | Translate into 27 other languages (batches) | , , … (28 total) |
| 3. Submit | Merge, final validate, pack (uploads assets), POST submit | , submission confirmed |
Logo and screenshots are captured locally via the CLI to guarantee 100% success against firewalls. If they are completely impossible to capture, the server will fall back to asynchronous remote fetching (fail-soft).
[!WARNING]
[Strict Hard Constraint] You are STRICTLY FORBIDDEN from translating more than 4 languages in a single Prompt! Running scripts (such as Python scripts) to batch-request or process more than 4 languages at once is also strictly prohibited.
You are only allowed to translate 2 to 4 languages at a time. You must strictly process them in batches, and you must verify that the current batch is successfully written to local files before proceeding to the next batch.
Per-site directory isolation (mandatory)
Every website gets its own directory keyed by URL hostname (lowercased only — no stripping
).
bash
bat-cli site-dir https://www.Example.com # → ./submits/www.example.com
bat-cli init-site --website https://www.Example.com
Throughout this skill,
=
, e.g.
./submits/www.example.com
.
Never write site B's data into site A's directory. Always call
per site.
Multiple sites
When the user lists N websites, process one site at a time — full Step 1→2→3 per site before starting the next. Never batch-crawl or batch-translate across sites.
Step 1 — Extract
Initialize the directory, crawl the target website, and extract the English metadata.
For the exact CLI commands, website crawl checklist, and comprehensive field guides (including taxonomy, social profiles, and developer identity rules), refer entirely to references/01-extract.md.
Semantic Self-Check:
AI must self-check all written fields before proceeding. Ensure all mandatory fields (like pricing tiers, category tags) are fully filled and align with the rules in references/01-extract.md. You must use your browser subagent to capture the screenshot locally and write the remote logo URL directly to base.json as documented to gather assets successfully.
Step 2 — Translate from English
Read
only the English
to localize into the other 27 target languages.
For the natural localization rules, priceNote translation guidelines, and diff merge logic, refer entirely to references/02-translate.md.
[!IMPORTANT]
[Strict Translation Batching Constraint]
- You are STRICTLY FORBIDDEN from processing more than 4 languages at once. The number of languages processed per session (single prompt, single API request, or a single run cycle of a script) must be restricted to 2–4. Do NOT attempt to merge batches or translate all 27 languages at once.
- Do NOT write or execute any automation scripts that attempt to translate 5 or more languages in a single run.
- You must complete one batch (2–4 languages), successfully write the generated files (e.g., , ) to the local directory, and verify their correctness before starting the next batch.
Execution Order & Self-Check:
Strict follow the order below to translate and save files in batches (maximum of 4 languages per batch). After writing each batch, immediately verify the corresponding JSON files for syntax and structural validity before moving to the next batch:
- , , , (Batch 1: Max 4 languages)
- , , , (Batch 2: Max 4 languages)
- , , , (Batch 3: Max 4 languages)
- , , , (Batch 4: Max 4 languages)
- , , , (Batch 5: Max 4 languages)
- , , (Batch 6: Max 3 languages)
- , , , (Batch 7: Max 4 languages)
Step 3 — Pack and Submit
This is the final stage to package, validate, authenticate, and submit the site to the platform.
Authentication:
Before submitting, you must authenticate. If not already authenticated, perform login at this step. See references/03-submit.md for authentication choices.
For the exact CLI commands, validation workflow, and asset handling, refer entirely to references/03-submit.md.
Reference files
- — Full crawl checklist, & field guide, voice rules, and constraints for Step 1 (Extract).
references/02-translate.md
— Multi-language localization rules, 28 languages batching strategy, and translations for Step 2 (Translate).
- — CLI commands, bundle packing guides, cloud asset resolution, and status checking for Step 3 (Submit).