Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问许可证需确认审计提醒

feature-based-layered-architecture基于特征的分层架构

Agent Skill

feature-based-layered-architecture 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

269

周安装

11

GitHub Stars

1

下载量

87
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:feature-based-layered-architecture(基于特征的分层架构)
来源仓库:https://github.com/sasatech-labs/skills
仓库路径:skills/feature-based-layered-architecture
安装命令:
npx skills add https://github.com/sasatech-labs/skills --skill Feature-Based-Layered-Architecture
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/sasatech-labs/skills --skill Feature-Based-Layered-Architecture

简介

提供基于功能模块的分层架构设计指导,适用于 Next.js 与 Supabase 项目。

  • 定义 Handler、Service、Repository、Adapter 四层结构及功能单元划分模式。
  • 包含设计思想和实现方法的指南,以及结构化约束规则的判定标准。
  • 推荐与 supabase-postgres-best-practices 等外部技能配合使用。
  • 适用于学习架构设计或进行代码审查时的参考依据。

SKILL.md

SasaTech Architecture

概要

Feature-Based Layered Architecture for Next.js (App Router) with Supabase のスキル。

Handler / Service / Repository / Adapter の4レイヤー構成と、機能(Features)単位のモジュール分割パターンを定義する。 ガイド(設計思想・実装方法)とルール(制約・判定基準)の2種類のドキュメントで構成する。

ガイドとルール

項目ガイドルール
目的アーキテクチャの理解を深める実装時の制約を定義する
内容HOW/WHY — 設計思想、実装方法、コード例DO/DON'T — 判定基準、NG/OK例
形式チュートリアル形式構造化されたルール形式
使用場面学習時、設計判断時実装時、コードレビュー時
配置guides/rules/

How to Use

このスキルと併せて、以下の外部スキルの導入を推奨する。

npx skills add https://github.com/supabase/agent-skills --skill supabase-postgres-best-practices
npx skills add https://github.com/vercel-labs/agent-skills --skill vercel-react-best-practices
npx skills add https://github.com/vercel-labs/agent-skills --skill web-design-guidelines
スキル用途
supabase-postgres-best-practicesSupabase / PostgreSQL のクエリ最適化、RLS、マイグレーション
vercel-react-best-practicesReact / Next.js のコンポーネント設計、パフォーマンス最適化
web-design-guidelinesアクセシビリティ、レスポンシブデザイン、UI/UX

Default Stack

カテゴリ技術
FrameworkNext.js (App Router)
Database / BaaSSupabase
LanguageTypeScript
ValidationZod
Data FetchingSWR
Loggingpino
FormatterBiome
LinterBiome + ESLint

About Feature-Based Layered Architecture

Feature-Based Layered Architecture for Next.js (App Router) with Supabase

レイヤー構成

Handler                 リクエスト/レスポンス、バリデーション、楽観的認証
        ↓
Service                 ビジネスロジック、厳密な認可、複数 Repository 連携
        ↓
Repository              データアクセス
Adapter                 外部 API 連携(Stripe, Resend 等)

ディレクトリ構成

src/
├── app/                      # Next.js App Router
│   ├── (auth)/               # 認証が必要なルートグループ
│   ├── (public)/             # 公開ルートグループ
│   └── api/                  # API Routes (薄いエントリーポイント)
│
├── features/                 # 機能単位のモジュール
│   └── [feature]/
│       ├── index.server.ts   # サーバー専用の公開API(Service, Handler)
│       ├── index.client.ts   # クライアント利用可の公開API(Fetcher, 型)
│       └── core/
│           ├── schema.ts     # Zodスキーマ + 型定義
│           ├── handler.ts    # リクエスト / レスポンス処理 (server-only)
│           ├── service.ts    # ビジネスロジック (server-only)
│           ├── repository.ts # データアクセス (server-only)
│           ├── adapter.ts    # 外部API連携 (server-only)
│           ├── fetcher.ts    # API呼び出し
│           └── hooks.ts      # SWR Hook等
│
├── components/               # 共通UIコンポーネント
├── hooks/                    # 共通Hooks
├── lib/                      # ユーティリティ
│   └── adapters/             # 外部サービス連携
└── types/                    # 共通型定義、Supabase生成型

Guides

ガイド説明
architecture.mdFeature-based Layer Architecture の全体設計。レイヤー構成、責務分離、ディレクトリ構成
architecture/handler.mdHandler層の実装。リクエスト処理、バリデーション、楽観的認証、エラーハンドリング
architecture/service.mdService層の実装。ビジネスロジック、厳密な認可、Repository/Adapter連携、トランザクション管理
architecture/repository.mdRepository層の実装。データアクセスの抽象化、Supabaseクエリのカプセル化
architecture/adapter.mdAdapter層の実装。外部サービス(決済、メール、AI等)との連携をカプセル化
authentication.md二段階認証・認可戦略。楽観的認証(Handler)と厳密な認可(Service)の実装パターン
testing.mdレイヤーごとのテスト戦略。Unit / Integration テストの範囲とモック方針
database.mdデータベース設計。コメント規約、マイグレーション、Supabase との連携
logging.mdpino を使用した構造化ログの実装。レイヤーごとのログ出力方針
setup.md新規プロジェクトのセットアップ手順。依存パッケージ、基盤ファイルの配置
fetch-strategy.mdデータ取得戦略。SSR/CSRの選択基準と実装パターン
error-handling.mdAppErrorクラスとwithHTTPErrorによるエラーハンドリング設計
wrappers.mdwithHTTPError(Handler)のラッパーユーティリティ

