Configuring Horizon
coollabsio/coolify
A skill your agent uses whenever the user mentions Horizon by name in a Laravel context.
PowerX CRUD HTTP 开发规范(管理端路由、绑定、错误桥接、多租户). An agent skill from ArtisanCloud/PowerX.
$ npx skills add ArtisanCloud/PowerX --skill crud-http -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ArtisanCloud/PowerX crud-http --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/ArtisanCloud/PowerX.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.codex/skills/crud/http .claude/skills/crud-http && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "crud-http" agent skill from https://github.com/ArtisanCloud/PowerX/tree/release%2Fv1.0.0/.codex/skills/crud/http into .claude/skills/crud-http/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "crud-http", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/ArtisanCloud/PowerX/tree/release%2Fv1.0.0/.codex/skills/crud/httpType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add ArtisanCloud/PowerX --skill crud-http -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ArtisanCloud/PowerX crud-http --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ArtisanCloud/PowerX.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.codex/skills/crud/http .agents/skills/crud-http && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "crud-http" agent skill from https://github.com/ArtisanCloud/PowerX/tree/release%2Fv1.0.0/.codex/skills/crud/http into .agents/skills/crud-http/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "crud-http", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ArtisanCloud/PowerX --skill crud-http -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ArtisanCloud/PowerX crud-http --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ArtisanCloud/PowerX.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.codex/skills/crud/http .cursor/skills/crud-http && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "crud-http" agent skill from https://github.com/ArtisanCloud/PowerX/tree/release%2Fv1.0.0/.codex/skills/crud/http into .cursor/skills/crud-http/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "crud-http", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/ArtisanCloud/PowerX.git --path .codex/skills/crud/http--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add ArtisanCloud/PowerX --skill crud-http -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ArtisanCloud/PowerX crud-http --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ArtisanCloud/PowerX.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.codex/skills/crud/http .gemini/skills/crud-http && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "crud-http" agent skill from https://github.com/ArtisanCloud/PowerX/tree/release%2Fv1.0.0/.codex/skills/crud/http into .gemini/skills/crud-http/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "crud-http", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install ArtisanCloud/PowerX crud-httpInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add ArtisanCloud/PowerX --skill crud-http -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ArtisanCloud/PowerX.git skills-src && mkdir -p .github/skills && cp -r skills-src/.codex/skills/crud/http .github/skills/crud-http && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "crud-http" agent skill from https://github.com/ArtisanCloud/PowerX/tree/release%2Fv1.0.0/.codex/skills/crud/http into .github/skills/crud-http/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "crud-http", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ArtisanCloud/PowerX --skill crud-http -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ArtisanCloud/PowerX crud-http --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ArtisanCloud/PowerX.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.codex/skills/crud/http .opencode/skills/crud-http && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "crud-http" agent skill from https://github.com/ArtisanCloud/PowerX/tree/release%2Fv1.0.0/.codex/skills/crud/http into .opencode/skills/crud-http/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "crud-http", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
crud-httpPowerX CRUD HTTP 开发规范(管理端路由、绑定、错误桥接、多租户). An agent skill from ArtisanCloud/PowerX.
Crud HTTP is an agent skill from ArtisanCloud/PowerX. PowerX CRUD HTTP 开发规范(管理端路由、绑定、错误桥接、多租户)。
Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `dev_crud_http_guides.md`).
It sits in Backend & APIs. The repository describes itself as: PowerX是一款以企业微信为基础的微信私域运营开放平台,帮助企业实现引流获客、精细运营。 The licence is Apache-2.0.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 3f7619d. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Crud HTTP loads about 2.2k tokens when it runs. Until then it costs about 13 tokens; SKILL.md has 18 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from ArtisanCloud/PowerX at commit 3f7619d, republished under its Apache-2.0 licence (© ArtisanCloud). 18 words, ~2,168 tokens.
.claude/skills/crud-http/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.本文件内嵌规则。# PowerX 开发规范入口(Dev Guides)
> 本文档是 PowerX 的统一开发规范入口。
>
> - 人类可阅读:开发与评审统一看这里。
> - 工具可扩展:未来可被 `/plan` 与 `/tasks` 解析成可验证规则。
---
## 1. 目的与范围(Scope)
本规范适用于所有 PowerX 核心与插件模块中涉及 **CRUD 能力** 的后端开发,
包括但不限于以下层次:
- 迁移(Migration)
- GORM 模型(Model)
- Repository(仓库层,含 BaseRepository)
- Service(业务服务层)
- DTO(入参/出参)
- Handler(HTTP 层)
- 依赖注入(DI)
- 路由(Routes)
- 契约 / 集成测试(Tests)
---
## 2. 全局策略(Policies)
- **数据库**:统一使用 **GORM 抽象**,默认 **Postgres**。
不允许写死 MySQL 方言或独立 SQL 文件;索引与唯一约束以 GORM tag 或迁移注册为准。
- **HTTP 路由**:统一前缀 `/api/v1/admin/**`(可配置)。
- **多租户**:所有查询与写入都必须携带 `tenant_id`。
- **审计**:所有写操作(Create/Update/Delete/Presign)必须记录审计日志。
- **安全**:预签名链接仅允许受管路径、受限方法(GET/PUT)与 MIME 白名单。
- **依赖注入**:所有仓库与服务实例必须由 `internal/app/shared/deps.go` 统一注册。
---
## 3. 层次结构(Layer Overview)
```plaintext
Model → Repository → Service → Handler → Router
↘ DI(shared) ↙
```
---
## 4. Migration(迁移)
### 约定
- **统一入口**:`cmd/database/migrate.go`
由该入口统筹调用各模块的迁移函数。
- **两种迁移模式**
1. **独立 Server 模块(如 Agent)**:在 `cmd/database/migrate.go` 内实现 `MigrateAgentModels(db *gorm.DB) error`,仅使用 `db.AutoMigrate(...)` 注册模型。
2. **CoreX 内核模块(如 MediaX)**:在 `pkg/corex/db/migration.go` 内实现 `MigrateCoreModels(db *gorm.DB) error`,由其中**直接调用 `AutoMigrate`** 将核心模型(含 MediaX)纳入迁移。
- **不交付任何 `.sql` 文件**,迁移中禁止手写 `db.Exec(...)`。
- **索引/唯一约束**:一律在 **GORM 模型结构体标签**中声明(含唯一索引、GIN 索引、部分索引等)。
- **运行期校验(可选)**:如需校验可用 `db.Migrator().HasIndex()` / `HasConstraint()`,但**不得因此写原生 SQL**。
- **错误处理**:所有迁移函数必须返回 `error`,并在统一入口串联调用。
---
### 示例
#### A. 独立 Server 模块(Agent)
> 在 `cmd/database/migrate.go` 内直接定义并调用:
```go
// cmd/database/migrate.go
package main
import (
"log"
"gorm.io/gorm"
dbmodel "github.com/your/module/internal/server/agent/persistence/model"
)
func MigrateAgentModels(db *gorm.DB) error {
if err := db.AutoMigrate(
&dbmodel.Agent{},
&dbmodel.AgentSetting{},
); err != nil {
return err
}
// 可选:运行期校验(不写 SQL)
if ok := db.Migrator().HasIndex(&dbmodel.Agent{}, "agent_uniq_tenant"); !ok {
log.Println("warn: agent_uniq_tenant not created")
}
return nil
}
func main() {
// init db ...
// 串联调用(示例)
if err := MigrateCoreModels(db); err != nil { log.Fatal(err) }
if err := MigrateAgentModels(db); err != nil { log.Fatal(err) }
}
```
#### B. CoreX 内核模块(含 MediaX)
> 在 `pkg/corex/db/migration.go` 中集中维护 CoreX 的模型清单(例如 MediaX)并 **只用 `AutoMigrate`**:
```go
// pkg/corex/db/migration.go
package corexdb
import (
"gorm.io/gorm"
mediamodel "github.com/your/module/pkg/corex/db/persistence/model/media"
// 其他 CoreX 内核模型...
)
func MigrateCoreModels(db *gorm.DB) error {
return db.AutoMigrate(
&mediamodel.MediaAsset{},
// &mediamodel.MediaSet{}, // 如有
// 其他 CoreX 内核模型...
)
}
```
> 说明:
>
> - **MediaX 等内核能力**作为 CoreX 的一部分,统一纳入 `MigrateCoreModels`;
> - 索引/约束通过模型标签自动创建(如 `unique`、`using:gin`、`where:deleted_at IS NULL` 等);
> - 不再需要也不建议为 MediaX 再单独写 `MigrateMediaModels`。
### 示例
```go
func MigrateAgentModels(db *gorm.DB) error {
db.AutoMigrate(
&dbmodel.Agent{},
&dbmodel.AgentSetting{},
)
if ok := db.Migrator().HasIndex(&dbmodel.Agent{}, "agent_uniq_tenant"); !ok {
log.Println("warn: agent_uniq_tenant not created")
}
return nil
}
```
### 验收要点
- [ ] 模块定义独立的 `Migrate<Module>Models(db *gorm.DB)` 函数
- [ ] 模型通过 `db.AutoMigrate()` 注册,无需 .sql 文件
- [ ] 索引与唯一约束在 GORM 模型 tag 中声明
- [ ] (可选)运行期校验索引 `db.Migrator().HasIndex()`
- [ ] 迁移函数返回 `error` 并在顶层入口统一调用
---
## 5. Model(GORM 模型)
### 约定
- 模型统一基于 **PowerX Base Model**:
- `PowerModel`:自增整型主键;
- `PowerUUIDModel`:双主键(UUID + 自增 ID),在 `BeforeCreate()` 自动生成 UUID。
- 必须显式声明:
- `CreatedAt` / `UpdatedAt` / `DeletedAt`;
- 表名函数 `TableName()` 与 `GetTableName()`;
- 多租户字段:`TenantID uint64`;
- Schema 默认由 `PowerXSchema` 控制;
- 表名常量集中在 `tables.go`;
- JSON 字段使用 `datatypes.JSON`;
- 唯一/复合索引通过 GORM tag 定义;
- 状态字段统一命名 `Status`,默认值 1;
- 模型文件放在 `pkg/corex/db/persistence/model/<domain>/`。
### 示例
```go
type User struct {
model.PowerUUIDModel
Email string `gorm:"column:email;uniqueIndex:uk_user_email"`
DisplayName string `gorm:"type:varchar(128)"`
Meta datatypes.JSON `gorm:"type:jsonb;default:'{}'"`
DeletedAt gorm.DeletedAt `gorm:"index"`
}
func (u *User) TableName() string {
return model.PowerXSchema + "." + model.TableIAMUser
}
```
### 验收要点
- [ ] 模型嵌入 `PowerModel` 或 `PowerUUIDModel`
- [ ] 含软删字段 `DeletedAt` 并建索引
- [ ] 含租户字段 `TenantID`
- [ ] JSONB 字段正确定义
- [ ] 表名函数返回 `${schema}.${table}`
- [ ] 索引通过 GORM tag 定义
- [ ] 状态字段默认 1
- [ ] 模型对应迁移函数已注册
---
## 6. Repository(仓库层)
### 约定
- 所有仓库组合 `BaseRepository[T]`;
- 所有方法均接收 `context.Context`;
- 写操作返回 `error`;
- 禁止直接操作 DB 或外部 IO;
- 唯一冲突用 `IsUniqueViolation()`;
- 在 `deps.go` 统一注册。
### 示例
```go
type UserRepository struct {
*repository.BaseRepository[dbm.User]
db *gorm.DB
}
func NewUserRepository(db *gorm.DB) *UserRepository {
return &UserRepository{
BaseRepository: repository.NewBaseRepository[dbm.User](db),
db: db,
}
}
```
### 验收要点
- [ ] 组合 `BaseRepository[T]`
- [ ] 构造函数 `New<ModelName>Repository` 存在
- [ ] 方法首参为 `context.Context`
- [ ] 写操作返回 `error`
- [ ] 在 `deps.go` 注册
- [ ] 不含外部 IO 操作
---
## 7. Service(业务服务层)
### 设计原则
Service 层负责 **业务用例编排、鉴权、事务、审计**。
所有数据库操作必须通过 Repository 完成,不得直接调用 GORM 原语或访问外部 IO。
### 约定
- 命名:`<ModelName>Service`;
- 构造函数:`New<ModelName>Service(db *gorm.DB, …)`;
- 首参 `context.Context`;
- 组合 `*BaseService`;
- 统一在 `deps.go` 注册;
- 写操作必须事务化并记录审计;
- 业务错误集中定义于 `internal/service/errors.go`;
- 更新走白名单更新;
- 删除默认软删,硬删需显式授权;
- 错误包装统一。
### 验收要点
- [ ] 组合 `*BaseService`
- [ ] 构造函数存在
- [ ] 方法首参 `context.Context`
- [ ] 不直接访问 DB
- [ ] 写操作包裹事务与审计
- [ ] 删除默认软删,Force 硬删需权限
- [ ] 错误集中定义
- [ ] 已在 `deps.go` 注册
---
## 8. DTO & Validation(数据传输与校验)
### 统一响应与分页
- 成功/失败结构:`ResponseSuccess`、`ResponseError`、`ResponseList`;
- 分页结构:`PaginationRequest`, `PaginationResponse`。
### 参数绑定与校验
- 使用 `ValidateRequestWithContext(c, req)`;
- DTO 字段带 `validate` 标签;
- 校验失败返回统一结构。
### 错误桥接
- 统一错误结构:`AppError{HTTPCode, Message, Details}`;
- 桥接方法:`RespondErrorFrom(c, err)`,成功时直接使用 `ResponseSuccess/ResponseList`,**不得再使用 `MustOK`**。
### SSE / WS
- 事件名统一:`start/intent/plan/token/data/action/final/end/error/heartbeat`;
- SSE 写入:`WriteToSSE(c, flowID, execID, sr, heartbeat)`;
- WS 信封:`WSEnvelope{Type, Data, Timestamp}`。
### 验收要点
- [ ] DTO 独立定义,不复用模型;
- [ ] 参数绑定使用统一函数;
- [ ] 响应结构统一;
- [ ] 错误使用 AppError;
- [ ] 流式接口事件名统一;
---
## 9. Handler & Routes(HTTP)
### 目录结构
```bash
internal/transport/http/
admin/<domain>/
api.go # 路由注册
<feature>_handler.go # 纯 Handler:绑定/校验/DTO映射/调用Service/统一回包
```
### 路由示例
```go
func RegisterMediaRoutes(rg *gin.RouterGroup, deps *shared.Deps) {
h := NewMediaHandler(deps.MediaService)
g := rg.Group("/media/assets")
{
g.POST("", h.Create)
g.GET("", h.List)
g.GET("/:id", h.Get)
g.PATCH("/:id", h.Update)
g.DELETE("/:id", h.Delete)
}
}
```
### 验收要点
- [ ] `api.go` 只注册路由;
- [ ] Handler 只做绑定/校验/调用 Service;
- [ ] 使用统一回包函数;
- [ ] 前缀 `/api/v1/admin`;
- [ ] 动词与路径符合 REST 语义;
- [ ] 契约测试覆盖 CRUD。
---
## 10. Dependency Injection(依赖注入)
### 约定
- 所有依赖集中在 `internal/app/shared/deps.go`;
- 统一构造函数 `NewDeps(db, opts)`;
- 所有服务在 `Deps` 结构体中注册;
- Handler 层通过 `*shared.Deps` 访问;
- 不在模块中重复创建连接;
- Audit 与 Auth 统一实例。
### 验收要点
- [ ] 所有依赖集中初始化;
- [ ] Handler 统一接收 `*shared.Deps`;
- [ ] Service 不自行创建连接;
- [ ] Audit 回调注册成功;
- [ ] 新模块扩展遵循 Deps + Options 模式。
---
## 11. API 契约(REST)
### 路径与版本
- 管理后台:`/api/v1/admin`
- 开放接口:`/api/v1/open`
- Web 前台:`/api/v1/web`
- URL 版本化策略,破坏性变更才升级。
### 错误与分页
- 统一错误结构:`{ code, message, details?, request_id }`;
- 状态码:400/401/403/404/409/429/500;
- 分页响应带 `pagination{total,page,pageSize,pages}`。
### 验收要点
- [ ] API 路径与版本规范;
- [ ] 错误结构统一;
- [ ] 分页字段完整;
- [ ] 幂等与权限策略明确;
- [ ] SSE/WS 事件一致。
---
## 12. 测试(Contracts & Integration)
### 约定
- 契约测试覆盖鉴权/分页/筛选/软删;
- 集成测试覆盖完整业务流;
- 使用 `httptest`;
- 模拟外部依赖可使用 mock。
### 验收要点
- [ ] 契约测试完整;
- [ ] 集成测试覆盖 CRUD;
- [ ] 测试使用 httptest;
- [ ] mock 外部依赖。
---
## 13. 附录:文件结构参考
```
pkg/corex/db/persistence/model/<feature>/
pkg/corex/db/persistence/repository/<feature>/
internal/service/<feature>/
internal/transport/http/admin/<feature>/
internal/app/shared/deps.go
specs/<domain>/<feature>/ # 功能规格与规划 (spec.md / plan.md / tasks.md)
```© ArtisanCloud, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in .codex/skills/crud/http of ArtisanCloud/PowerX.
Open the folder on GitHubat commit 3f7619d
Crud HTTP next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Crud HTTP this skillArtisanCloud/PowerX | 379 | — | ~2.2k | Automated safety check: Pass | Apache-2.0 | |
| Configuring Horizoncoollabsio/coolify | 63k | 4 repos | ~898 | Automated safety check: Pass | MIT | |
| Nestjs Best Practicesrolling-scopes/rsschool-app | 10k | 6 repos | ~1.2k | Automated safety check: Pass | MIT | |
| Sub2API AdminWei-Shaw/sub2api | 43k | 1 repos | ~717 | Automated safety check: Pass | LGPL-3.0 | |
| Firecrawl Build Onboardingfirecrawl/firecrawl | 189k | 1 repos | ~1.4k | Automated safety check: Notes | ISC | |
| Obsidian BasesAtmosphere/atmosphere | 3.8k | 22 repos | ~3.2k | Automated safety check: Pass | Apache-2.0 |
coollabsio/coolify
A skill your agent uses whenever the user mentions Horizon by name in a Laravel context.
rolling-scopes/rsschool-app
NestJS best practices and architecture patterns for building production-ready applications.
Wei-Shaw/sub2api
Manages a Sub2API deployment from the command line: accounts, redeem and invitation codes, groups, proxies, imports, exports and raw admin API calls.
firecrawl/firecrawl
Gets Firecrawl working in a project: signs you in through the browser, saves FIRECRAWL_API_KEY to .env and picks the first SDK or REST path.
Atmosphere/atmosphere
Create and edit Obsidian Bases (.base files) with views, filters, formulas, and summaries.
coollabsio/coolify
ACTIVATE when the user works on authentication in Laravel. An agent skill from coollabsio/coolify.
ArtisanCloud/PowerX
PowerX API 命名与访问规范(/api/v1、/admin、/internal 边界). An agent skill from ArtisanCloud/PowerX.
ArtisanCloud/PowerX
PowerX 底座 Capability 治理与发布准入规则。用于审计 REST/OpenAPI/gRPC/Gin 生成的能力候选、正式 platformcapabilities 目录、Capability Registry 登记、agentusable/permissioncode/risklevel 元数据、ignore…
ArtisanCloud/PowerX
PowerX CRUD 依赖注入规则(Deps 单入口、构造注入、跨传输复用). An agent skill from ArtisanCloud/PowerX.
ArtisanCloud/PowerX
PowerX CRUD gRPC 开发规范(proto、server、拦截器、错误映射). An agent skill from ArtisanCloud/PowerX.
ArtisanCloud/PowerX
PowerX HTTP Handler 规则(绑定校验、统一回包、无 DB IO). An agent skill from ArtisanCloud/PowerX.
ArtisanCloud/PowerX
PowerX CRUD Model 规则(GORM 模型、多租户、索引、命名). An agent skill from ArtisanCloud/PowerX.
Categories
PowerX CRUD HTTP 开发规范(管理端路由、绑定、错误桥接、多租户). An agent skill from ArtisanCloud/PowerX. Crud HTTP is an agent skill from ArtisanCloud/PowerX.
Crud HTTP fits situations like: backend & APIs work in your project.
Run `npx skills add ArtisanCloud/PowerX --skill crud-http -a claude-code`. Or copy the skill folder (.codex/skills/crud/http in ArtisanCloud/PowerX) into .claude/skills/crud-http in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ArtisanCloud/PowerX --skill crud-http -a codex`. Or copy the skill folder (.codex/skills/crud/http in ArtisanCloud/PowerX) into .agents/skills/crud-http in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ArtisanCloud/PowerX --skill crud-http -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/crud-http, .gemini/skills/crud-http, .github/skills/crud-http and .opencode/skills/crud-http in your project.
SKILL.md names no scripts, command-line tools or credentials: Crud HTTP is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Crud HTTP is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.2k tokens (SKILL.md is roughly 8.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Crud HTTP: Configuring Horizon (coollabsio/coolify, 63k stars), Nestjs Best Practices (rolling-scopes/rsschool-app, 10k stars), Sub2API Admin (Wei-Shaw/sub2api, 43k stars) and Firecrawl Build Onboarding (firecrawl/firecrawl, 189k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ArtisanCloud (a GitHub organization) maintains it in ArtisanCloud/PowerX, which has 379 GitHub stars. The repository holds 21 skills in this directory. The repository was last updated on October 7, 2026.
Source: ArtisanCloud/PowerX on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.