A skill that helps Japanese developers build English skills naturally through everyday coding. The agent always responds in English with inline vocabulary support — no English lessons, just real coding assistance that happens to teach you English along the way.
This skill follows the open Agent Skills standard.
- Japanese developers who want to get comfortable coding in English
- Developers who struggle with English documentation and technical writing
- Anyone who wants to improve their English naturally through daily development work
- Claude Code (Plugin or manual install)
- OpenAI Codex CLI (via Skills CLI)
- Cursor (via Skills CLI)
- Any agent supporting the Agent Skills format
| Feature | Description |
|---|---|
| Inline vocabulary annotations | difficult-word (simpler synonym / 日本語) — difficult words get English synonym + Japanese translation |
| Bold main verbs | Main verbs are bolded to make sentence structure easier to read |
| One sentence per line | Each sentence gets its own line for easier reading |
jp: summary |
Brief Japanese summary of the response content at the end |
You: この関数がnullを返すんだけど原因わかる?
Claude Code:
The function returns null because the conditional check on line 12 doesn't account for (fails to handle / 考慮していない) empty arrays. When
items.lengthis zero, the early return triggers before the main logic executes.if (!items || items.length === 0) { return null; // ← this is the cause }You should replace this with a fallback (default value / デフォルト値) that returns an empty result instead of null.
jp: items が空配列のとき早期リターンで null を返している。空の結果を返すように修正すべき。
You: このAPIのエラーハンドリング、もっと良くできない?
Claude Code:
The current error handling catches all exceptions with a generic (general-purpose / 汎用的な) catch block. This obscures (hides / 隠す) the root cause and makes debugging harder.
I'd suggest we distinguish (separate / 区別する) between client errors and server errors:
try { const response = await fetch(url); if (!response.ok) { throw new HttpError(response.status, response.statusText); } return await response.json(); } catch (error) { if (error instanceof HttpError) { logger.warn(`Client error: ${error.status}`); } else { logger.error('Unexpected failure', error); } throw error; }This provides better observability (ability to monitor / 監視のしやすさ) and helps you pinpoint (identify exactly / 正確に特定する) issues in production.
jp: 汎用catchを廃止し、クライアントエラーとサーバーエラーを分けてログ出力。本番でのデバッグが容易になる。
You: ページネーション実装したいんだけど、cursor方式とoffset方式どっちがいい?
Claude Code:
It depends on your use case.
Offset-based pagination is straightforward (simple / シンプル) to implement, but it suffers from (has problems with / 問題がある) data inconsistency when rows are inserted or deleted between requests.
Cursor-based pagination eliminates (removes completely / 完全に解消する) that problem because each page is anchored to a specific record, not a numeric position.
For your case — a feed with frequently (often / 頻繁に) updated content — cursor-based is the better fit. The trade-off (compromise / トレードオフ) is that users can't jump to an arbitrary (any chosen / 任意の) page number.
jp: 更新頻度が高いフィードにはcursor方式が適切。offset方式はデータ追加削除時にずれが生じる。ただしページ番号ジャンプはできない。
Run these commands inside Claude Code (/ commands are Claude Code built-in):
# Step 1: Add the marketplace
/plugin marketplace add enumura1/english-coding-coach
# Step 2: Install the plugin
/plugin install english-coding-coachRequires Node.js installed.
npx skills add enumura1/english-coding-coachCopy skills/english-coaching/ folder to your project's .claude/skills/ directory.
- You write in Japanese or English — either is fine
- Claude Code always responds in English with inline vocabulary support
- No setup, no commands — just start coding
- Coding first — English learning is a side effect, not the main purpose
- No over-annotation — annotations stay under ~10% of non-code text
- Code stays clean — no annotations inside code blocks
- No escape hatch —
jp:summarizes content but doesn't translate everything, so you still engage with the English text
english-coding-coach/
├── .claude-plugin/
│ └── plugin.json # Plugin manifest
├── skills/
│ └── english-coaching/
│ ├── SKILL.md # Skill instructions (loaded when activated)
│ └── references/
│ └── vocabulary.md # Word lists (loaded on demand)
├── CLAUDE.md # Project instructions (for this repo's own dev)
├── marketplace.json # Self-hosted marketplace definition
├── LICENSE # MIT
└── README.md
- Claude Code or any compatible agent installed
- No additional dependencies
MIT