Communityコーディング&開発github.com

bpawnzZ/lemonwrench

自動車の修理手順、トルク仕様、ダイアグラム、サービスマニュアルのステップを調べるときに使用します。無料のOEMマニュアルを車両ごとにスクレイピングし、正確なトリム/エンジンを特定し、部品カタログや現場情報源と照合します。

lemonwrench とは?

LemonWrenchは、自動車修理の調査を効率化する強力なスキルです。指定された車両に対して、サービスマニュアルの手順、トルク表、図解を提供し、さらに部品カタログやフォーラムなどの現場情報と照合することで、マニュアルだけでは見落としがちなステップも補完します。主なデータソースは **https://lemon-manuals.la** で、1960年から2025年までの北米車両約10,000台、69メーカーをカバーし、無料でログイン不要です。ポンティアック、サーブ、AMCなどの廃盤ブランドや、テスラ、Rivianなどの現代のEVも含まれます。このスキルは、マニュアル、部品カタログ、現場のコンセンサスという3つの情報源を常に参照する「スリーソースルール」に基づき、信頼性の高い回答を提供します。主にClaude CodeなどのAIエージェント上で動作し、付属のPythonスクリプト `lemon.py` を使用して、車両の検索、マニュアルのインデックス作成、キーワード検索、図の表示などをコマンドラインから実行できます。回答は、トルク値の厳密な引用、情報源の明示、手順の正しい順序付けなど、詳細かつ正確なフォーマットで出力されます。

対応~Claude Code~Codex CLI~Cursor
npx skills add bpawnzZ/lemonwrench

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

LemonWrench — 自動車修理リサーチ

「<車> で X を交換する方法」を手順、トルク表、ラベル付きの図に変換し、部品カタログや実際の現場ノートと照合して、マニュアルに抜けているステップを取りこぼさないようにします。

主要ソース: https://lemon-manuals.la — 米国/カナダの約10,000台の車両、69メーカー、1960–2025年、無料、ログイン不要。国産、輸入、廃盤ブランド(ポンティアック、オールズモビル、サターン、サーブ、AMC、ジオ、マーキュリー、スズキ)、欧州エキゾチック、トラック/商用車、最新EV(テスラ2012年→、Rivian2022年→)をカバー。年式は網羅的で、トヨタとフォードは66年連続のモデルイヤーがあります。実際のHTMLテキスト(トルク表、容量、ステップバイステップ)で、図は /images25/ にあります。スキャンPDFではありません。

モデルイヤーごとに2つのデータベース:

DBソース使用目的
LEMON2025年キャプチャ2010年以降、最新のTSB、完全なツリー、図のキャプション
CHARM2013年のDVD1990年代~2000年代、より詳細、ツリーは深さで打ち切り

スリーソースルール

マニュアルだけでは答えになりません。ここでの自信のある回答は常に3つから得られます:

  1. マニュアル — 手順とトルク値。
  2. 部品カタログ (gmpartscenter.net, gmpartsdirect.com, rockauto など) — 部品番号、そして構造的な証拠: 2つの鋳造品が別々の部品であれば、それらは別々の部品です。これにより、「このブラケットはカバーの一部ですか?」という質問を、写真から推測することなく答えることができます。
  3. 現場のコンセンサス (モデルフォーラム、JustAnswer/identifixのスレッド、YouTubeのトランスクリプト) — エンジニアがレンチを握らなかったためにマニュアルから省略されたステップ。ステップがマニュアルのテキストではなく現場のコンセンサスである場合は、その旨を明確に述べてください。

3つが矛盾する場合は、その矛盾を報告してください。決してごまかさないでください。

ツール

S=scripts/lemon.py
python3 $S <cmd>
コマンド目的
makes正規のメーカー名
years MAKE存在するモデル年
cars MAKE YEAR [regex]その年の車両、[LEMON] / [CHARM] タグ付き
index VEHICLE [--refresh]リンクツリー全体をフェッチ+キャッシュ(車両ごとに1回)
find VEHICLE TERM... [-n N] [--strict|--any]キャッシュされたツリーをgrep
read VEHICLE TERM... [-k N]N番目のヒットをレンダリング、ハブサブページを自動フォロー
get URL絶対URLで1ページをレンダリング
sub URLハブの下の子ページ
imgs URL / pic URL / note URL TEXT / notes [URL]図パイプライン + 永続キャッシュ
selftestパーサーチェック、ネットワーク不要

VEHICLE はサイトパスからスラッシュを除いたもの: Toyota/2015/Camry LE、Pontiac/2007/G6 V6-3.9L

ワークフロー

  1. 車両を適切に特定する。 cars MAKE YEAR ですべてのバリエーションがリストされます。エンジンとトリムによってマニュアルが変わります — G6 GT, 4D Sedan, 3.9 1, Automatic は G6 GT, 4D Sedan, 3.5 N とは異なるマニュアルです。使用したバリエーションを明記してください。バッジは嘘をつく可能性があることに注意してください。同じネームプレートでも複数のエンジンが搭載されている場合があるので、排気量を確認してください。
  2. 一度インデックスを作成する。 LEMONの単一ページツリー ≈ 5.5 MB / 13kリンク、CHARMの分割ツリー ≈ 1.3 MB。~/.cache/lemon/<hash>.idx にキャッシュされます。以降のクエリはローカルgrepです。サイトがマニュアルを追加した場合のみ --refresh を使用してください。
  3. サイトの語彙で検索する — removal、installation、disassembly、torque specifications、fluid capacities、valve clearance、component locations、wiring diagram、DTC、labor times。デフォルトでは1つの一致しない用語を許可します。--strict は完全一致、--any は単語単位の検索に使用します。
  4. 読み取り、そしてエスカレーションする。 read はヒットを出力し、次に最良のページのテキストを出力し、その後サブページをフォローします。CHARMツリーは深さで打ち切られています。ハブページは、sub <url> してから get <url> するまで何もリストされないことがよくあります。2段階のエスカレーションは正常であり、バグではありません。
  5. 回答する: 番号付きのステップ、印刷された通りのトルク、ページURL、および主張ごとの信頼度の注記 (manual / catalog / field)。