Rules

カテゴリ

カテゴリPrefix
アーキテクチャarch-
データdata-
サーバーサイド保護server-
スキーマ・型定義schema-
レスポンスresponse-
テストtest-
バリデーションvalidation-
命名規則naming-
フロントエンドfrontend-

インパクト

Impact は、違反時にアーキテクチャへ与える影響の深刻度で定義する。

Impact基準
CRITICALアーキテクチャの根幹が壊れる。違反するとこの設計パターン自体が成立しない
HIGHアーキテクチャの整合性や保守性を大きく損なう
MEDIUMコードの品質や一貫性を低下させる
LOW開発体験やパターンの統一に関する推奨事項

アーキテクチャ (arch-)

ルールImpact説明
arch-three-layersCRITICALHandler → Service → Repository, Adapter の構成を必ず経由
arch-feature-structureCRITICAL機能単位で features/ にモジュール化
arch-external-servicesHIGHStripe, Resend 等の外部サービスは Adapter 経由
arch-logging-strategyMEDIUMpino で構造化ログ、console.log 禁止
arch-fetch-strategyCRITICALSSR/CSR問わず、fetcher経由でAPI Route呼び出し
arch-logging-levelsMEDIUMログレベルをレイヤーと状況に応じて使い分け
arch-auth-strategyHIGHHandler層で楽観的認証、Service層で厳密な認可。共有ヘルパー関数禁止
arch-auth-operationsHIGHSignOut、SignInWithOTP等の認証操作はService層に実装、Handler層での直接実行禁止
arch-public-apiMEDIUMFeature の公開APIは index.server.ts(Service, Handler)と index.client.ts(Fetcher, 型)で分離管理
arch-handler-route-separationHIGHAPI Routeは薄いエントリーポイントに限定、ロジックはHandler層に分離
arch-transaction-rpc-requiredHIGH複数テーブル更新のトランザクション処理はSupabase RPC関数を使用
arch-adapter-placementMEDIUM汎用Adapterはlib/adapters/、Feature固有Adapterはfeatures/*/core/に配置
arch-feature-adapter-isolationMEDIUMFeature内Adapterが他Featureの内部Adapterに依存することを禁止

データ (data-)

ルールImpact説明
data-paginationHIGH全件取得禁止、MAX_LIMITでサーバー側上限を強制、ページネーション必須
data-comment-requiredLOWテーブル・カラムに日本語コメント必須
data-rls-requiredCRITICAL全テーブルでRLS有効化必須、最低1つのポリシーを定義
data-migration-cli-requiredMEDIUMマイグレーションファイルはSupabase CLIで生成、手動作成禁止
data-update-trigger-requiredMEDIUM全テーブルにupdated_at/update_user自動更新トリガーを適用
data-select-minimalMEDIUMselect('*')を避け、必要なカラムのみを指定

サーバーサイド保護 (server-)

ルールImpact説明
server-supabase-via-apiCRITICALクライアントから Supabase 直接使用禁止、API Route 経由必須
server-only-directiveHIGHHandler/Service/Repository/Adapter に import 'server-only' を必須で記述
server-no-public-envHIGH機密情報(Supabase, API キー)に NEXT_PUBLIC_ 禁止
server-webhook-signature-validationCRITICALWebhook署名検証必須、署名なしでのペイロードパース禁止

スキーマ・型定義 (schema-)

ルールImpact説明
schema-single-sourceHIGH型定義は schema.ts に一元化、types.ts 作成禁止
schema-zod-inferMEDIUMInput 型は手書きせず z.infer<typeof schema> で導出

レスポンス (response-)

ルールImpact説明
response-with-http-errorHIGHHandler関数は withHTTPError でラップ必須
response-apperrorMEDIUMエラーは AppError クラスでスロー、生の Error 禁止
response-helpersLOWAppResponse.ok(), AppResponse.created() 等のレスポンスヘルパーを使用
response-adapter-errorsHIGHAdapter層は外部APIエラーをAppErrorに変換してスロー

テスト (test-)

ルールImpact説明
test-layer-mockingHIGH各レイヤーは直下の依存のみをモック
test-server-onlyMEDIUMserver-only はテスト環境でモック必須
test-file-locationLOWテストファイルは __tests__ に配置
test-namingLOWテストは日本語で意図を明確に

バリデーション (validation-)

ルールImpact説明
validation-requestMEDIUMリクエスト入力値(ボディ、パスパラメータ、クエリパラメータ)をZodでバリデーション

命名規則 (naming-)

ルールImpact説明
naming-filesLOWファイル・ディレクトリ名は kebab-case(フレームワーク規約ファイルを除く)
naming-methodsLOWRepository: findMany/findById、Service: get*/create*
naming-exportsMEDIUM_ prefix内部実装 + ファイル末尾でexport集約

フロントエンド (frontend-)

ルールImpact説明
frontend-data-fetchingLOWFeatureごとにfetcher.tshooks.tsを作成、コンポーネントから直接fetch禁止

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

33.97%
按下载量换算30

Claude

27.9%
按下载量换算24

Cursor

20.84%
按下载量换算18

Gemini CLI

9.54%
按下载量换算8

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills