TestsSûr100100/100
Generate Test Texts (vinta)
(project) Harvest real-world CJK/Latin mixed-symbol texts (non-spacing form) into ./tmp for evaluating spacing-rule coverage
ou envoie-le directement à ton agent.
Installer dans ton projet
$ curl -fsSL https://arboristhree.xyz/cli/install-skill.mjs -o /tmp/arboris-install-skill.mjs && node /tmp/arboris-install-skill.mjs generate-test-texts__vinta-pangu-js__claude-skills-a59615a437a9vinta
vinta/pangu-js
Contenu à copier
---
name: generate-test-texts
description: (project) Harvest real-world CJK/Latin mixed-symbol texts (non-spacing form) into ./tmp for evaluating spacing-rule coverage
disable-model-invocation: true
allowed-tools:
- WebSearch
- WebFetch
- Bash(grep:*)
- Bash(sort:*)
- Bash(cat:*)
- Bash(date:*)
- Write(tmp/**)
metadata:
origin: vinta
---
# Generate Test Texts
Harvest real-world texts whose CJK and half-width symbol mixes stress `spacingText()`, and deliver them in non-spacing form for fixture authoring. Default is 20 lines. The invocation may override the count or steer the focus toward specific symbols.
Every line is harvested, meaning lifted from a page a real human published. Search-result titles are themselves harvest. If a wanted context refuses to turn up, switch genre or query. Writing a line yourself is the one hard no.
## 1. Inventory covered contexts
Collect what the corpus already tests:
- Fixture inputs: `grep -rhoE "spacingText\('[^']+'\)" tests/shared/*.test.ts | sort -u`
- Prior harvests: `cat tmp/real-world-texts*.txt 2>/dev/null`
Done when, for any symbol context, you can answer covered or uncovered.
## 2. Claim gaps
Plan one line per uncovered context. A gap earns one line, a covered context earns none. Gap families that keep paying:
| Family | Examples |
| ------------------------------ | ------------------------------------------------------------------- |
| Fullwidth/halfwidth lookalikes | `|` vs `\|` vs `│` vs `丨`, `%` vs `%`, `/`, `-` |
| Symbol runs | `SPF50+/PA++++`, `1+1=$50`, `C++`, `......` |
| Brand and model traps | `85度C`, `YouBike 2.0E`, `EMU3000`, `Disney+` |
| Marks glued to CJK | `®` `°C` `★` `×` vs `X`, `@handle`, `#話題#`, `vs.`, `~` |
| Structure | `【】《》「」[]`, `9/21`, `11:00`, `NT$24,280`, `70,000~150,000元` |
Done when every planned line has claimed a gap no other line claims.
## 3. Harvest
WebSearch genres dense in mixed symbols, batching independent queries in one block. Craft queries so the wanted string surfaces in result titles (include brand names and format tokens like 「」, vs, %). Fetch a page only to verify a doubtful title.
Genres that yield: e-commerce listings (momo, PChome, 蝦皮, Amazon JP), telecom and bundle plans, news and live-stream titles, stock and finance headlines, ticketing and sports schedules, forum and bio strings (PTT, 巴哈, Plurk, weibo), job listings (104 titles are reliably messy), promo campaigns. Mostly zh-TW, plus a few Simplified and Japanese lines.
Done when every claimed gap holds a harvested line with its source URL noted.
## 4. Normalize to non-spacing form
The line must read as if its author never spaced CJK from half-width:
- Delete a space only when a neighbour is CJK or fullwidth punctuation (sites like ePrice and GNN pre-space, strip that).
- Keep spaces inside pure Latin and digit runs: `iPhone 15 Pro Max`, `PChome 24h`.
- Keep every other codepoint byte-for-byte: lookalikes such as `|/%“”·` stay exactly as published.
Done when each line differs from its source only by deleted CJK-boundary spaces.
## 5. Deliver
Write the texts, one per line and nothing else, to `tmp/real-world-texts-$(date +%Y%m%d-%H%M%S).txt`. Fixture authoring stays with Vinta: he decides each expected spaced form, so the txt file is the deliverable.
Close with a provenance report: the gap each cluster covers, source links, and a flag on every stitched line (clauses or fragments joined from one source). Title-verbatim is the default, stitched lines stay a handful.Colle ce Markdown dans ton agent ou utilise les boutons ci-dessus pour l’écrire dans ton projet.
Ce que fait Generate Test Texts (vinta)
Fixture inputs: `grep -rhoE "spacingText\('[^']+'\)" tests/shared/*.test.ts | sort -u`
Prior harvests: `cat tmp/real-world-texts*.txt 2>/dev/null`
Delete a space only when a neighbour is CJK or fullwidth punctuation (sites like ePrice and GNN pre-space, strip that).
Keep spaces inside pure Latin and digit runs: `iPhone 15 Pro Max`, `PChome 24h`.
Comment utiliser Generate Test Texts (vinta)
1
Copie le prompt
Un clic copie le prompt packagé (ou l'envoie à ton agent).
2
L'agent installe le skill
Il ajoute le SKILL.md et ses ressources à ton projet.
3
Activation automatique
Le skill s'active dès que le contexte correspond.
Déclencheurs pour Generate Test Texts (vinta)
Dis simplement à ton agent quelque chose comme :
Applique le skill generate-test-texts__vinta-pangu-js__claude-skills-a59615a437a9 à cette tâche
Utilise generate-test-texts__vinta-pangu-js__claude-skills-a59615a437a9 pour améliorer cette implémentation
Passe en revue ce sujet avec generate-test-texts__vinta-pangu-js__claude-skills-a59615a437a9
Skills liés à Generate Test Texts (vinta)
Add New Op (Alibaba)
为 MNN 框架新增算子。包含 Schema 定义、形状计算、几何计算、后端实现、单元测试的完整 TDD 流程。分 5 步执行,每步有独立测试标准。ai-regression-testing
Regression testing strategies for AI-assisted development. Sandbox-mode API testing without database dependencies, automated bug-check workflows, and patterns to catch AI blind spots where the same model writes and reviews code. Use when adding regression coverage to AI-assisted code, or when the same model both wrote and reviewed a change.Analyze Test Report (PyTorch)
Analyze torch-tensorrt local test results and drive failures to a fix. Use when the user pastes a test report / summary, asks why tests failed, asks to triage or fix failing tests, or mentions the JUnit/test-summary output from `just tests-report` / `just test-summary`. Covers where the JUnit XMLs live, how to read the consolidated report, how to reproduce a single failure, and how to categorize (real bug vs torch-API change vs OOM/skip vs flake).