godoc conventions and documentation best practices. Use when documenting code.
This skill inherits all available tools. When active, it can use any tool Claude has access to.
Go documentation conventions following godoc standards.
Use when writing or reviewing code documentation.
// Package user provides user management functionality.
//
// This package handles user authentication, authorization,
// and profile management. It supports multiple authentication
// providers and role-based access control.
//
// Example usage:
//
// svc := user.NewService(db)
// user, err := svc.GetUser(ctx, userID)
// if err != nil {
// // handle error
// }
//
package user
// GetUser retrieves a user by ID.
//
// It returns an error if the user is not found or if
// the database connection fails.
//
// Example:
//
// user, err := GetUser(ctx, 1)
// if errors.Is(err, ErrNotFound) {
// // handle not found
// }
//
func GetUser(ctx context.Context, id int) (*User, error) {
// implementation
}
// User represents a system user with authentication details.
type User struct {
// ID is the unique identifier for the user.
ID int
// Name is the user's display name.
Name string
// Email is the user's email address.
// It must be unique across all users.
Email string
}
// ExampleGetUser demonstrates how to retrieve a user.
func ExampleGetUser() {
svc := NewService(db)
user, err := svc.GetUser(context.Background(), 1)
if err != nil {
log.Fatal(err)
}
fmt.Println(user.Name)
// Output: John Doe
}
# Project Name
Brief description.
## Installation
\`\`\`bash
go get github.com/user/project
\`\`\`
## Usage
\`\`\`go
package main
import "github.com/user/project"
func main() {
// example code
}
\`\`\`
## Features
- Feature 1
- Feature 2
## Building
\`\`\`bash
make build
\`\`\`
## Testing
\`\`\`bash
make test
\`\`\`
## License
MIT