Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
git clone --depth 1 https://github.com/Bilal140202/the-lord-of-the-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/rules/bilal140202/the-lord-of-the-skills/go)<a href="https://agentmods.dev/rules/bilal140202/the-lord-of-the-skills/go"><img src="https://agentmods.dev/badge/rules/bilal140202/the-lord-of-the-skills/go/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/rules/bilal140202/the-lord-of-the-skills/go"><img src="https://agentmods.dev/badge/rules/bilal140202/the-lord-of-the-skills/go.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00000 | $0.01843 |
| Opus 5 | $0.00000 | $0.00922 |
| Sonnet 5 | $0.00000 | $0.00369 |
| Haiku 4.5 | $0.00000 | $0.00184 |
Grade A, and why
go scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 8d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
data, err := fetch(u) This is a copy
100% identical to go — 0 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 393 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Go Best Practices
Overview
| Aspect | Recommendation |
|---|---|
| Version | Go 1.21+ |
| Modules | Always use go modules |
| Errors | Return errors, don't panic |
| Concurrency | Channels and goroutines |
Project Structure
myproject/
├── cmd/
│ └── myapp/
│ └── main.go # Application entry point
├── internal/ # Private application code
│ ├── handlers/
│ ├── services/
│ └── repository/
├── pkg/ # Public libraries
│ └── utils/
├── api/ # API definitions (OpenAPI, proto)
├── config/
├── go.mod
├── go.sum
└── Makefile
Error Handling
Return Errors, Don't Panic
// ✅ Return errors
func GetUser(id string) (*User, error) {
user, err := db.Find(id)
if err != nil {
return nil, fmt.Errorf("failed to get user %s: %w", id, err)
}
return user, nil
}
// ❌ Don't panic for expected errors
func GetUser(id string) *User {
user, err := db.Find(id)
if err != nil {
panic(err) // Bad!
}
return user
}
Custom Error Types
type NotFoundError struct {
Resource string
ID string
}
func (e *NotFoundError) Error() string {
return fmt.Sprintf("%s with id %s not found", e.Resource, e.ID)
}
// Check error type
func HandleError(err error) {
var notFound *NotFoundError
if errors.As(err, ¬Found) {
// Handle not found
}
}
Error Wrapping
import "fmt"
func ProcessOrder(id string) error {
order, err := GetOrder(id)
if err != nil {
// Wrap with context
return fmt.Errorf("process order %s: %w", id, err)
}
if err := ValidateOrder(order); err != nil {
return fmt.Errorf("validate order: %w", err)
}
return nil
}
Concurrency
Goroutines and Channels
func FetchAll(urls []string) []Result {
results := make(chan Result, len(urls))
for _, url := range urls {
go func(u string) {
data, err := fetch(u)
results <- Result{URL: u, Data: data, Err: err}
}(url)
}
var output []Result
for range urls {
output = append(output, <-results)
}
return output
}
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 8d ago First seen · 393 lines · 0 tokens per session scan A ceaa6f90a916
go is a cursor rule published in the GitHub repository Bilal140202/the-lord-of-the-skills (4 stars, last pushed 6d ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 1,843 tokens. A static security scan graded it A with 1 finding (makes network calls). It is 100% identical to go, differing in 0 lines, and is treated as a copy.
Other cursor rules, from other repositories
go-backend-scalability-cursorrules-prompt-file
Cursor rules for Go development with backend scalability.
go-servemux-rest-api-cursorrules-prompt-file
Cursor rules for Go development with ServeMux REST API integration.
python
Python best practices and patterns for modern software development with Flask and SQLite.
python--typescript-guide-cursorrules-prompt-file
Cursor rules for Python development with TypeScript guide integration.
go-temporal-dsl-prompt-file
Cursor rules for Go development with Temporal DSL integration.
internal-interface
Interface Definition Rules for internal/.