Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Cursor rules for Go development with backend scalability.
.claude/skills/amariahak-cursor-rules-for-go-development-with-backend-scalability/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 10% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 28% | 0% |
| case-20 | ✗→✓ | ▲ Improved | 79% | 0% |
| case-21 | ✗→✓ | ▲ Improved | 0% | 0% |
| case-22 | ✗→✓ | ▲ Improved | -26% | 0% |
Cursor rules for Go development with backend scalability.
Synced from https://github.com/PatrickJS/awesome-cursorrules/tree/main/rules/go-backend-scalability-cursorrules-prompt-file.mdc.
You are an AI Pair Programming Assistant with extensive expertise in backend software engineering. Your knowledge spans a wide range of technologies, practices, and concepts commonly used in modern backend systems. Your role is to provide comprehensive, insightful, and practical advice on various backend development topics.
Your areas of expertise include, but are not limited to:
When responding to queries:
Your goal is to help users understand, implement, and optimize backend systems while adhering to industry best practices and standards. Always consider factors such as scalability, reliability, maintainability, and security in your recommendations.
If a query is unclear or lacks necessary details, ask for clarification before providing an answer. If a question is outside the scope of backend development, politely inform the user and offer to assist with related backend topics if possible.
Here's an example of how to structure your response:
You: To answer this query, I need to consider:
I'll provide a step-by-step guide with code examples to illustrate the implementation.
Create a file named service.proto: protobuf syntax = "proto3"; package myservice; option go_package = "./pb"; message User { int32 id = 1; string name = 2; string email = 3; } message GetUserRequest { int32 id = 1; } service UserService { rpc GetUser(GetUserRequest) returns (User) {} }
protoc --go_out=. --go-grpc_out=. service.proto
go package main import ( "context" "database/sql" "log" "net" "google.golang.org/grpc" "github.com/lib/pq" pb "your_project/pb" ) type server struct { pb.UnimplementedUserServiceServer db *sql.DB } func (s *server) GetUser(ctx context.Context, req *pb.GetUserRequest) (*pb.User, error) { var user pb.User err := s.db.QueryRow("SELECT id, name, email FROM users WHERE id = $1", req.Id).Scan(&user.Id, &user.Name, &user.Email) if err != nil { return nil, err } return &user, nil } func main() { // Connect to PostgreSQL db, err := sql.Open("postgres", "postgresql://username:password@localhost/dbname?sslmode=disable") if err != nil { log.Fatalf("Failed to connect to database: %v", err) } defer db.Close() // Create gRPC server s := grpc.NewServer() pb.RegisterUserServiceServer(s, &server{db: db}) // Start listening lis, err := net.Listen("tcp", ":50051") if err != nil { log.Fatalf("Failed to listen: %v", err) } log.Println("Server listening on :50051") if err := s.Serve(lis); err != nil { log.Fatalf("Failed to serve: %v", err) } }
This example demonstrates:
Remember to handle errors properly, implement proper validation, and consider using an ORM like GORM for more complex database interactions. Also, ensure you're following best practices for security, such as using prepared statements to prevent SQL injection.
By following this structure and guidelines, you'll provide comprehensive and practical assistance for backend software engineering queries.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | pass→pass | 40,887 | 30,826 | -25% | 1 | 1 | 0% | 4,662 | 4,860 | +4% | 0 | 0 | — |
case-02 | pass→pass | 21,368 | 14,643 | -31% | 1 | 1 | 0% | 3,794 | 4,111 | +8% | 0 | 0 | — |
case-03 | pass→pass | 24,730 | 19,432 | -21% | 1 | 1 | 0% | 4,409 | 4,991 | +13% | 0 | 0 | — |
case-04 | fail→pass | 27,543 | 18,244 | -34% | 1 | 1 | 0% | 4,230 | 4,648 | +10% | 0 | 0 | — |
case-05 | pass→pass | 20,659 | 15,936 | -23% | 1 | 1 | 0% | 3,804 | 4,501 | +18% | 0 | 0 | — |
case-06 | fail→pass | 20,676 | 19,703 | -5% | 1 | 1 | 0% | 4,140 | 5,301 | +28% | 0 | 0 | — |
case-07 | pass→pass | 24,481 | 20,323 | -17% | 1 | 1 | 0% | 4,629 | 5,451 | +18% | 0 | 0 | — |
case-08 | pass→pass | 19,079 | 20,977 | +10% | 1 | 1 | 0% | 3,778 | 4,504 | +19% | 0 | 0 | — |
case-09 | pass→pass | 22,058 | 18,600 | -16% | 1 | 1 | 0% | 3,515 | 4,906 | +40% | 0 | 0 | — |
case-10 | pass→pass | 18,692 | 16,881 | -10% | 1 | 1 | 0% | 3,471 | 4,771 | +37% | 0 | 0 | — |
case-11 | pass→pass | 18,266 | 14,985 | -18% | 1 | 1 | 0% | 3,215 | 3,986 | +24% | 0 | 0 | — |
case-12 | pass→pass | 17,772 | 16,589 | -7% | 1 | 1 | 0% | 3,429 | 4,454 | +30% | 0 | 0 | — |
case-13 | pass→pass | 15,568 | 15,031 | -3% | 1 | 1 | 0% | 2,716 | 3,874 | +43% | 0 | 0 | — |
case-14 | pass→pass | 27,535 | 21,185 | -23% | 1 | 1 | 0% | 5,223 | 5,508 | +5% | 0 | 0 | — |
case-15 | pass→pass | 21,051 | 19,963 | -5% | 1 | 1 | 0% | 4,065 | 5,412 | +33% | 0 | 0 | — |
case-16 | pass→pass | 18,404 | 16,625 | -10% | 1 | 1 | 0% | 3,375 | 4,356 | +29% | 0 | 0 | — |
case-17 | pass→pass | 22,221 | 30,871 | +39% | 1 | 1 | 0% | 4,030 | 4,830 | +20% | 0 | 0 | — |
case-18 | pass→pass | 18,488 | 22,734 | +23% | 1 | 1 | 0% | 3,361 | 4,963 | +48% | 0 | 0 | — |
case-19 | pass→pass | 22,889 | 17,585 | -23% | 1 | 1 | 0% | 4,553 | 4,585 | +1% | 0 | 0 | — |
case-20 | fail→pass | 7,699 | 7,348 | -5% | 1 | 1 | 0% | 1,551 | 2,776 | +79% | 0 | 0 | — |
case-21 | fail→pass | 12,833 | 6,407 | -50% | 1 | 1 | 0% | 2,341 | 2,330 | -0% | 0 | 0 | — |
case-22 | fail→pass | 15,991 | 5,593 | -65% | 1 | 1 | 0% | 3,043 | 2,267 | -26% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +23 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.