Analyze current trends in Japanese NLP for a topic. Surveys the existing awesome-japanese-nlp-resources dataset and augments it with up-to-the-minute web research to produce a digestible trend report.
npx skills add https://github.com/taishi-i/awesome-japanese-nlp-resources --skill research-trends
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 resources
japanese 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:
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.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) → JapaneseApply 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.Assists in writing high-quality content by conducting research, adding citations, improving hooks, iterating on outlines, and providing real-time feedback on each section. Transforms your writing process from solo effort to collaborative partnership.
Identifies high-quality leads for your product or service by analyzing your business, searching for target companies, and providing actionable contact strategies. Perfect for sales, business development, and marketing professionals.
Use this skill to query your Google NotebookLM notebooks directly from Claude Code for source-grounded, citation-backed answers from Gemini. Browser automation, library management, persistent auth. Drastically reduced hallucinations through document-only responses.
Efficient database search tool for bioRxiv preprint server. Use this skill when searching for life sciences preprints by keywords, authors, date ranges, or categories, retrieving paper metadata, downloading PDFs, or conducting literature reviews.
Query and analyze scholarly literature using the OpenAlex database. This skill should be used when searching for academic papers, analyzing research trends, finding works by authors or institutions, tracking citations, discovering open access publications, or conducting bibliometric analysis across 240M+ scholarly works. Use for literature searches, research output analysis, citation analysis, and academic database queries.
Access USPTO APIs for patent/trademark searches, examination history (PEDS), assignments, citations, office actions, TSDR, for IP analysis and prior art searches.
Multiagent AI system for scientific research assistance that automates research workflows from data analysis to publication. This skill should be used when generating research ideas from datasets, developing research methodologies, executing computational experiments, performing literature searches, or generating publication-ready papers in LaTeX format. Supports end-to-end research pipelines with customizable agent orchestration.
Automated LLM-driven hypothesis generation and testing on tabular datasets. Use when you want to systematically explore hypotheses about patterns in empirical data (e.g., deception detection, content analysis). Combines literature insights with data-driven hypothesis testing. For manual hypothesis formulation use hypothesis-generation; for creative ideation use scientific-brainstorming.
Take taishi-i/research-trends from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.