ssd について
ssd は Smile Solution Development チーム向けのコマンド集です。React/TypeScript、ASP.NET Core、FastAPI のプロジェクトを共通規約に沿って作成、レビュー、リファクタリング、点検でき、Git の運用やリリースにも対応します。
主な機能
- 013つのスタック向け37コマンド
- 02プロジェクト設定と機能生成
- 03コードレビューとリファクタリング
- 04プロジェクトとデータベースの点検
- 05Gitコミットとリリースのガイド
活用シーン
- 01React/TypeScriptまたはASP.NET Coreの開始
- 02対応スタック向け機能の生成
- 03チーム規約に沿ったコードのレビューや修正
- 04プロジェクトまたはデータベース設定の点検
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ pratchaya0/ ssd-agent-skills --skill ssdインストール後、Claude Code で/ssdを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
reference/backend-doctor.mdbackend-feature.mdbackend-init.mdbackend-refactor.mdbackend-review.mdbackend-setup.mdbug-auth-redirect.mdbug-version-checker.mdcontact-skill-gen.mddatabase.mddb-doctor.mddotnet-controller.mddotnet-ef-query.mddotnet-infra.mddotnet-scaffold.mddotnet-service.mdfrontend-doctor.mdfrontend-feature.mdfrontend-init.mdfrontend-refactor.mdfrontend-review.mdfrontend-setup.mdgit-commit.mdgit-flow.mdpython-database.mdpython-doctor.mdpython-feature.mdpython-refactor.mdpython-review.mdpython-starter.md詳細
SSD Agent Skills
Smile Solution Development(SSD)チームの標準に従ってコードを書くチームを支援する AI アシスタントです。
使い方
/ssd <command> と入力してコマンドを実行します。例:
/ssd frontend-setup— React/TypeScript プロジェクトを設定します/ssd git-commit— 標準に従って commit message を作成します/ssd python-review— Python コードをレビューします
利用可能なコマンド(37 commands)
Frontend(React + TypeScript)
| Command | 詳細 |
|---|---|
frontend-init | react-ts-template-2023 v1.2.0 を使って新しい Frontend プロジェクトを開始します |
backend-init | Net60_ApiTemplate_2023 (202306) を使って新しい Backend プロジェクトを開始します |
frontend-setup | 新しい React/TS プロジェクトを設定します — フォルダー構成、ツール、命名規則 |
frontend-feature | 自然言語の指示から新しい機能を作成します — コンポーネント、ページ、Redux slice、API client 一式 |
react-component | React の関数コンポーネント、Props の型指定、hooks の標準 |
react-form | MUI を使った Formik form の実装 |
react-state | Redux slice、dispatch のパターン |
react-api | Axios、React Query、NSwag を使った API client |
Backend(.NET Core)
| Command | 詳細 |
|---|---|
backend-setup | 新しい ASP.NET Core 6 プロジェクトを設定します |
backend-feature | 自然言語の指示から新しい機能を作成します — Service、Controller、DTO 一式(database-first、EF Core Model が事前に必要です) |
dotnet-controller | ASP.NET API controllers、ルーティング、認可 |
dotnet-service | Service layer、DTO、AutoMapper |
dotnet-infra | Serilog logging、Quartz jobs、RestSharp HTTP clients |
dotnet-scaffold | CLI を通じた EF Core Reverse Engineer — SSD conventions に従った dotnet ef dbcontext scaffold |
dotnet-ef-query | EF Core query patterns — AsNoTracking、Include、ページネーション、トランザクション、async |
database | EF Core Reverse Engineer、データベースの命名規則 |
Python
| Command | 詳細 |
|---|---|
python-starter | Clean Architecture を使って新しい FastAPI プロジェクトを開始します |
python-feature | 自然言語の指示から新しい feature/endpoint を作成します — CRUD、streaming、外部サービス |
python-review | Python コードをレビューします(アーキテクチャ、HTTP methods、logging、SQLAlchemy) |
python-refactor | pytest を使って .py files を安全にリファクタリングします |
python-database | PostgreSQL + SQLAlchemy 2.x:命名、ORM models、Alembic migration |
レビューとリファクタリング
| Command | 詳細 |
|---|---|
ts-fix-unused | TS6133/TS6196 build errors を修正します — NSwag files には @ts-nocheck、手動コードには @ts-ignore を使用 |
frontend-review | React/TypeScript コードをレビューします |
backend-review | C#/.NET コードをレビューします |
frontend-refactor | .tsx/.ts files を安全にリファクタリングします |
backend-refactor | .cs files を安全にリファクタリングします |
Git と Release
| Command | 詳細 |
|---|---|
git-commit | Conventional Commits、Semantic Versioning |
git-flow | Git Flow workflow、ブランチの命名、pull request の標準 |
release-it-setup | 自動化された GitHub releases のために release-it を設定します |
専門コマンド
| Command | 詳細 |
|---|---|
contact-skill-gen | shared libraries 用の SKILL.md を作成します |
bug-auth-redirect | white screen / auth redirect loop を修正します |
bug-version-checker | version cache race condition を修正します |
Doctor(プロジェクトの健全性)
| Command | 詳細 |
|---|---|
frontend-doctor | React/TypeScript プロジェクトの状態をチェックします — dependencies、config、フォルダー構成、ENV pattern |
backend-doctor | ASP.NET Core プロジェクトの状態をチェックします — NuGet packages、middleware pipeline、appsettings |
python-doctor | FastAPI プロジェクトの状態をチェックします — dependencies、Clean Architecture layers、main.py wiring |
python-streaming-doctor | SSE/streaming endpoint の production-readiness をチェックします — proxy buffering、timeout、worker、resource leak、multi-replica |
db-doctor | Database schema の状態をチェックします — 標準カラム、datetime2、命名、SP prefix |
วิธีตอบสนองต่อคำสั่ง
เมื่อผู้ใช้พิมพ์ /ssd <command>:
- ตรงกับคำสั่งใดคำสั่งหนึ่งทั้งหมด (exact match) — โหลดไฟล์ reference ที่ตรงกันจาก
reference/<command>.md, ปฏิบัติตามมาตรฐาน SSD ที่ระบุในไฟล์นั้นทุกข้อ, เขียนโค้ดตาม conventions ที่กำหนดเท่านั้น ห้ามเบี่ยงเบน - ไม่ได้ระบุคำสั่ง หรือพิมพ์
help/--help/-h/?/-?— แสดงรายการคำสั่งทั้งหมดข้างต้น (จัดกลุ่มตามหมวด) แล้วถามว่าต้องการใช้คำสั่งใด - พิมพ์ไม่ครบ/ไม่ตรงกับคำสั่งใดเลย (partial) — แตกชื่อคำสั่งทั้งหมดด้วย
-เป็น segment แล้วค้นหาคำสั่งที่มี segment ใด segment หนึ่ง "ขึ้นต้น" ด้วยข้อความที่พิมพ์ (prefix match ต่อ segment, ไม่สนตัวพิมพ์เล็ก/ใหญ่) ครอบคลุมทั้ง segment แรก (หมวด) และ segment ท้าย (keyword) เช่น:- พิมพ์
dotn→ ตรงกับ segment แรกของdotnet-controller,dotnet-service,dotnet-infra,dotnet-scaffold,dotnet-ef-query(5 คำสั่ง → แสดงเป็น plain text ห้ามใช้ AskUserQuestion) - พิมพ์
doctor→ ตรงกับ segment ท้ายของfrontend-doctor,backend-doctor,python-doctor,db-doctor - พิมพ์
review→ ตรงกับ segment ท้ายของfrontend-review,backend-review,python-review - เจอ 1 คำสั่ง — แนะนำคำสั่งนั้นทันที พร้อมคำอธิบายสั้นๆ และบรรทัด "ลองพิมพ์:
/ssd <command>" - เจอมากกว่า 1 คำสั่ง แต่ไม่เกิน 4 คำสั่ง — แสดงเฉพาะคำสั่งที่ตรง (ไม่ใช่ทั้งหมด) พร้อมคำอธิบาย แล้วใช้ AskUserQuestion ถามผู้ใช้ว่าต้องการคำสั่งใดจากรายการที่ตรงนั้น (ใส่ทุกคำสั่งที่ตรงเป็น option — AskUserQuestion รับ option ได้สูงสุด 4 ตัวเท่านั้น)
- เจอมากกว่า 4 คำสั่ง — ห้ามใช้ AskUserQuestion (option เกิน 4 จะถูกตัดออกบางส่วนโดยไม่มีกฎว่าตัดตัวไหน ทำให้บางคำสั่งเลือกไม่ได้) แสดงรายการคำสั่งที่ตรงทั้งหมดเป็นข้อความ แล้วถามให้ผู้ใช้พิมพ์ชื่อคำสั่งที่ต้องการจากรายการนั้นแทน
- ไม่เจอเลย — fallback กลับไปแสดงรายการคำสั่งทั้งหมดและถามว่าต้องการใช้คำสั่งใด (เหมือนข้อ 2)
- พิมพ์
บริบทร่วม (Shared Standards)
มาตรฐานเหล่านี้ใช้กับทุก skill:
Stack หลัก:
- Frontend: React 18.2 + TypeScript + Vite 4.3.9 + MUI v5
- Backend: ASP.NET Core 6 + Entity Framework Core 6
- Python: FastAPI + SQLAlchemy 2.x + Clean/Hexagonal Architecture
Encoding: UTF-8, line ending CRLF (Windows)
Naming:
- TypeScript: PascalCase (class/component), camelCase (var/func), CONSTANT_CASE (constants)
- C#: PascalCase (class/method), camelCase (local),
_camelCase(private field) - Python: snake_case (func/var), PascalCase (class)
ข้อห้ามสากล:
- ห้ามใช้
anytype ใน TypeScript - ห้ามใช้ f-string ใน logging (Python)
- ห้าม DELETE/PUT/PATCH ใน API ทุก stack (C#/.NET, Python) — มาตรฐานบริษัทใช้ REST API ไม่ใช่ RESTful มี HTTP method แค่ GET กับ POST เท่านั้น ใช้ POST + action path เช่น
{id}/update,{id}/delete
config file: CLAUDE.md
コメント
Markdown 対応