図

read/get は [FIGURE https://lemon-manuals.la/images25/XXXX/] 行を出力し、説明が存在する場合はキャッシュされた説明が追加されます。

python3 $S pic https://lemon-manuals.la/images25/GM1557668/   # -> ~/.cache/lemon/img/GM1557668.png
# 表示したら:
python3 $S note https://lemon-manuals.la/images25/GM1557668/ "右ロッカーカバー、ボルトリング、上部コイルブラケット"

ページテキスト内のキャプション (Fig 1: View Of Right Valve Rocker Arm Cover) は図の実際のタイトルです — これらを使用してください。スキャンが読みにくい場合でも正確です。1ビットの線画はフルサイズで問題なく読めます。見る価値があるもの: 分解図(テキストで省略されているトルクのコールアウトが含まれている)、配線図、コネクタ端面図。

説明は ~/.cache/lemon/imgnotes.json に保存されます — 図を一度説明すれば、テキストとして永久に残ります。

マニュアルを超えて

  • 構造的な質問 (「これはタイミングカバーの一部ですか?」) → 部品カタログ。別の部品番号 + 別のガスケット = 別の鋳造品。カタログ図は、ファスナーがどのサブアセンブリに属するかも示します。
  • アクセスの質問 (「このボルトをブロックしているものは?」) → 現場の情報源。<年> <モデル> <エンジン> "<部品>" bracket bolt を検索し、フォーラム/JustAnswerのスレッドを読んでください。ディーラーの技術者が不足しているステップを投稿しています。
  • ツールの要否 (プレスオンプーリー、Torx、スタッド) → 取り外し手順の予備ステップに、特殊工具の名前が記載されています (例: J 25034-C)。
  • 識別できない部品のボルトトルク → コンポーネント名でトルク表を確認し、部品番号で鋳造品を確認します。同じエンジンの見た目が似ているブラケットでも、仕様が異なることがよくあります (例: 隣接する部品で 25 N·m と 50 N·m)。

回答ルール

  • トルクは正確に、3つの単位すべてで引用する: 34 N*m (350 kgf*cm, 25 ft*lbf)
  • 低トルクのファスナー (バルブカバー、プラスチック/コンポジットカバー) を明示的に指摘する: アルミへの締めすぎは、漏れの再発とねじ山の破損の最大の原因です。
  • パス内の [09/2014 - ] は改訂日です — そのページはその日以降に適用されます。
  • LEMONページは、マニュアルが「次のモデルバリエーションと同一である(ただし、工数、オイル・バッテリー類、タイヤ装着は除く)」とよく述べています — 再検索する代わりに再利用してください。
  • <vehicle>/Labor Times/ には取外し・交換作業がリストされています。「別の車両バリエーションでのみ利用可能」と表示されている場合は、指定されたバリエーションを使用してください。
  • カバーされていない場合は、その旨を明確に述べ、最も近い対象年式を挙げてください。決して仕様をでっち上げないでください。
  • 順序は重要です。前提条件の連鎖 (ベルト → アクセサリ → ブラケット → カバー) を示し、カバーのボルトだけを示さないでください。

成果物

結果をチャットの散文ではなく、スタンドアロンのマークダウンノートとして記述してください:

  • フロントマター (tags、vehicle、job、status、updated)
  • ステータスコールアウト — 作業が実際にどこにあるか
  • 最初に、妨げとなっている質問への直接の回答
  • サイド/コンポーネントごとの番号付き手順
  • 触れたすべてのファスナーをカバーする1つのトルク表
  • キャプション付きの図の埋め込み
  • ソース/信頼度テーブル — 主張、ソース、確認済み / 現場コンセンサス

完全な作業ノートの例については examples/ を参照してください。

注意点

  • URLは大文字と小文字を区別し、メーカーのスペルはサイトのものに従います (Dodge and Ram、Mercedes Benz)。canon_make で処理されますが、手動のcurlでは処理されません。
  • すべてのディレクトリURLで末尾のスラッシュが重要です。
  • /bundle/ zipダウンロードは無効です (303 → /static/sad.html)。robots.txt も /bundle/ を禁止しています。
  • /hyperlink/... URLは相互参照リゾルバーであり、コンテンツではありません。
  • パスにはバージョンタグと %2F エンコードされたスラッシュが含まれています。ツールが出力した絶対URLのみをフェッチしてください。デコードされたパスを再度引用すると404になります。
  • バナー「一時サーバーで再開 / 遅延の可能性あり」はパーサーによってスキップされます。120秒のタイムアウトを許可してください。
  • メインホストがダウンした場合のミラー: lemon-manuals.org.ua、lemon-manuals.gy、lemon.dogeware.me — LEMON_BASE=https://… で上書きします。
  • Miniforge/pyenvのPythonはCAバンドルがないことがよくあります。lemon.py は /etc/ssl/certs/ca-certificates.crt にフォールバックします。

確認

python3 scripts/lemon.py selftest      # 期待値: selftest OK

関連スキル