xiaohongshu
xiaohongshu
golang-code-review
Comprehensive Go code review skill for PR reviews, architecture assessment, and test quality analysis. Use when reviewing Go code to ensure adherence to Go best practices, security standards, and project-specific patterns. Applies to full PR reviews, single file/function reviews, architecture eva...
Full skill instructions
Perform thorough Go code reviews incorporating both external Go best practices and project-specific patterns.
Before reviewing, gather context:
Based on the review type, read appropriate references:
references/teetsh-patterns.md for project-specific patternsreferences/effective-go.md for Go best practicesreferences/common-mistakes.md for antipatternsreferences/security.mdFull PR Review: Check all aspects - architecture, implementation, tests, security
Architecture Review: Focus on package structure, interfaces, separation of concerns, domain boundaries
Test Review: Focus on test quality, coverage, behavior vs implementation testing
Single Function/File: Focus on implementation quality, naming, error handling
Organize feedback by priority:
Security vulnerabilities, data loss risks, concurrency bugs, resource leaks
Architecture problems, missing error handling, incorrect business logic, test gaps
Code clarity, performance optimizations, idiomatic Go patterns
Well-designed patterns, good test coverage, clear naming
For each issue, provide:
Check adherence to Teetsh patterns:
pkg/externals/tracker/client.goFor auth, payments, user input, external API code:
t.Error, t.Fatal, t.Errorf)Structure your review as:
## Critical Issues
[Issues that must be fixed before merge]
## Important Issues
[Issues that should be fixed]
## Suggestions
[Optional improvements]
## Positive Feedback
[What was done well]
For each issue:
### [Area]: [Brief description]
**Problem**: [What's wrong and why it matters]
**Current code**:
```go
[Show problematic code]
Suggested fix:
[Show corrected code]
Reference: [Link to specific pattern/practice]
## Example Review Snippets
### Function Design Issue
Problem: Function mixes high-level flow with low-level details, making it hard to understand intent
Current code:
func GetUserData(id int) (*User, error) {
query := "SELECT * FROM users WHERE id = ?"
row := db.QueryRow(query, id)
var user User
err := row.Scan(&user.ID, &user.Name, &user.Email)
if err != nil {
return nil, err
}
// ... more low-level operations
}
Suggested fix:
func GetUserData(id int) (*User, error) {
user, err := findUserByID(id)
if err != nil {
return nil, fmt.Errorf("failed to get user data: %w", err)
}
return user, nil
}
func findUserByID(id int) (*User, error) {
query := "SELECT * FROM users WHERE id = ?"
row := db.QueryRow(query, id)
var user User
if err := row.Scan(&user.ID, &user.Name, &user.Email); err != nil {
return nil, err
}
return &user, nil
}
Reference: See references/teetsh-patterns.md - Function Design
### Testing Issue
Problem: Project uses vanilla Go testing for better stack traces and no external dependencies
Current code:
assert.Equal(t, expected, result)
assert.NotNil(t, user)
Suggested fix:
if result != expected {
t.Errorf("Expected %v, got %v", expected, result)
}
if user == nil {
t.Fatal("user should not be nil")
}
Reference: See references/teetsh-patterns.md - Testing Patterns
### Security Issue
Problem: User input concatenated into SQL query allows SQL injection attacks
Current code:
query := "SELECT * FROM users WHERE email = '" + email + "'"
db.Query(query)
Suggested fix:
query := "SELECT * FROM users WHERE email = $1"
db.Query(query, email)
Reference: See references/security.md - SQL Injection Prevention
## When NOT to Comment
Avoid feedback on:
- Trivial formatting issues (gofmt handles this)
- Personal style preferences not in project patterns
- Nitpicks that don't affect functionality or maintainability
- Issues already addressed in other comments
## Multi-file Review Strategy
For PRs with many files:
1. Start with architecture overview (new packages, major changes)
2. Review core business logic files first
3. Review tests for core logic
4. Review supporting files (handlers, viewmodels)
5. Summarize overall assessment
## After Review
If significant issues found:
- Summarize the most important themes
- Suggest whether changes are required before merge
- Offer to explain any patterns or practices in detail
xiaohongshu
technical spec
product ux expert
database patterns
Conduct multi-agent task orchestration and workflow coordination.
Initialize project with Conductor artifacts (product definition,
Expert in web animations, transitions, and motion design using Framer Motion and CSS
Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...
PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.
Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...
Display project status, active tracks, and next actions
Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.
Generate, edit, and beat-sync AI video with leading models in one workspace.
The world's fastest calendar for remote work
Transform Your Design with AI Designer by ImgCreator.ai
Revolutionizing Video Production with AI-Powered Creativity
Extend an image past the frame and let AI fill the new aspect ratio.
Discover your celebrity doppelgänger with StarByFace!
ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.
Opus.ai: Revolutionize Your Web Experience