用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/majiayu000/claude-skill-registry --skill control-plane命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | control-plane |
| description | 管理API(Control Plane)の開発・修正を行う際に使用。システムレベル・組織レベルAPI、リソース管理、権限モデル実装時に役立つ。 |
documentation/docs/content_06_developer-guide/02-control-plane/00-resource-overview.md - リソース一覧documentation/docs/content_06_developer-guide/02-control-plane/01-overview.md - Control Plane概要documentation/docs/content_06_developer-guide/02-control-plane/03-system-level-api.md - システムレベルAPIdocumentation/docs/content_06_developer-guide/02-control-plane/04-organization-level-api.md - 組織レベルAPIControl Planeは、idp-serverの管理API層。システム全体の設定管理、組織・テナント管理、リソース構成を行う。
libs/
├── idp-server-control-plane/ # 管理API契約定義
│ └── .../control_plane/management/
│ ├── organization/ # 組織管理API
│ │ └── OrganizationManagementApi.java
│ ├── tenant/ # テナント管理API
│ │ └── TenantManagementApi.java
│ ├── oidc/client/ # クライアント管理API
│ │ └── ClientManagementApi.java
│ ├── authentication/ # 認証ポリシー管理API
│ │ └── AuthenticationPolicyManagementApi.java
│ ├── identity/user/ # ユーザー管理API
│ │ └── UserManagementApi.java
│ └── ... (各ドメイン別)
│
├── idp-server-use-cases/ # EntryService実装
│ └── .../management/
│ ├── system/
│ │ └── OrganizationManagementEntryService.java
│ └── organization/
│ └── TenantManagementEntryService.java
│
└── idp-server-core/ # ドメインロジック
└── .../handler/
├── OrganizationHandler.java
└── TenantHandler.java
// 1. ManagementApi (契約定義)
public interface OrganizationManagementApi {
ResponseEntity<?> create(OrganizationCreateRequest request);
ResponseEntity<?> update(
String orgId,
OrganizationUpdateRequest request
);
}
// 2. EntryService (use-casesモジュール)
public class OrganizationManagementEntryService {
public void create(OrganizationCreateRequest request) {
// Handler呼び出し
handler.create(request.toEntity());
}
}
// 3. Handler (coreモジュール)
public class OrganizationHandler {
public void create(Organization org) {
// Validator で検証
validator.validate(org);
// Repository呼び出し
repository.register(org);
}
}
// Handler: Tenant第一引数
public class ClientHandler {
public void create(Tenant tenant, Client client) {
validator.validate(tenant, client);
repository.register(tenant, client);
}
}
// Repository: Tenant第一引数必須(OrganizationRepository除く)
public interface ClientRepository {
void register(Tenant tenant, Client client);
Client find(Tenant tenant, ClientId clientId);
}
e2e/src/tests/
└── scenario/control_plane/
├── organization/
│ ├── organization_tenant_management.test.js
│ ├── organization_client_management.test.js
│ ├── organization_scope_management.test.js
│ ├── organization_authentication_policy_management*.test.js
│ ├── organization_federation_configuration_management.test.js
│ └── organization_identity_verification_config_management*.test.js
└── resource_server/
# ビルド
./gradlew :libs:idp-server-control-plane:compileJava
./gradlew :libs:idp-server-use-cases:compileJava
# テスト
cd e2e && npm test -- scenario/control_plane/organization/
Tenantを第一引数に渡す(OrganizationRepository除く)repository.find(tenant, clientId) ✓repository.find(clientId) ✗dryRunパラメータを受け取るif (dryRun) return;の前にValidatorを実行