Use this skill when developing Go applications with the Prefab server framework. This includes creating servers, adding gRPC/HTTP handlers, configuring authentication and authorization, setting up SSE streams, managing configuration, creating custom plugins, and following Prefab error handling and security patterns.
/plugin marketplace add dpup/prefab/plugin install dpup-prefab-claude-plugin@dpup/prefabThis skill inherits all available tools. When active, it can use any tool Claude has access to.
Prefab is a Go server framework that simplifies building production-ready gRPC and HTTP services with a plugin-based architecture.
Prefab servers commonly compose multiple gRPC services into a single process. This enables a service-oriented monolith architecture where related services share infrastructure (auth, storage, logging) while maintaining clear boundaries. As utilization requirements become known, individual services can be extracted into separate deployments without changing their interfaces.
import "github.com/dpup/prefab"
func main() {
s := prefab.New(
prefab.WithPort(8080),
prefab.WithPlugin(auth.Plugin()),
// Add more options...
)
s.RegisterService(
&myservice.MyService_ServiceDesc,
myservice.RegisterMyServiceHandler,
&myServiceImpl{},
)
if err := s.Start(); err != nil {
log.Fatal(err)
}
}
Load these resources based on the specific task:
errors.New(), errors.NewC(), errors.Wrap() for errors with stack tracesPlugin() function and PluginName constant| Task | Resources to Load |
|---|---|
| Starting a new project | project-setup.md, server-setup.md |
| Creating a new server | server-setup.md, configuration.md, logging.md |
| Adding authentication | auth.md, server-setup.md |
| Building an OAuth server | oauth-server.md, auth.md, storage.md |
| Setting up access control | authz.md, auth.md |
| Adding real-time features | sse.md |
| Creating a custom plugin | plugins.md, eventbus.md |
| Handling errors properly | errors.md, logging.md |
| Security review | security.md |
| Adding storage | storage.md |
| Adding HTTP/gRPC endpoints | grpc-http.md |
| Adding file uploads | uploads.md, authz.md |
| Sending emails | email.md, templates.md |
| Rendering templates | templates.md |
| Inter-plugin communication | eventbus.md |
| Setting up logging | logging.md |
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.