From golang
Go命名规范:Id/Uid字段、IsActive布尔前缀、CreatedAt时间字段、接收者用p、Go 1.22+路由模式命名。定义变量、函数、结构体命名时自动加载。
npx claudepluginhub lazygophers/ccplugin --plugin golangThis skill uses the workspace's default tool permissions.
- **dev** - 开发专家(主要使用者)
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Guides MCP server integration in Claude Code plugins via .mcp.json or plugin.json configs for stdio, SSE, HTTP types, enabling external services as tools.
| 场景 | Skill | 说明 |
|---|---|---|
| 核心规范 | Skills(golang:core) | 核心规范:强制约定 |
| 项目结构 | Skills(golang:structure) | 三层架构命名约定 |
| 错误处理 | Skills(golang:error) | 错误变量命名 |
p - (p *User), (p *Order)type User struct {
Id uint64
Uid uint64
FriendUid uint64
UUID string
}
type Model struct {
Id uint64
CreatedAt int64
UpdatedAt int64
}
type Friend struct {
Id uint64
State int32
}
const (
FriendStatusPending = 0
FriendStatusActive = 1
FriendStatusBlocked = 2
)
type User struct {
Id uint64
Email string
IsActive bool
HasMFA bool
IsAdmin bool
}
func UserLogin(req *UserLoginReq) (*UserLoginRsp, error)
func GetUserById(req *GetUserByIdReq) (*GetUserByIdRsp, error)
func AddUser(req *AddUserReq) error
func UpdateUser(req *UpdateUserReq) error
func DelUser(req *DelUserReq) error
func ListUser(req *ListUserReq) (*ListUserRsp, error)
func GetUserById(id uint64) (*User, error) // 获取单个
func ListUser(limit int) ([]*User, error) // 获取列表
func CountUser() (int64, error) // 计数
func CheckUserExists(id uint64) (bool, error) // 检查存在
func IsUserAdmin(uid uint64) (bool, error) // 判断状态
// 接收者统一使用 p
func (p *User) Login(password string) error
func (p *Order) Calculate() int64
func (p *Friend) IsActive() bool
// 使用描述性名称而非单字母
func Map[T any, R any](items []T, fn func(T) R) []R
func Filter[T any](items []T, fn func(T) bool) []T
// 约束接口命名
type Ordered interface {
~int | ~float64 | ~string
}
| AI 可能的理性化解释 | 实际应该检查的内容 | 严重程度 |
|---|---|---|
| "ID 全大写更规范" | 是否使用 Id 而非 ID? | 高 |
| "self/this 更直观" | 接收者是否统一用 p? | 高 |
| "变量名越长越清晰" | 是否避免过长变量名? | 中 |
| "GetByID 更标准" | 是否使用 GetUserById 风格? | 中 |
| "用 T 就够了" | 泛型参数是否有描述性? | 低 |
| "pkg_name 更清晰" | 包名是否全小写无下划线? | 中 |