Borrowing it
Nothing to install: this file belongs to akaghef/M3E. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/akaghef/M3E/main/.claude/skills/m3e-shortcuts/SKILL.mdgit clone --depth 1 https://github.com/akaghef/M3EWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/akaghef/m3e/m3e-shortcuts)<a href="https://agentmods.dev/skills/akaghef/m3e/m3e-shortcuts"><img src="https://agentmods.dev/badge/skills/akaghef/m3e/m3e-shortcuts/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/akaghef/m3e/m3e-shortcuts"><img src="https://agentmods.dev/badge/skills/akaghef/m3e/m3e-shortcuts.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00089 | $0.01742 |
| Opus 5.5 | $0.00036 | $0.00697 |
| Sonnet 5.5 | $0.00018 | $0.00348 |
| Haiku 4.5 | $0.00009 | $0.00174 |
Grade A, and why
m3e-shortcuts scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 135 lines — stays where its author put it; the contents beside it link to each section on GitHub.
M3E Keyboard Shortcut Guide
M3Eのキーボードショートカットは final/src/browser/viewer.ts 内のグローバル keydown イベントハンドラで管理されている。ショートカット設定ファイルやレジストリは無く、if/else chainで直接記述するスタイル。
ワークフロー
ショートカットの追加・編集・削除は以下の順序で行う。
1. 仕様ドキュメントを確認する
まず以下のドキュメントを読み、現在のキー割り当てとアクション定義を把握する。
| ファイル | 内容 |
|---|---|
docs/06_Operations/Keybindings_Beta.md |
キー → アクション名のマッピング(全キーの一覧) |
docs/06_Operations/Actions_Beta.md |
アクション名 → 説明・備考 |
これらが「仕様」であり、実装の正解はここに書かれている。衝突チェックもこのドキュメントで行う。
2. 実装する
実装対象は final/src/browser/viewer.ts の keydown ハンドラ。詳細は後述の「実装ガイド」を参照。
3. 仕様ドキュメントを更新する
実装が完了したら、変更内容に応じて Keybindings_Beta.md と Actions_Beta.md を更新する。
- 新規ショートカット → 両方に追記
- キー変更 →
Keybindings_Beta.mdを更新 - アクション動作変更 →
Actions_Beta.mdを更新 - 削除 → 両方から該当行を削除(
Keybindings_Beta.md側は—に戻す)
4. チートシートを更新する
ショートカット一覧のオーバーレイ(Ctrl/Alt 長押しで表示)は viewer.html 内の #shortcut-cheatsheet にハードコードされている。ショートカットを変更したら必ずこの HTML も同期させること。
- 対象:
beta/viewer.html(および同期時にfinal/viewer.html)内の<div id="shortcut-cheatsheet">ブロック - 構造: 2カラム × 複数グループ(Navigation / Editing / View / Clipboard / Structure / Thinking Mode)
- 各行のフォーマット:
<div class="cheatsheet-row"><kbd>キー</kbd><span>説明</span></div>
変更パターン:
- 新規ショートカット → 該当グループに行を追加
- キー変更 →
<kbd>内のキー表記を更新 - 削除 → 該当行を削除
- グループが増える場合 →
<div class="cheatsheet-group">を新設
5. 型チェック
npx tsc -p tsconfig.browser.json --noEmit
実装ガイド
ハンドラの位置
3つの独立した keydown ハンドラが存在する。目的に応じて正しいハンドラに追加すること。
| ハンドラ | 検索キーワード | 用途 |
|---|---|---|
| メインハンドラ | document.addEventListener("keydown" |
ツリー操作全般(ノード選択、スコープ遷移、コピペ等) |
| インラインエディタ | input.addEventListener("keydown" |
テキスト編集中のショートカット(Enter, Tab, Escape等) |
| リニアテキストパネル | linearTextEl?.addEventListener("keydown" |
メモパネル内のショートカット(Ctrl+Enter保存等) |
メインハンドラの構造
document.addEventListener("keydown", (event: KeyboardEvent) => {
// ── ガード節 ──
if (!doc) return;
if (inlineEditor && document.activeElement === inlineEditor.input) return;
if (document.activeElement === linearTextEl) return;
// ── ショートカット定義(if → preventDefault → command → return) ──
// Ctrl系 → 特殊キー(Escape, Tab, Enter, F2) → 数字キー → Alt系 → 裸キー → 矢印キー
// この順序に意味がある:修飾キー付きが先、裸キーが後
});
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 5d ago First seen · 135 lines · 89 tokens per session scan A e44dd60bcca0
m3e-shortcuts is a skill published in the GitHub repository akaghef/M3E (11 stars, last pushed 5d ago), licensed MIT. It adds 89 tokens to every session and 1,742 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-02.
Other skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
next-cache-components-adoption
Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…
chat-pet-sprite-creation
Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…
insight-error-page
Write or audit an insight-kind error page for the Next.js dev overlay. Use when creating a new errors/ .mdx page, auditing an existing one, or checking that a page matches the framework fix cards. Covers page structure, title alignment, FixCard cards with Copy prompt button, code snippets, terminology verification…
next-cache-components-optimizer
Optimize the meaningful UI available immediately from a Next.js route on an initial load (hard navigation) or named client-side navigation (soft navigation). Encode the goal as a failing @next/playwright instant() e2e and work it to green, one verified route and entry point at a time; the shipped test then guards…