.agents/skills/analyzing-tech-stack/SKILL.md
アーキテクチャ設計に基づく技術スタックの選定と表形式の一覧作成を支援。「技術スタックを選定したい」「フレームワークを決めたい」「使用ライブラリを整理したい」「バージョンを確認したい」「技術構成を一覧化したい」といった場面で発動する。技術スタックを事前に選定・一覧化することで、開発中の「バージョン不整合」「サポート切れ」問題を防ぐ。
npx skillsauth add k2works/getting-started-tdd analyzing-tech-stackInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
アーキテクチャ設計に基づき、バックエンド・フロントエンド・インフラの各レイヤーに最適な技術を選定し、表形式の技術スタック一覧を作成する。
技術スタックの選定はプロジェクトの生産性と保守性に直結する。LTS バージョンの選択、サポート期限の把握、アップグレード計画の策定を怠ると、プロジェクト後半でセキュリティリスクと移行コストが膨らむ。
| 種類 | パス | 備考 |
|------|------|------|
| テンプレート | @docs/template/設計.md | 編集禁止。コピーして使用する |
| 入力 | @docs/design/architecture_backend.md | バックエンドアーキテクチャ |
| 入力 | @docs/design/architecture_frontend.md | フロントエンドアーキテクチャ |
| 入力 | @docs/design/architecture_infrastructure.md | インフラストラクチャアーキテクチャ |
| 成果物 | docs/design/tech_stack.md | 技術スタック一覧 |
アーキテクチャパターンに適合する技術を選定する。チームの習熟度とコミュニティの活性度も考慮せよ。
UI 設計とフロントエンドアーキテクチャの要件に基づいて選定する。
非機能要件(可用性・スケーラビリティ)を実現する技術を選定する。
すべての技術に対してバージョンとサポート期限を記録する。サポート切れの技術を使い続けることはセキュリティリスクに直結する。
| カテゴリ | 技術 | バージョン | 用途 | サポート期限 |
|---------|------|-----------|------|-------------|
| 言語 | Java | 25 | バックエンド開発 | 2028-09 |
| フレームワーク | Spring Boot | 4.x | Web アプリケーション | - |
| ORM | MyBatis | 3.x | データアクセス | - |
| DB | PostgreSQL | 16 | データストア | 2028-11 |
| テスト | JUnit 5 | 5.11+ | ユニットテスト | - |
docs/design/tech_stack.md として出力する既存の docs/design/tech_stack.md がある場合は、まずその内容を確認する。追加が必要な技術や、バージョン更新が必要な部分のみを修正する。
Example:
ユーザー: 「バックエンドの技術スタックは決めた。フロントエンドを選定したい」
回答: 既存の tech_stack.md のバックエンド技術を確認し、
バックエンド API との連携を考慮してフロントエンド技術を選定する。
フレームワーク→状態管理→UI ライブラリ→テスト→ビルドの順で選定する。
package.json や pom.xml を確認し、現状を把握してから提案するorchestrating-analysis — 分析フェーズ全体のワークフロー案内analyzing-architecture — 前段のアーキテクチャ設計(技術選定の基盤)analyzing-test-strategy — テストフレームワーク選定との整合性managing-operations — 選定技術の環境構築tools
イテレーション計画と上流設計ドキュメント群(ユーザーストーリー、ドメインモデル、データモデル、UI 設計)との整合性を検証する。「イテレーション計画を検証したい」「計画の整合性をチェックして」「イテレーション計画を作成した」「計画と設計ドキュメントの不整合を確認したい」といった場面で発動する。planning-releases でイテレーション計画を作成した直後にも積極的に使用すること。計画作成後に必ず本検証を実施することで、開発着手前にドキュメント間の不整合を検知・修正できる。
tools
プロジェクトの開発進捗を多角的に分析しレポートを生成。イテレーション達成度、技術実装状況、品質メトリクスを確認し、計画ドキュメントを自動更新する。「進捗を確認したい」「プロジェクトの状態を知りたい」「イテレーションの達成度を分析したい」「進捗ドキュメントを更新したい」といった場面で発動する。定期的な進捗可視化により、遅延や品質低下を早期に発見しプロジェクトの透明性を確保する。
testing
リリース計画を GitHub Project・Issue・Milestone に反映し一元管理。初回の一括同期から差異検出・自動同期まで対応する。「GitHub Project に同期したい」「Issue を作成したい」「計画と GitHub の差異を確認したい」「Milestone を設定したい」といった場面で発動する。計画ドキュメントを Single Source of Truth とし GitHub に自動反映することで、二重管理の手間と不整合を排除する。
development
テスト駆動開発から始めるプログラミング入門」の対話式チュートリアル。FizzBuzz を題材に TDD の Red-Green-Refactor サイクルを 14 言語で体験する。「TDD を練習したい」「FizzBuzz で TDD を学びたい」「テスト駆動開発の入門をしたい」「Java で TDD を体験したい」「Python で TDD を始めたい」「プログラミング入門チュートリアルをやりたい」「getting-start-tdd をやりたい」「TDD のハンズオンがしたい」「Red-Green-Refactor を体験したい」といった場面で発動する。TDD チュートリアルやプログラミング入門の要望があれば積極的に使用すること。