スキル一覧に戻る
alecszaharia

kratos-service-layer

by alecszaharia

0🍴 0📅 2026年1月24日
GitHubで見るManusで実行

SKILL.md


name: kratos-service-layer description: Generates gRPC/HTTP service handlers for go-kratos microservices. Creates service structs, handler methods, and integrates with protobuf definitions. Use when implementing RPC handlers, adding API endpoints, creating dual transport (HTTP/gRPC) handlers, or connecting transport layer to business logic in kratos services.

<essential_principles>

How Kratos Service Layer Works

Service Layer Role

Connects transport (gRPC/HTTP) to business logic:

Responsibilities:

  • Handle gRPC/HTTP requests
  • Map proto DTOs to business models (via mapper)
  • Call use case methods
  • Map results back to proto responses
  • Convert business errors to gRPC status codes

Service Struct Pattern

type {Entity}Service struct {
	pb.Unimplemented{Entity}ServiceServer  // Embed unimplemented server
	uc domain.{Entity}UseCase             // Use case dependency (from domain package)
}

Import: import "{service}/internal/biz/domain"

Handler Method Pattern

func (s *{Entity}Service) Create{Entity}(ctx context.Context, in *pb.Request) (*pb.Response, error) {
	// 1. Map request to business model
	entity := {Entity}FromRequest(in)

	// 2. Call use case
	result, err := s.uc.Create{Entity}(ctx, entity)
	if err != nil {
		return nil, toServiceError(err)  // Map business error to gRPC error
	}

	// 3. Map result to response
	return &pb.Response{Entity: toProto{Entity}(result)}, nil
}

</essential_principles>

  1. Create service handlers for new entity
  2. Add handler methods to existing service
  3. View handler patterns and examples

Wait for response before proceeding.

After reading the workflow, follow it exactly.

<reference_index> Core: handler-pattern.md, service-structure.md, error-mapping.md Mappers: mapper-conventions.md </reference_index>

<workflows_index>

WorkflowPurpose
create-service.mdGenerate service handlers and mappers
add-handlers.mdAdd methods to existing service
view-examples.mdShow patterns
</workflows_index>

<success_criteria> Service layer code is correct when:

  • Service struct embeds Unimplemented{Entity}ServiceServer
  • Constructor added to service.ProviderSet
  • Handlers map DTOs via mapper functions
  • Errors converted to gRPC status codes
  • All methods have godoc comments
  • User reminded to run make generate </success_criteria>

スコア

総合スコア

50/100

リポジトリの品質指標に基づく評価

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

レビュー

💬

レビュー機能は近日公開予定です