Compare several Japanese NLP libraries, models, or datasets for a keyword (a specific tool name, or a function/task like '形態素解析') across a handful of criteria chosen for that comparison, rendered as…
Install the "compare" agent skill from https://github.com/taishi-i/awesome-japanese-nlp-resources/tree/main/plugins/awesome-japanese-nlp-resources/skills/compare into .claude/skills/compare/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "compare", then confirm the skill loads.
Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Type this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
skills CLI
$ npx skills add taishi-i/awesome-japanese-nlp-resources --skill compare -a codex
Project install goes to .agents/skills/; add -g for ~/.codex/skills/.
Install the "compare" agent skill from https://github.com/taishi-i/awesome-japanese-nlp-resources/tree/main/plugins/awesome-japanese-nlp-resources/skills/compare into .agents/skills/compare/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "compare", then confirm the skill loads.
Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skills CLI
$ npx skills add taishi-i/awesome-japanese-nlp-resources --skill compare -a cursor
Project install goes to .agents/skills/; add -g for ~/.cursor/skills/.
Install the "compare" agent skill from https://github.com/taishi-i/awesome-japanese-nlp-resources/tree/main/plugins/awesome-japanese-nlp-resources/skills/compare into .cursor/skills/compare/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "compare", then confirm the skill loads.
Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
skills CLI
$ npx skills add taishi-i/awesome-japanese-nlp-resources --skill compare -a gemini-cli
Project install goes to .agents/skills/; add -g for ~/.gemini/skills/.
Install the "compare" agent skill from https://github.com/taishi-i/awesome-japanese-nlp-resources/tree/main/plugins/awesome-japanese-nlp-resources/skills/compare into .gemini/skills/compare/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "compare", then confirm the skill loads.
Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Installs for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
skills CLI
$ npx skills add taishi-i/awesome-japanese-nlp-resources --skill compare -a github-copilot
Project install goes to .agents/skills/; add -g for ~/.copilot/skills/.
Install the "compare" agent skill from https://github.com/taishi-i/awesome-japanese-nlp-resources/tree/main/plugins/awesome-japanese-nlp-resources/skills/compare into .github/skills/compare/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "compare", then confirm the skill loads.
GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skills CLI
$ npx skills add taishi-i/awesome-japanese-nlp-resources --skill compare -a opencode
OpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
Install the "compare" agent skill from https://github.com/taishi-i/awesome-japanese-nlp-resources/tree/main/plugins/awesome-japanese-nlp-resources/skills/compare into .opencode/skills/compare/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "compare", then confirm the skill loads.
OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Facts
Skill name
compare
GitHub stars
1k
Token cost
~4.1k tokens
SKILL.md length
1,143 words
Files
2
Skills in repo
4
Repo updated
First seen
Licence
CC0-1.0
At a glance
Compare several Japanese NLP libraries, models, or datasets for a keyword (a specific tool name, or a function/task like '形態素解析') across a handful of criteria chosen for that comparison, rendered as…
Works in 8 steps: Validate input → Classify the input: seed mode or topic… → Locate the data file → …
The user wants a side-by-side comparison of multiple Japanese NLP tools/libraries/datasets
SKILL.md covers Claude Code and Codex and Instructions
Reaches github.com
What it does
Compare is an agent skill from taishi-i/awesome-japanese-nlp-resources. Compare several Japanese NLP libraries, models, or datasets for a keyword (a specific tool name, or a function/task like '形態素解析') across a handful of criteria chosen for that comparison, rendered as a ○/△/✕ table. Use when the user wants a side-by-side comparison of multiple Japanese NLP tools/libraries/datasets, not just the single best one. Trigger phrases include 'X と Y と Z を比較して', '形態素解析ライブラリを比較', 'MeCab と Sudachi どっちがいい', 'どのツールを使うべき', 'compare japanese tokenizers', 'mecab vs sudachi vs janome', 'which…
Its SKILL.md is about 4.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `agents/openai.yaml`).
It sits in AI & LLM Engineering, covering Natural language processing and Embeddings. The repository describes itself as: A curated list of resources for Japanese natural language processing (NLP): Python libraries, LLMs, dictionaries, corpora, and datasets. Includes Claude Code and Codex skills to… The licence is CC0-1.0.
When your agent uses it
The user wants a side-by-side comparison of multiple Japanese NLP tools/libraries/datasets
Read from SKILL.md and the folder at commit 451770b. It shows what the files ask for, not the result of running them.
Tool permissions
Pre-approves these tools, so the agent can use them without asking each time:
Bash
WebSearch
WebFetch
From allowed-tools in the SKILL.md frontmatter.
Runs code
No scripts in the folder and no shell commands in SKILL.md (its code samples are python and bash).
From the folder's file list and the shell code blocks in SKILL.md.
Network
Hosts in commands or code, which the agent is likely to contact:
github.com
From URLs in SKILL.md, links to its own repository left out.
Credentials
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Context cost
Compare loads about 4.1k tokens when it runs. Until then it costs about 189 tokens; SKILL.md has 1,143 words of instructions outside code blocks.
Always· name and description, kept in context so the agent knows when to use it
~189
When it runs· the whole SKILL.md, loaded when a task matches
~4.1k
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
Safety
Auto-check: notes
The automated check noted patterns worth knowing about, such as sudo or a known installer.
NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
allowed-tools: Bash, WebSearch, WebFetch
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
Download SKILL.mdSave it as .claude/skills/compare/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
compare
description
Compare several Japanese NLP libraries, models, or datasets for a keyword (a specific tool name, or a function/task like '形態素解析') across a handful of criteria chosen for that comparison, rendered as a ○/△/✕ table. Use when the user wants a side-by-side comparison of multiple Japanese NLP tools/libraries/datasets, not just the single best one. Trigger phrases include 'X と Y と Z を比較して', '形態素解析ライブラリを比較', 'MeCab と Sudachi どっちがいい', 'どのツールを使うべき', 'compare japanese tokenizers', 'mecab vs sudachi vs janome', 'which embedding model should I use', '日本語NERライブラリの比較表', 'pros and cons of japanese OCR tools'. For a single ranked list use search; for alternatives to one specific tool (or contribution candidates) without a multi-axis table, use discover.
allowed-tools
Bash, WebSearch, WebFetch
argument-hint
tool-name | topic
Compare Japanese NLP resources for the user's query across a few criteria, as a table.
Claude Code and Codex
This skill is shared by the Claude Code and Codex versions of the plugin. The steps are the same in both tools; only these details differ:
Query — Claude Code: the arguments of /awesome-japanese-nlp-resources:compare, appended at the end of this skill as ARGUMENTS: …. Codex: the user's message that invoked $awesome-japanese-nlp-resources:compare, minus that $… mention. If the skill was picked automatically rather than invoked by name, use the user's request as the query.
Plugin root — Claude Code: ${CLAUDE_PLUGIN_ROOT}. Codex: the directory two levels above this SKILL.md (use its absolute path).
Shell — run the commands below with Claude Code's Bash tool or Codex's shell tool. Copy each Python script in full and run it as written, changing only its placeholders (RESOURCES_PATH, SEED, the keyword list) — don't shorten it, drop passes, or alter its scores and thresholds.
Web — Claude Code: WebSearch to search and WebFetch to read a page. Codex: the built-in web search tool (search, then open the page). Do not use the gh CLI, curl, or other network commands from the shell.
Commands — write any command you show the user in the current tool's form: /awesome-japanese-nlp-resources:<skill> in Claude Code, $awesome-japanese-nlp-resources:<skill> in Codex.
Candidates come from the bundled data (Step 3), topped up from the web only as Step 4 describes. If the data file can't be read (for example, shell commands are blocked or fail to start), say so and link https://github.com/taishi-i/awesome-japanese-nlp-resources instead of building the comparison from memory alone.
Instructions
Step 0 — Validate input
If the query is empty or blank, stop immediately and output (in Codex, write the commands with $ instead of /):
Usage: /awesome-japanese-nlp-resources:compare <tool-name | topic>
Examples:
/awesome-japanese-nlp-resources:compare mecab
/awesome-japanese-nlp-resources:compare 形態素解析
/awesome-japanese-nlp-resources:compare japanese sentence embedding models
/awesome-japanese-nlp-resources:compare OCR
Pass a tool name (to compare it against its closest alternatives) or a topic/function (to compare the leading options for that task).
---
使い方: /awesome-japanese-nlp-resources:compare <ツール名 | トピック>
例:
/awesome-japanese-nlp-resources:compare mecab
/awesome-japanese-nlp-resources:compare 形態素解析
/awesome-japanese-nlp-resources:compare 日本語 文埋め込み モデル
/awesome-japanese-nlp-resources:compare OCR
比較したいツール名(その代替と比較)、またはトピック/機能名(その分野の主要な選択肢を比較)を引数に指定してください。
Do not proceed if the query is empty. Unlike discover, this skill has no empty-argument default — a comparison needs something to compare.
Step 1 — Classify the input: seed mode or topic mode
Seed mode — names ONE specific existing tool/library/model (a full GitHub/Hugging Face URL, owner/repo, or a bare tool name, e.g. mecab, fugashi). Pass it through as SEED and proceed to Step 3 in seed mode — the comparison set will be the seed plus its closest peers.
Topic mode — a descriptive/functional phrase with no single specific name (e.g. 形態素解析, japanese sentence embedding models, OCR). Proceed to Step 3 in topic mode — the comparison set will be the leading local matches for the topic.
Step 2 — Locate the data file
bash
PLUGIN_ROOT="${CLAUDE_PLUGIN_ROOT}" # Codex: replace with the plugin root, two levels above this SKILL.md
RESOURCES_PATH="$PLUGIN_ROOT/data/resources.json"
[ -f "$RESOURCES_PATH" ] || RESOURCES_PATH="$(find "${CODEX_HOME:-$HOME/.codex}/plugins" "${HOME}/.claude/plugins" -type f -name resources.json 2>/dev/null | grep "awesome-japanese-nlp-resources/" | head -1)"
echo "RESOURCES_PATH=$RESOURCES_PATH"
Write the resulting absolute path into the Step 3 script — shell variables may not persist between commands.
The plugin also ships data/multilingual_resources.json (same item format) listing multilingual libraries, models, and datasets (GitHub repositories) that also support Japanese, from docs/multilingual.md. The scripts below load it automatically when it exists; its items have categories like Multilingual (Speech recognition).
Do not read resources.json directly (no Read tool, cat, or head). Run one of the two scripts below, substituting RESOURCES_PATH (Step 2) and, for seed mode, SEED (from Step 1).
Seed mode — locate the seed and score peers by shared category, shared semantic labels, and shared description tokens (IDF-weighted):
python
python3 << 'EOF'
import json, re, math, os
from collections import Counter
RESOURCES_PATH = "RESOURCES_PATH" # from Step 2
SEED_RAW = "SEED" # from Step 1
with open(RESOURCES_PATH) as f:
data = json.load(f)
multilingual_path = os.path.join(os.path.dirname(RESOURCES_PATH), "multilingual_resources.json")
if os.path.exists(multilingual_path):
with open(multilingual_path) as f:
data += json.load(f)
N = len(data)
STOP = {
"the","and","for","with","that","this","from","into","your","you","are","was",
"japanese","nlp","python","library","tool","tools","text","based","using","use",
"used","language","data","model","models","repository","repo","support","simple",
"fast","easy","also","can","via","etc","https","http","github","com","www","org",
"not","but","all","any","other","such","more","most","than","its","each","which",
}
def norm_url(u): return (u or "").lower().rstrip("/")
def subs_of(it): return set(t.strip().lower() for t in (it.get("s") or []))
def family(c): return (c or "").split("(")[0].strip().lower()
def toks(text):
return set(w for w in re.findall(r"[a-z0-9]+", (text or "").lower())
if len(w) >= 4 and w not in STOP)
seed = SEED_RAW.strip().lower().rstrip("/")
gh_m = re.search(r"github\.com/([^/#?]+/[^/#?]+)", seed)
hf_m = re.search(r"huggingface\.co/(?:datasets/)?([^/#?]+/[^/#?]+)", seed)
slug = (gh_m or hf_m).group(1) if (gh_m or hf_m) else (seed if seed.count("/") == 1 else None)
basename = seed.split("/")[-1]
def find_matches():
exact = [x for x in data if norm_url(x["u"]) == seed]
if exact: return exact, "exact URL"
if slug:
sm = [x for x in data if norm_url(x["u"]).endswith("/" + slug)]
if sm: return sm, "owner/repo"
return [], None
nm = [x for x in data if x["n"].lower() == basename]
if nm: return nm, "name"
loose = [x for x in data if basename and (basename in x["n"].lower() or ("/" + basename) in norm_url(x["u"]))]
if loose: return loose, "loose substring"
return [], None
matches, how = find_matches()
matches.sort(key=lambda x: -(max(x.get("ns") or 0, x.get("nd") or 0)))
seed_item = matches[0] if matches else None
if not seed_item:
print("SEED_NOT_FOUND")
raise SystemExit
print(f"SEED_FOUND via {how}: {seed_item['n']}")
print(f" url={seed_item['u']} c={seed_item['c']}")
print(f" d={seed_item.get('d','')[:200]}")
print()
sub_df, tok_df = Counter(), Counter()
for x in data:
for s in subs_of(x): sub_df[s] += 1
for t in toks((x.get("d") or "") + " " + x["n"] + " " + " ".join(x.get("s") or [])): tok_df[t] += 1
def idf_sub(l): return max(0.0, math.log(N / sub_df.get(l, 1)) - 1.5)
def idf_tok(t): return max(0.0, math.log(N / tok_df.get(t, 1)) - 1.5)
seed_cat = seed_item["c"]; seed_fam = family(seed_cat)
seed_subs = subs_of(seed_item)
seed_tok = toks((seed_item.get("d") or "") + " " + seed_item["n"] + " " + " ".join(seed_item.get("s") or []))
seed_name = seed_item["n"].lower()
seed_urls = {norm_url(seed_item["u"])} | {norm_url(x["u"]) for x in matches if x["n"].lower() == seed_name}
results = []
for x in data:
if x.get("status") == "not_found" or norm_url(x["u"]) in seed_urls:
continue
score = 0.0
if x["c"] == seed_cat: score += 10
elif family(x["c"]) == seed_fam: score += 5
sh_subs = seed_subs & subs_of(x)
score += 3.0 * sum(idf_sub(l) for l in sh_subs)
sh_tok = seed_tok & toks((x.get("d") or "") + " " + x["n"] + " " + " ".join(x.get("s") or []))
score += 1.5 * sum(idf_tok(t) for t in sh_tok)
if score < 8.0:
continue
pop = max(x.get("ns") or 0, x.get("nd") or 0)
results.append((score + 0.5 * pop, x))
results.sort(key=lambda r: -r[0])
print(f"=== CANDIDATES ({len(results)} peers found; seed + top 6 shown) ===")
print(f"[seed] n={seed_item['n']} u={seed_item['u']} c={seed_item['c']} d={seed_item.get('d','')[:150]}")
for score, x in results[:6]:
print(f"score={score:.1f} n={x['n']} u={x['u']} c={x['c']} d={x.get('d','')[:150]}")
EOF
Topic mode — score by keyword match (3–5 stems from Step 1, same conventions as search):
python
python3 << 'EOF'
import json, os
with open("RESOURCES_PATH") as f: # from Step 2
data = json.load(f)
multilingual_path = os.path.join(os.path.dirname("RESOURCES_PATH"), "multilingual_resources.json")
if os.path.exists(multilingual_path):
with open(multilingual_path) as f:
data += json.load(f)
keywords = ["keyword1", "keyword2", "keyword3"] # short stems, from Step 1
results = []
for item in data:
if item.get("status") == "not_found":
continue
n = item.get("n", "").lower(); d = item.get("d", "").lower()
s = " ".join(item.get("s") or []).lower(); c = item.get("c", "").lower()
al = " ".join(item.get("al") or []).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 kw in al: text_score += 10
if text_score < 8:
continue
ns = item.get("ns") or 0; nd = item.get("nd") or 0
results.append((text_score + max(ns, nd) * 2.5, item))
results.sort(key=lambda x: -x[0])
print(f"=== CANDIDATES ({len(results)} matches; top 6 shown) ===")
for combined, item in results[:6]:
print(f"score={combined:.1f} n={item['n']} u={item['u']} c={item['c']} d={item.get('d','')[:150]}")
EOF
Step 4 — Select the comparison set
From Step 3's output, pick 3–6 candidates for the table:
Seed mode: the seed itself plus its 2–5 closest peers (drop peers that don't actually do a comparable job, even if they scored).
Topic mode: the top 3–6 matches, preferring ones that are genuinely distinct approaches rather than near-duplicates (e.g. don't list mecab and 3 thin wrappers around mecab as if they were independent options — pick the one or two that matter, plus other real alternatives).
If fewer than 3 solid local candidates exist, run 2–3 web searches (<topic-en> japanese library, japanese <topic-en> alternatives, <topic-en> japanese huggingface) to find 1–3 more well-known options. You don't need to filter these against the dataset the way discover does — the goal here is just enough real, comparable candidates for a meaningful table, not a completeness audit.
If, even after this, fewer than 2 comparable resources exist, stop and say so — a 1-row table isn't a comparison. Suggest running the search skill with the same query instead.
Show full SKILL.md (477 more words)Show less
Step 5 — Choose comparison axes
Pick 3–5 axes that a practitioner would actually use to decide between these specific candidates — do not reuse a generic checklist. Good axes:
Actually differ across the candidates (an axis where every row is the same is not useful — drop it).
Are concrete and checkable, not vague ("license" or "supports custom dictionaries", not "good" or "quality").
Are relevant to the domain. Examples of the kind of axis to look for (not a fixed list — invent axes suited to the actual topic):
Libraries/tools: speed, ease of installation/setup, customization (e.g. custom dictionaries, fine-tuning support), language/platform coverage, license permissiveness, active maintenance
Models: parameter count / resource requirements, context length, license permissiveness, Japanese-specific tuning vs. multilingual, benchmark performance if known
Start from the dataset's d/d_ja/s/st/lc fields as a first signal.
Fetch each candidate's page (repo README or model card) whenever a rating would otherwise be a guess — required for any claim about license, specific feature support, or benchmark numbers you are not already confident about from well-established knowledge. Cap at 6 page fetches (one per candidate), issued in parallel where possible. In Claude Code, call WebFetch as below; in Codex, open the page with the web search tool and extract the same fields:
WebFetch url="https://github.com/<owner>/<repo>" prompt="Extract as JSON: license, key features relevant to <the chosen axes>, install/setup complexity, and any explicit limitations mentioned. If a field is unavailable, set it to null."
For extremely well-known tools/axes where you have high confidence without fetching (e.g. "MeCab is written in C++ and is fast" is common knowledge), it's fine to skip the fetch — but say so is not required per-cell; just don't invent a rating you aren't reasonably confident in. When genuinely uncertain, rate △ rather than guessing ○ or ✕.
Step 7 — Format the output
Language detection rule:
The query contains Japanese characters (hiragana / katakana / kanji) → Japanese
Otherwise → English (default)
## Comparison: "<query>"
| Resource | <Axis 1> | <Axis 2> | <Axis 3> | <Axis 4> |
|---|---|---|---|---|
| [name](url) | ○ | △ | ○ | ✕ |
| [name](url) | ○ | ○ | △ | ○ |
○ = clearly supports / strong · △ = partial or unverified · ✕ = does not support / weak
**Notes:**
- [name]: one-line justification for any △ or ✕ rating that isn't self-evident.
- [name]: ...
**Recommendation:**
- If <priority A> matters most: [name](url) — why.
- If <priority B> matters most: [name](url) — why.
Sources (if you searched the web or fetched pages):
- [Title](https://...)
Japanese output template: mirror the structure with ## 比較: "<query>", **注記:**, **おすすめ:**, keeping the ○/△/✕ symbols and legend as-is (they're already language-neutral).
Rules:
3–6 rows, 3–5 columns — this is meant to be scannable at a glance, not exhaustive. If you have more good candidates than fit, keep the most relevant/popular ones and mention in a closing line that others exist (pointing to the search or discover skill, written in the current tool's command form).
Every non-obvious △/✕ needs a one-line reason in Notes — a bare symbol with no justification is not trustworthy.
Don't pad the table with an axis just to hit a target column count; 3 solid axes beat 5 where two are filler.
If you searched the web or fetched pages, Sources: is mandatory.
Compare next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
Compare compared with similar skills
Skill
Stars
Used in
Tokens
Auto-check
Licence
Repo updated
Compare this skilltaishi-i/awesome-japanese-nlp-resources
Generates text embeddings locally with the sentence-transformers library for RAG, semantic search, clustering and similarity, with model picks for general, multilingual and legal text.
Basic Chinese NLP and text analysis workflows for PDF text/table extraction, jieba tokenization, word and sentence frequency, word clouds, TF-IDF, Word2Vec, sentence embeddings, and text similarity.
A skill your agent uses when choosing how to tokenize text or which transformer type fits an NLP task, when a tokenizer over-fragments non-English text or inflates token cost, when picking a…
Tokenize, tag, and analyze natural language text using Apple's NaturalLanguage framework and translate between languages with the Translation framework.
Given a Japanese NLP GitHub repo/model/dataset (URL / owner/repo / tool name) OR a topic, find what's already in awesome-japanese-nlp-resources and discover related resources NOT yet listed…
Compare several Japanese NLP libraries, models, or datasets for a keyword (a specific tool name, or a function/task like '形態素解析') across a handful of criteria chosen for that comparison, rendered as…. Compare is an agent skill from taishi-i/awesome-japanese-nlp-resources. Compare several Japanese NLP libraries, models, or datasets for a keyword (a specific tool name, or a function/task like '形態素解析') across a handful of criteria chosen for that comparison, rendered as a ○/△/✕ table.
When should I use Compare?
Compare fits situations like: the user wants a side-by-side comparison of multiple Japanese NLP tools/libraries/datasets; not just the single best one; phrases include X と Y と Z を比較して; meCab と Sudachi どっちがいい.
How do I install Compare in Claude Code?
Run `npx skills add taishi-i/awesome-japanese-nlp-resources --skill compare -a claude-code`. Or copy the skill folder (plugins/awesome-japanese-nlp-resources/skills/compare in taishi-i/awesome-japanese-nlp-resources) into .claude/skills/compare in your project. Claude Code loads it when a task matches its description.
How do I install Compare in Codex?
Run `npx skills add taishi-i/awesome-japanese-nlp-resources --skill compare -a codex`. Or copy the skill folder (plugins/awesome-japanese-nlp-resources/skills/compare in taishi-i/awesome-japanese-nlp-resources) into .agents/skills/compare in your project. Codex loads it when a task matches its description.
Can I use Compare in Cursor, Gemini CLI or GitHub Copilot?
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add taishi-i/awesome-japanese-nlp-resources --skill compare -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/compare, .gemini/skills/compare, .github/skills/compare and .opencode/skills/compare in your project.
What does Compare need to run?
SKILL.md names no scripts, command-line tools or credentials: Compare is instructions for the agent only. Our summary lists: Python 3. Its frontmatter pre-approves these tools: Bash, WebSearch, WebFetch.
Does Compare access the network?
SKILL.md names 1 domain. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Is Compare safe to install?
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
What licence does Compare use?
Compare is published under the CC0-1.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
How many tokens does Compare use?
About 4.1k tokens (SKILL.md is roughly 16k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
What are the alternatives to Compare?
Skills that share tags, products or a category with Compare: Sentence Transformers Embeddings (Orchestra-Research/AI-Research-SKILLs, 13k stars), Scholar Compute (joshzyj/open-scholar-skill, 168 stars), NLP Preprocessing Toolkit (revfactory/harness-100, 1.3k stars) and Text Analysis Basic (Drchronx/ai-agent-research-starter-kit, 139 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Who maintains Compare?
taishi-i (a GitHub user) maintains it in taishi-i/awesome-japanese-nlp-resources, which has 1,021 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on October 6, 2026.