golang-project-layoutProvides a guide for setting up Golang project layouts and workspaces. Use when starting a new Go project, organizing an existing codebase, setting up a monorepo with multiple packages, creating CLI tools with multiple main packages, deciding between cmd/internal/pkg directory conventions, or discussing package restructuring, package splits, or module splits.
Install via ClawdBot CLI:
clawdbot install samber/golang-project-layoutGrade Fair — based on market validation, documentation quality, package completeness, maintenance status, and authenticity signals.
Accesses system directories or attempts privilege escalation
/var/log/Calls external URL not in known-safe list
https://github.com/samber/cc-skills-golangAudited Apr 17, 2026 · audit v1.0
Generated Aug 10, 2026
A fintech startup needs to scaffold a new microservice for payment processing. The skill guides the developer to first ask about architecture (e.g., hexagonal) and DI approach, then structure the project with cmd/, internal/, and pkg/ directories. It ensures proper module naming and configuration files (Makefile, .gitignore, .golangci.yml), and promotes 12-factor app principles for config, logging, and statelessness.
A DevOps team wants to manage multiple CLI tools and shared libraries in a single repository. The skill recommends using go.work for workspace mode, separate modules per package, and cmd/{name}/ for each CLI entry point. It guides the developer to right-size the structure, avoiding over-engineering small tools, and to ask about preferred architecture and DI before proceeding.
A software consultancy is helping a client refactor a monolithic Go application. The skill assists in deciding between cmd/internal/pkg conventions, splitting packages, and restructuring modules. It emphasizes asking about architecture and DI preferences, and provides checklists for initialization and best practices like co-locating tests.
An open-source project needs to structure a library that will be consumed by external developers. The skill guides the developer to use pkg/ for public APIs and internal/ for private implementation. It covers module naming to match the repository URL, and includes guidance on testing and documentation layout.
A startup is creating a cloud-native web service that must follow 12-factor app guidelines. The skill helps structure the service with cmd/{service}/, internal/, and api/, and emphasizes configuration via environment variables, logging to stdout, and graceful shutdown. It also suggests using one-off commands like cmd/migrate/ for admin tasks.
Use the skill to efficiently structure client projects, delivering best-practice Go code faster. This reduces project time and improves quality, enabling higher billable rates or more projects.
Build and package this skill into a commercial product for development teams, offering it as part of a subscription-based toolset for Go project scaffolding and management.
Release the skill as open-source to build community trust and adoption, then monetize via premium support, training, or custom enhancements for enterprises.
💬 Integration Tip
Integrate this skill into your development workflow by using it as a step-by-step guide when initializing new projects, and combine it with related skills like golang-dependency-injection and golang-cli for comprehensive coverage.
Scored Aug 10, 2026
Real-time search engine supporting web search, vertical domain search, parallel batch search, and URL content extraction.
Manage Feishu (Lark) calendars by listing, searching, checking schedules, syncing events, and marking tasks with automated date extraction.
cad reference tool
Search, install, and create OpenClaw skills using intelligent matching across built-in, local, and GitHub skill repositories.
Use when building CLI tools, implementing argument parsing, or adding interactive prompts. Invoke for CLI design, argument parsing, interactive prompts, progress indicators, shell completions.
Publish local skills to ClawHub with customizable version, name, path, and optional changelog using command line or Python API.