Research Japanese NLP trends for topic: "$ARGUMENTS" by combining the bundled dataset with the latest web information.
Before doing anything else, run this once and remember the values — every subsequent step that mentions a year, month, or report date refers to them:
echo "YEAR_NOW=$(date +%Y)"
echo "YEAR_PREV=$(($(date +%Y) - 1))"
echo "REPORT_DATE_EN=$(LC_TIME=C date '+%B %Y')"
echo "REPORT_DATE_JP=$(date '+%Y年%-m月')"
Substitute these values everywhere this skill writes ${YEAR_NOW}, ${YEAR_PREV}, ${REPORT_DATE_EN}, or ${REPORT_DATE_JP} below. Do not hardcode dates — the skill must always reflect the current month.
If $ARGUMENTS is empty or blank, treat it as a request for a general overview of current Japanese NLP trends. Use the following defaults for the rest of the steps:
japanese nlp, llm, bert, embed, speech, morpholog, translat
— These broad keywords give a cross-category snapshot of the most popular resourcesjapanese NLP trends ${YEAR_NOW} overview
日本語 NLP 最新動向 ${YEAR_NOW}
japanese LLM embedding benchmark ${YEAR_NOW} github
日本語 自然言語処理 注目 モデル ${YEAR_NOW}
huggingface japanese models trending ${YEAR_NOW}
## 📊 Japanese NLP Trend Report (as of ${REPORT_DATE_EN}) instead of ## 📊 Trend Report for "$ARGUMENTS" (use ## 📊 日本語NLP 全体トレンドレポート (${REPORT_DATE_JP}時点) only when output language is Japanese)Then continue normally from Step 1 using the above defaults.
The user's topic is: "$ARGUMENTS"
Generate two keyword sets:
English stem keywords (4–6) for searching the local dataset (descriptions are mostly English). Use stems like morpholog, embed, classif, translat, generat, recogni, etc. Add well-known Japanese-specific tool/model names where applicable: mecab, sudachi, ginza, bert, gpt, llama, swallow, elyza, rinna, calm, ruri, whisper, voicevox, manga-ocr, jglue, llm-jp-eval, etc.
Web search phrases (3–5) mixing English and Japanese for the latest information.
The data file ships with the plugin. Resolve its path via ${CLAUDE_PLUGIN_ROOT} (Claude Code substitutes this inline in skill content), falling back to a scoped search only if the install is unusual:
RESOURCES_PATH="${CLAUDE_PLUGIN_ROOT}/data/resources.json"
[ -f "$RESOURCES_PATH" ] || RESOURCES_PATH="$(find "${HOME}/.claude/plugins" -type f -name resources.json 2>/dev/null | grep "awesome-japanese-nlp-resources/" | head -1)"
echo "RESOURCES_PATH=$RESOURCES_PATH"
Save the resulting absolute path as RESOURCES_PATH.
Do NOT use the Read tool on resources.json — it exceeds the read limit. Run this Python block in Bash, substituting RESOURCES_PATH and your English stem keywords:
python3 << 'EOF'
import json
from collections import Counter
with open("RESOURCES_PATH") as f:
data = json.load(f)
keywords = ["keyword1", "keyword2", "keyword3"] # English stems from Step 1
results = []
for item in data:
n = item.get("n", "").lower()
d = item.get("d", "").lower()
s = item.get("s", "").lower()
c = item.get("c", "").lower()
text_score = 0
for kw in keywords:
kw = kw.lower()
if n == kw: text_score += 20
elif kw in n: text_score += 10
if kw in d: text_score += 5
if kw in s: text_score += 3
if kw in c: text_score += 2
if text_score < 8:
continue
ns = item.get("ns") or 0
nd = item.get("nd") or 0
sc = item.get("sc") or 0
pop = (ns if ns else nd) * 2.5
qual = min(5, sc * 5 / 21)
combined = text_score + pop + qual
results.append((combined, text_score, item))
results.sort(key=lambda x: -x[0])
# Print top 10 for the trend snapshot
print("=== TOP MATCHES ===")
for combined, ts, item in results[:10]:
st = item.get("st", 0) or 0
dl = item.get("dl", 0) or 0
print(f"score={combined:.1f} | {item.get('c','')} | ⭐{st} 📥{dl}")
print(f" n={item['n']}")
print(f" u={item['u']}")
print(f" d={item.get('d','')[:120]}")
print()
# Print category distribution of full result set
print("=== CATEGORY DISTRIBUTION ===")
cats = Counter(item.get("c", "") for _, _, item in results)
for cat, count in cats.most_common(8):
print(f" {count:3d} {cat}")
EOF
This gives you:
Before searching the web, decide what to look for. Based on the survey in Step 3, ask:
Use these angles to shape Step 5's queries.
Use WebSearch + WebFetch only — do not use the gh CLI in this project.
Run 4–6 WebSearch queries. Always include ${YEAR_NOW} (and optionally ${YEAR_PREV}) to bias toward recency. Mix English and Japanese:
Japanese NLP <topic-en> ${YEAR_NOW}
日本語 <topic> 最新 モデル ${YEAR_NOW}
arxiv japanese <topic-en> ${YEAR_PREV} ${YEAR_NOW}
huggingface japanese <topic-en> new release
<topic-en> github trending japanese ${YEAR_NOW}
<topic-en> jp benchmark ${YEAR_NOW}, 日本語 <topic> 評価
When a specific high-value URL surfaces (e.g. an arXiv abstract, a HuggingFace model card, a blog post announcing a release), use WebFetch to extract details:
WebFetch url="https://..." prompt="Extract: release date, model/library name, key contribution, GitHub/HuggingFace URL if any, parameter count or dataset size if applicable."
Limit WebFetch to at most 3 calls to keep latency in check.
Combine signals:
/awesome-japanese-nlp-resources:find-new-resources "$ARGUMENTS"; mention this in section 4 of the output.Language detection rule (apply before writing any output):
$ARGUMENTS is empty → English
$ARGUMENTS contains Japanese characters (hiragana / katakana / kanji) → Japanese
Apply the detected language to all headings and prose.
English output template (default):
## 📊 Trend Report for "$ARGUMENTS" (as of ${REPORT_DATE_EN})
### 1. Overview
2–3 sentence summary. "The current focus is X, the latest trend is Y, and the highlight is Z."
### 2. Current Resources (awesome-japanese-nlp-resources)
Top 5 resources:
| # | Resource | Category | Popularity | Summary |
|---|---|---|---|---|
| 1 | [name](url) | category | ⭐N or 📥N | 10–15 word summary |
| 2 | ... | ... | ... | ... |
Category distribution: <Python library: 45, HuggingFace Model: 30, ...>
Maturity comment: 1–2 sentences. Assessment of "mature / growing / sparse."
### 3. Latest Trends (from the web)
- **<date or year-month>** — <finding>. <URL>
- **YYYY-MM** — `XYZ-LLM-7B` released, achieves SOTA on Japanese JGLUE, N downloads on HuggingFace. https://huggingface.co/...
- ... (3–6 items)
### 4. Key Takeaways
- **Direction**: <directional signal 1 and 2>
- **Gaps**: important resources not yet in the list
- <name> (https://...) — short reason
- ... (if any)
- **Next step**: run `/awesome-japanese-nlp-resources:find-new-resources "$ARGUMENTS"` to get the full candidate list
### 5. References
(See the Sources section below)
Sources:
- [Title 1](https://...)
- [Title 2](https://...)
Japanese output template (when query is in Japanese):
## 📊 "$ARGUMENTS" トレンドレポート (${REPORT_DATE_JP}時点)
### 1. 概要
2–3 文の要約。「現状の中心は X、最新の動向は Y、注目は Z」のように端的に。
### 2. 既存リソースの現状 (awesome-japanese-nlp-resources)
代表的なリソース top 5:
| # | リソース | カテゴリ | 人気度 | 一言 |
|---|---|---|---|---|
| 1 | [name](url) | category | ⭐N or 📥N | 10–15 字の要約 |
| 2 | ... | ... | ... | ... |
カテゴリ分布: <Python library: 45, HuggingFace Model: 30, ...>
成熟度コメント: 1–2 文。「成熟・拡大期・空白期」の判定。
### 3. 最新トレンド (Web より)
- **<日付 or 年月>** — <発見事項>。<関連 URL>
- **YYYY-MM** — `XYZ-LLM-7B` 公開、日本語 JGLUE で SOTA、HuggingFace で N DL。 https://huggingface.co/...
- ... (3–6 項目)
### 4. 注目ポイント
- **方向性**: <directional signal 1 と 2>
- **ギャップ**: 既存リストに未収録の重要リソース
- <name> (https://...) — 短い理由
- ... (もしあれば)
- **次の一手**: `/awesome-japanese-nlp-resources:find-new-resources "$ARGUMENTS"` を実行すると候補一覧を取得できる
### 5. 参考リンク
(下の Sources セクションを参照)
Sources:
- [Title 1](https://...)
- [Title 2](https://...)
Rules:
Sources: block at the very end is mandatory — WebSearch results require it.