Go Functional Options
Generates functional option sets from prompts, aiding in code design exploration and problem decomposition.
Install on your platform
We auto-selected Claude Code based on this skill’s supported platforms.
Run in terminal (recommended)
claude mcp add go-functional-options npx -- -y @trustedskills/go-functional-options
Or manually add to ~/.claude/settings.json
{
"mcpServers": {
"go-functional-options": {
"command": "npx",
"args": [
"-y",
"@trustedskills/go-functional-options"
]
}
}
}Requires Claude Code (claude CLI). Run claude --version to verify your install.
About This Skill
The go-functional-options skill enables Go developers to implement functional options patterns, allowing flexible and readable object configuration through composable option functions. It streamlines complex initialization logic by separating default values from optional overrides without relying on verbose builder methods or struct tags.
When to use it
- You need to configure structs with many optional fields where defaults should apply unless explicitly overridden.
- Your codebase requires a clean API surface that avoids deeply nested method chains typical of traditional builders.
- You want to ensure type safety while maintaining the ability to combine multiple configuration options dynamically at runtime.
- You are refactoring legacy Go code that uses flag-based initialization or scattered conditional logic for object setup.
Key capabilities
- Provides a reusable pattern for defining optional configuration parameters as standalone functions.
- Enables chaining of option functions to build complex configurations from simple defaults.
- Supports type-safe merging of options without introducing runtime panics from missing fields.
- Facilitates unit testing by allowing isolated injection of specific configuration subsets.
Example prompts
- "Generate a Go struct with functional options for database connection settings including timeout, retry count, and SSL mode."
- "Refactor this builder pattern into functional options to reduce code duplication in my user service initialization."
- "Show me how to combine default options with custom overrides using the go-functional-options pattern for API client configuration."
Tips & gotchas
Ensure your team is familiar with Go's function value syntax, as functional options rely on passing functions rather than direct arguments. Avoid overusing this pattern for simple structs with only a few fields, as it may introduce unnecessary boilerplate compared to standard constructors.
Tags
TrustedSkills Verification
Unlike other registries that point to live repositories, TrustedSkills pins every skill to a verified commit hash. This protects you from malicious updates — what you install today is exactly what was reviewed and verified.
Security Audits
| Gen Agent Trust Hub | Pass |
| Socket | Pass |
| Snyk | Pass |
🌐 Community
Passed automated security scans.