tech-radar-context について
tech-radar-contextは、プロンプト内の技術をTikalの最新Tech Radarと照合するエージェントスキルです。一致した分類と見解を示し、Stop対象にはレーダー掲載の代替案を提示します。
主な機能
- 01プロンプトから技術を抽出
- 02最新のレーダーデータを取得
- 03技術をレーダー項目と照合
- 04リング、分野、理由を表示
- 05Stop項目の代替案を提示
活用シーン
- 01フレームワークやライブラリの比較
- 02技術スタック案の評価
- 03更新に向けたスタックの見直し
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ tikalk/ adlc-team-skills --skill tech-radar-contextインストール後、Claude Code で/tech-radar-contextを入力して読み込まれたか確認します。
同梱ファイルscripts/radar-search.ps1scripts/radar-search.sh
詳細
tech-radar-context
概要
現在のプロンプトに関連するテクノロジーについて、Tikal の見解を提示し、イスラエルの Tech Radar に基づいてテクノロジースタックを選択できるようにします。このスキルは team-discover と同様に動作しますが、検索対象はチームの CDR インデックスではなく、Tikal Tech Radar のデータセット(https://tikalk.com/radar.json からライブで取得)です。プロンプトから候補となるテクノロジーを抽出して、レーダーの blip と照合し、コンパクトな Tech Radar Context テーブル(リング、象限、Tikal の「Why?」の見解)と、Stop に分類された項目に対する Tikal の推奨に沿った代替案を挿入します。
レーダーには 4 つの 象限(DevOps、Backend、AI/ML、Web/Mobile)と、採用段階を示す 4 つの リングがあります。
| リング | 意味 | 指針 |
|---|---|---|
Try | 表面的には良さそうに見える新しいもの(好意的な報道、新しいソリューション) | 探索・評価してください。本番環境での使用はまだ推奨されていません |
Start | より多くの企業が使うべき優れたソリューション。ベータ版の場合は、積極的に開発が進み、貢献が行われています | 新規プロジェクトでの採用を推奨します |
Keep | 安定版リリース(ベータ版ではない)で、主要な支持者から受け入れられています(大規模なコミュニティがあり、企業で使われています) | 現在および新規の作業で、デフォルトで推奨します |
Stop | 企業に使用を停止するよう推奨する項目。より良い代替案があります | 使用を避けるよう警告し、Keep/Start の代替案を推奨します |
各 blip の description には、HTML の <p>Why?</p> ブロックに続いて <p>Description</p> ブロックが含まれています。Why? のテキストには、Tikal の明確な見解と理由が記載されています。提示すべきなのはこの見解です。あるテクノロジーが異なる象限で複数回登場し、リングも異なる場合があります。その場合は、関連する配置をそれぞれ報告してください。
使用するタイミング
プロンプトでテクノロジーの選定または評価が行われる場合は、このスキルをモデルの判断で使用してください。たとえば、次のような場合です。
- フレームワーク、ライブラリ、データベース、メッセージブローカー、クラウドツールを選ぶ場合。
- 選択肢を比較する場合(「X と Y のどちらか」「Z を使うべきか」など)。
- スタックの選択が暗に含まれるシステム、サービス、パイプラインを設計する場合。
- 既存のスタックのモダナイズや置き換えを検討する場合。
テクノロジーの選択を伴わないビジネス/製品に関する質問のみの場合や、ユーザーがレーダーを無視するよう明示している場合は、使用しないでください。
手動での実行:
/tech-radar-context # inject radar context for the current prompt
/tech-radar-context redis vs kafka
基本プロセス
ステップ 1:候補となるテクノロジーを抽出する
現在のプロンプト(またはこのスキルを呼び出すスキルが提供した説明)から、名前が挙がっている、または明確に示唆されているテクノロジーをすべて抽出します。言語、フレームワーク、ライブラリ、データベース、ブローカー、CI/CD ツール、クラウドサービス、AI/LLM ツール、ビルドツールなどが含まれます。明らかな別名は標準化します(例:「postgres」→「PostgreSQL」、「k8s」→「Kubernetes」、「GH Actions」→「GitHub Actions」)。
プロンプトで製品名を挙げずにカテゴリが示されている場合(例:「ベクトルデータベースが必要」「Python のウェブフレームワークを選ぶ」)は、そのカテゴリを検索クエリとして扱い、その分野でレーダーが推奨する選択肢を提示してください。
ステップ 2:最新のレーダーデータセットを検索する
このスキルのディレクトリからの相対パスで、決定論的な検索ヘルパースクリプトを実行します。
POSIX(bash + jq):
bash scripts/radar-search.sh <tech1> [tech2 ...]
Windows(PowerShell):
pwsh scripts/radar-search.ps1 <tech1> [tech2 ...]
または JSON 出力を使用する場合(bash では --json、PowerShell では -Json を追加します)。
スクリプトは最新のレーダー JSON を https://tikalk.com/radar.json から取得し、別名のマッピング(k8s → Kubernetes、postgres → PostgreSQL、gh actions → GitHub Actions など)を処理して、Tikal の <p>Why?</p> の見解を抽出し、Markdown の表を自動的に整形します。
あるテクノロジーが、リングの異なる配置に複数登場する場合(例:Node.js が DevOps: Stop と DevOps: Keep の両方にある場合)、スクリプトはこれを検出し、Conflicting Guidance の注記で示します。
最新のレーダー JSON のスキーマ(https://tikalk.com/radar.json):
{
"title": "Explore the Tech Radar",
"quadrants": ["DevOps", "Backend", "AI/ML", "Web/Mobile"],
"rings": ["Try", "Start", "Keep", "Stop"],
"blips": [
{
"name": "FastAPI",
"quadrant": "Backend",
"ring": "Keep",
"description": "<p>Why?</p>\n<p>...Tikal's opinion...</p>\n<p>Description</p>\n<p>...</p>",
"isNew": false
}
]
}
ステップ 3:Blip を照合する
ステップ 1 の各候補について、name で一致する blip を探します(大文字と小文字を区別せず、別名も考慮し、「Airflow 2」/「Airflow 3」のようなマイナーバージョンの接尾辞や、「Redux」→「Redux Toolkit」のような部分一致も許容します)。候補は複数の象限にまたがる複数の blip と一致する場合があります。その場合はすべて残してください。
カテゴリに関するクエリ(ステップ 1)の場合は、その領域でレーダーが推奨するもののうち、特に有力なものを選びます。一致する象限の Keep/Start の blip を優先し、避けるべきものとして Stop の blip にも言及してください。
ステップ 4:Tikal の見解を抽出する
一致した blip ごとに、description の HTML を解析します。
<p>Why?</p>ブロック内のテキスト(次の<p>Description</p>まで)が、Tikal の見解/根拠です。最も重要なシグナルとして扱ってください。<p>Description</p>ブロックは中立的な背景情報です。有用な場合にのみ使用してください。
HTML タグを取り除いてプレーンテキストにし、「Why?」を 1~2 文に要約してコンテキスト表に記載します(リングが Stop の場合、またはユーザーがその技術を直接検討している場合は、より詳しく引用します)。
ステップ 5:Stop の代替案を推奨する
候補が Stop の blip と一致する場合(または、レーダーが明確に非推奨としているレガシー技術の場合)、同じ象限にある Keep または Start から、Tikal の方針に沿った代替案を選びます。「Why?」のテキストを参考にしてください。データセットで裏付けられている一般的な例は次のとおりです。
- Airflow 2 → Airflow 3 / Dagster
- Create React App → Vite / Next.js
- Jenkins → GitHub Actions / GitLab CI / Tekton
- requirements.txt / Poetry → uv
- Moment.js / Luxon → day.js / date-fns
- Redux / Redux Toolkit → Zustand / TanStack Query
- Ant Design / Styled Components → Tailwind CSS / shadcn/ui / Radix UI
読み込んだデータセットが裏付けていない代替案を、固定的に指定しないでください。その象限にあるレーダーの実際の Keep/Start の blip から代替案を導き出してください。
ステップ 6:Tech Radar コンテキストを挿入する(出力要件)
タスクへの回答の前に、表示されるレスポンス内に Tikal Tech Radar Context セクションを出力し、以降の推論がレーダーに基づくようにします。
## Tikal Tech Radar Context
| Technology | Quadrant | Ring | Tikal's Opinion (Why?) |
|------------|----------|------|------------------------|
| FastAPI | Backend | Keep | Better alternative to Flask; async, fast, big and growing community. |
| Jenkins | Backend | Stop | Plugin hell + XML config; legacy vs GitHub Actions / GitLab CI / Tekton. |
**Radar guidance**
- ✅ Keep/Start: FastAPI — safe to adopt.
- ⚠️ Stop: Jenkins → consider GitHub Actions, GitLab CI, or Tekton (see Why? above).
_Source: Tikal Israeli Tech Radar (live: https://tikalk.com/radar.json) · N technologies matched._
- 一致した blip ごとに 1 行を記載します(該当する場合は、象限をまたぐ重複も含めます)。
- 簡潔な レーダーのガイダンス リストをまとめます:採用して問題ないものと、代替案とともに避けるべきものを示します。
- データが ライブレーダーソース から取得されたことと、一致した技術の数を記載した
_Source_行を追加します。
候補となる技術がどの blip とも一致しない場合は、その旨を明確に伝え、空の表と _Source_ 行(例:_Source: … · 0 technologies matched._)を記載します。レーダー上の位置を捏造しないでください。
エラー処理
- ライブ取得に失敗した場合(ネットワークエラー、タイムアウト、無効な JSON)、スクリプトは明確なエラーメッセージを標準エラーに出力して、ゼロ以外の終了コードで終了します。スキルは Tech Radar のソースに到達できなかったことを示す空のコンテキスト表を出力し、レーダーのコンテキストなしでユーザーのタスクを続行してください。古いキャッシュデータや同梱データを、最新のデータであるかのように代用してはいけません。
- 一致がない場合 → 空の表と
0 technologies matchedの行を出力します。
注意すべき点
- 読み込んだデータセットに存在しない技術について、リング、象限、「Why?」の見解を捏造すること。一致するものがなければ
0 matchesと報告してください。 - ライブ取得に失敗した際に、キャッシュ済み、同梱済み、または古いレーダーデータを黙って代用すること。レーダーソースに到達できない場合は必ず報告し、古いデータを最新のものとして提示してはいけません。
- 読み込んだレーダーに裏付けられていない
Stop→ 代替案の置き換えを固定的に指定すること。 - 中立的な
<p>Description</p>のテキストを Tikal の見解として報告すること。見解は<p>Why?</p>ブロックに記載されています。 - 重複する blip を無視すること。同じ技術が異なる象限に別々のリングで配置される場合があるため、関連する配置をすべて提示してください。
- スキルの読み込みだけで作業が完了したとみなすこと。Core Process を実際に実行し、Tech Radar Context の表を出力する必要があります。
検証
- 候補となる技術は、プロンプトから抽出されます(製品名が指定されていない場合は、カテゴリに基づくクエリが作成されます)。
- レーダーのデータセットは
https://tikalk.com/radar.jsonからライブで取得されます。 - テクノロジー/象限/リング/Tikal の意見(理由?)の列を含む Tikal Tech Radar Context テーブルが作成されます。意見の情報源は
<p>Why?</p>ブロックです。 Stopリングに該当する項目には、データセットから導出された、同じ象限内の Tikal の方針に沿ったKeep/Startの代替候補が含まれます。_Source_行には、ライブレーダーの情報源と一致数が記載されます。一致がない場合は、データを捏造せず、空のテーブルと0 technologies matchedが出力されます。取得に失敗した場合はエラーが報告され、スキルはレーダーのコンテキストなしで続行されます。
設定
- データソース:
https://tikalk.com/radar.json(呼び出しのたびにライブで取得。バンドルされたスナップショットやキャッシュはありません)。 - 取得タイムアウト:10 秒。取得に失敗した場合、ブロックしたり古いデータで代用したりせず、スキルはレーダーのコンテキストなしで続行されます。