Rank
70
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
Traction
No public download signal
Freshness
Updated 2d ago
Crawler Summary
Review Go codebases for quality, security, and idiomatic patterns. Use when asked to review Go code, run quality gates, audit Go security, fix linting errors, improve test coverage, or iterate on code quality. Combines static analysis, security review, idiomatic patterns, and testing best practices. Triggers on "go review", "golang lint", "go security", "go coverage", "quality loop", "go best practices". --- name: golang-reviewer description: Review Go codebases for quality, security, and idiomatic patterns. Use when asked to review Go code, run quality gates, audit Go security, fix linting errors, improve test coverage, or iterate on code quality. Combines static analysis, security review, idiomatic patterns, and testing best practices. Triggers on "go review", "golang lint", "go security", "go coverage", "quality l Capability contract not published. No trust telemetry is available yet. Last updated 4/15/2026.
Freshness
Last checked 4/15/2026
Best For
golang-reviewer is best for be, extract workflows where OpenClaw compatibility matters.
Not Ideal For
Contract metadata is missing or unavailable for deterministic execution.
Evidence Sources Checked
editorial-content, GITHUB OPENCLEW, runtime-metrics, public facts pack
Review Go codebases for quality, security, and idiomatic patterns. Use when asked to review Go code, run quality gates, audit Go security, fix linting errors, improve test coverage, or iterate on code quality. Combines static analysis, security review, idiomatic patterns, and testing best practices. Triggers on "go review", "golang lint", "go security", "go coverage", "quality loop", "go best practices". --- name: golang-reviewer description: Review Go codebases for quality, security, and idiomatic patterns. Use when asked to review Go code, run quality gates, audit Go security, fix linting errors, improve test coverage, or iterate on code quality. Combines static analysis, security review, idiomatic patterns, and testing best practices. Triggers on "go review", "golang lint", "go security", "go coverage", "quality l
Public facts
4
Change events
1
Artifacts
0
Freshness
Apr 15, 2026
Capability contract not published. No trust telemetry is available yet. Last updated 4/15/2026.
Trust score
Unknown
Compatibility
OpenClaw
Freshness
Apr 15, 2026
Vendor
Cabewaldrop
Artifacts
0
Benchmarks
0
Last release
Unpublished
Key links, install path, and a quick operational read before the deeper crawl record.
Summary
Capability contract not published. No trust telemetry is available yet. Last updated 4/15/2026.
Setup snapshot
git clone https://github.com/cabewaldrop/golang-code-reviewer.gitSetup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.
Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.
Vendor
Cabewaldrop
Protocol compatibility
OpenClaw
Handshake status
UNKNOWN
Crawlable docs
6 indexed pages on the official domain
Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.
Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.
Extracted files
0
Examples
6
Snippets
0
Languages
typescript
Parameters
text
Review Request
│
├─ Full review? → Run Steps 1-5, iterate until clean
│
├─ Lint only? → Step 1: Static Analysis
│
├─ Security only? → Step 4: Security Checklist
│
├─ Coverage only? → Step 2: Tests & Coverage
│
└─ Quick fix? → Run lint, fix errors, commitbash
# Primary (runs 50+ linters) golangci-lint run ./... 2>&1 | head -100 # Fallback if golangci-lint unavailable go vet ./... staticcheck ./...
bash
# Run with race detection go test -race -coverprofile=coverage.out ./... # Coverage summary go tool cover -func=coverage.out | tail -20 # HTML report (optional) go tool cover -html=coverage.out -o coverage.html
go
// ❌ BAD
type IUserService interface{} // No I prefix
func (u *User) GetName() string {} // No Get prefix
type HttpClient struct{} // Inconsistent caps
// ✅ GOOD
type UserService interface{}
func (u *User) Name() string {}
type HTTPClient struct{}go
// ❌ BAD: Swallowed error
if err != nil {
// empty
}
// ❌ BAD: No context
return err
// ❌ BAD: Sentinel comparison with ==
if err == sql.ErrNoRows {}
// ✅ GOOD: Wrapped with context
if err != nil {
return fmt.Errorf("connect to database: %w", err)
}
// ✅ GOOD: errors.Is for sentinel
if errors.Is(err, sql.ErrNoRows) {}go
// ❌ BAD: Positional fields
user := User{"john", 30, true}
// ✅ GOOD: Named fields
user := User{
Name: "john",
Age: 30,
Active: true,
}Full documentation captured from public sources, including the complete README when available.
Docs source
GITHUB OPENCLEW
Editorial quality
ready
Review Go codebases for quality, security, and idiomatic patterns. Use when asked to review Go code, run quality gates, audit Go security, fix linting errors, improve test coverage, or iterate on code quality. Combines static analysis, security review, idiomatic patterns, and testing best practices. Triggers on "go review", "golang lint", "go security", "go coverage", "quality loop", "go best practices". --- name: golang-reviewer description: Review Go codebases for quality, security, and idiomatic patterns. Use when asked to review Go code, run quality gates, audit Go security, fix linting errors, improve test coverage, or iterate on code quality. Combines static analysis, security review, idiomatic patterns, and testing best practices. Triggers on "go review", "golang lint", "go security", "go coverage", "quality l
Systematic Go code review combining automated tooling with manual inspection.
| Task | Command |
|------|---------|
| Full lint | golangci-lint run ./... |
| Basic checks | go vet ./... && staticcheck ./... |
| Tests + race | go test -race -coverprofile=coverage.out ./... |
| Coverage | go tool cover -func=coverage.out |
| Security scan | semgrep --config p/golang . |
| Tidy deps | go mod tidy && go mod verify |
✅ Use this skill when:
❌ Do NOT use when:
go vet)pprof directly)dlv debugger)Review Request
│
├─ Full review? → Run Steps 1-5, iterate until clean
│
├─ Lint only? → Step 1: Static Analysis
│
├─ Security only? → Step 4: Security Checklist
│
├─ Coverage only? → Step 2: Tests & Coverage
│
└─ Quick fix? → Run lint, fix errors, commit
# Primary (runs 50+ linters)
golangci-lint run ./... 2>&1 | head -100
# Fallback if golangci-lint unavailable
go vet ./...
staticcheck ./...
| Linter | Catches | Severity |
|--------|---------|----------|
| errcheck | Unchecked errors | HIGH |
| gosec | Security issues | CRITICAL |
| govet | Suspicious constructs | HIGH |
| ineffassign | Ineffectual assignments | MEDIUM |
| staticcheck | Bugs, simplifications | HIGH |
| unused | Dead code | LOW |
Rule: Fix all errors before proceeding. Warnings can be triaged.
# Run with race detection
go test -race -coverprofile=coverage.out ./...
# Coverage summary
go tool cover -func=coverage.out | tail -20
# HTML report (optional)
go tool cover -html=coverage.out -o coverage.html
Coverage Targets:
| Package Type | Target | Notes | |--------------|--------|-------| | Core business logic | ≥60% | Critical paths, error handling | | Utilities/helpers | ≥40% | Basic happy path | | CLI entry points | 0% OK | main() rarely testable | | Generated code | Skip | Exclude from coverage |
| Element | Convention | Example |
|---------|------------|---------|
| Packages | short, lowercase, no underscores | config, auth |
| Interfaces | -er suffix for single method | Reader, Handler |
| Getters | No Get prefix | user.Name() not user.GetName() |
| Acronyms | All caps | HTTPClient, userID |
| Exported | PascalCase with doc comment | // Client manages... |
// ❌ BAD
type IUserService interface{} // No I prefix
func (u *User) GetName() string {} // No Get prefix
type HttpClient struct{} // Inconsistent caps
// ✅ GOOD
type UserService interface{}
func (u *User) Name() string {}
type HTTPClient struct{}
// ❌ BAD: Swallowed error
if err != nil {
// empty
}
// ❌ BAD: No context
return err
// ❌ BAD: Sentinel comparison with ==
if err == sql.ErrNoRows {}
// ✅ GOOD: Wrapped with context
if err != nil {
return fmt.Errorf("connect to database: %w", err)
}
// ✅ GOOD: errors.Is for sentinel
if errors.Is(err, sql.ErrNoRows) {}
// ❌ BAD: Positional fields
user := User{"john", 30, true}
// ✅ GOOD: Named fields
user := User{
Name: "john",
Age: 30,
Active: true,
}
// ❌ BAD: Defer in loop
for _, f := range files {
file, _ := os.Open(f)
defer file.Close() // Defers stack up!
}
// ✅ GOOD: Explicit close or wrap in function
for _, f := range files {
if err := processFile(f); err != nil {
return err
}
}
Based on Bob Martin's Clean Code — adapted for Go.
| Rule | Guideline | |------|-----------| | Small | 5-20 lines ideal, max 40 | | Do One Thing | If you can extract another function, do it | | One Abstraction Level | Don't mix high-level logic with low-level details | | Few Arguments | 0-2 ideal, 3 max; use structs for more | | No Side Effects | Don't mutate inputs unexpectedly | | Command-Query Separation | Functions either DO something or RETURN something, not both |
// ❌ BAD: Does too much, multiple abstraction levels
func ProcessOrder(order Order) error {
// Validate
if order.ID == "" { return errors.New("missing id") }
if order.Total < 0 { return errors.New("invalid total") }
// Save to DB
db, _ := sql.Open("postgres", connStr)
_, err := db.Exec("INSERT INTO orders...")
// Send email
smtp.SendMail(host, auth, from, to, msg)
return nil
}
// ✅ GOOD: Single responsibility, one abstraction level
func ProcessOrder(order Order) error {
if err := validateOrder(order); err != nil {
return fmt.Errorf("invalid order: %w", err)
}
if err := saveOrder(order); err != nil {
return fmt.Errorf("save failed: %w", err)
}
return notifyCustomer(order)
}
| Principle | Go Application | |-----------|----------------| | Single Responsibility | One struct/package = one reason to change | | Open-Closed | Extend via interfaces, not modification | | Liskov Substitution | Interface implementations must be interchangeable | | Interface Segregation | Small, focused interfaces (1-3 methods) | | Dependency Inversion | Depend on interfaces, not concretions |
// ❌ BAD: Concrete dependency
type OrderService struct {
db *sql.DB // Concrete type
}
// ✅ GOOD: Interface dependency (Dependency Inversion)
type OrderRepository interface {
Save(Order) error
Find(id string) (Order, error)
}
type OrderService struct {
repo OrderRepository // Interface
}
"Leave the code cleaner than you found it."
When touching a file:
| ❌ Bad | ✅ Good | Why |
|--------|---------|-----|
| d | daysSinceCreation | Reveal intent |
| ProcessData | ValidateUserInput | Be specific |
| doStuff | calculateTax | Describe the action |
| tempList | activeUsers | Name the content |
| flag | isAdmin | Booleans as questions |
| Use Comments For | Avoid Comments For |
|------------------|-------------------|
| Legal/license headers | Explaining what code does |
| TODO with ticket reference | Commented-out code |
| Why (non-obvious decisions) | Redundant narration |
| Public API documentation | Markers like // end if |
// ❌ BAD: Narrating the obvious
// Increment counter by 1
counter++
// ✅ GOOD: Explaining why
// Use exponential backoff to avoid thundering herd on recovery
delay := baseDelay * time.Duration(1<<attempt)
// ❌ BAD: Deep nesting
func process(user User) error {
if user.Active {
if user.Verified {
if user.Balance > 0 {
// actual logic here
}
}
}
return nil
}
// ✅ GOOD: Guard clauses (early returns)
func process(user User) error {
if !user.Active {
return ErrInactiveUser
}
if !user.Verified {
return ErrUnverifiedUser
}
if user.Balance <= 0 {
return ErrInsufficientBalance
}
// actual logic here
return nil
}
project/
├── cmd/ # Entry points (main packages)
│ └── server/main.go
├── internal/ # Private packages
│ ├── domain/ # Business entities
│ ├── service/ # Business logic
│ ├── repository/ # Data access
│ └── handler/ # HTTP/gRPC handlers
├── pkg/ # Public packages (if any)
└── go.mod
| Layer | Depends On | Never Depends On | |-------|------------|------------------| | Handler | Service | Repository directly | | Service | Repository (interface) | Handler | | Repository | Domain | Service | | Domain | Nothing | Anything |
// ❌ NEVER
const apiKey = "sk-live-xxxxx"
// ✅ ALWAYS
apiKey := os.Getenv("API_KEY")
if apiKey == "" {
return errors.New("API_KEY required")
}
// ❌ NEVER: Path traversal
path := filepath.Join(base, userInput)
// ✅ ALWAYS: Sanitize
clean := filepath.Clean(userInput)
if strings.HasPrefix(clean, "..") {
return errors.New("invalid path")
}
path := filepath.Join(base, filepath.Base(clean))
// ❌ NEVER: SQL injection
query := fmt.Sprintf("SELECT * FROM users WHERE id = '%s'", id)
// ✅ ALWAYS: Parameterized
row := db.QueryRow("SELECT * FROM users WHERE id = $1", id)
// ❌ NEVER: No timeout
client := &http.Client{}
// ✅ ALWAYS: Explicit timeout
client := &http.Client{
Timeout: 30 * time.Second,
}
// ❌ NEVER: Disabled TLS
tr := &http.Transport{
TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
}
// ✅ ALWAYS: Proper TLS (prod)
tr := &http.Transport{
TLSClientConfig: &tls.Config{MinVersion: tls.VersionTLS12},
}
// ❌ BAD: Goroutine leak
go func() {
for item := range ch {
process(item)
}
}()
// ✅ GOOD: Context cancellation
go func() {
for {
select {
case item := <-ch:
process(item)
case <-ctx.Done():
return
}
}
}()
// ✅ GOOD: WaitGroup pattern
var wg sync.WaitGroup
wg.Add(1)
go func() {
defer wg.Done()
work()
}()
wg.Wait()
# Go-specific security rules
semgrep --config p/golang .
# OWASP rules
semgrep --config p/owasp-top-ten .
# Check for outdated deps
go list -m -u all 2>&1 | grep '\['
# Tidy and verify
go mod tidy
go mod verify
# Check for vulnerabilities
govulncheck ./...
| Severity | Description | Action | |----------|-------------|--------| | CRITICAL | Security vuln, data race, crash | Fix immediately | | HIGH | Lint error, test fail, unchecked error | Fix before merge | | MEDIUM | Coverage gap, missing docs | Fix or document why not | | LOW | Style preference, micro-optimization | Optional | | FALSE POSITIVE | Tool wrong or N/A | Document and skip |
1. Run full review (Steps 1-5)
2. Fix CRITICAL and HIGH findings
3. Commit: "fix: description (file:line)"
4. Re-run static analysis + tests
5. If new issues → repeat from 2
6. Document remaining MEDIUM/LOW
7. Exit when: tests pass, lint clean, only minor findings
Report: REVIEW_COMPLETE with summary
## Iteration N
### Fixed
- [HIGH] Fixed unchecked error in db.go:45
- [HIGH] Added timeout to HTTP client
### Remaining
- [MEDIUM] browser pkg coverage 31% (needs playwright)
- [LOW] Consider renaming httpClient → client
### Status
| Check | Result |
|-------|--------|
| golangci-lint | ✅ 0 errors |
| go test -race | ✅ PASS |
| Coverage | 58.7% |
CONTINUE / REVIEW_COMPLETE
| ❌ Don't | ✅ Do |
|----------|-------|
| Ignore errcheck findings | Fix or explicitly ignore with _ = |
| Disable linters wholesale | Add targeted //nolint:linter with reason |
| Chase 100% coverage | Focus on critical paths + error handling |
| Skip -race in tests | Always run race detector |
| Return bare errors | Wrap with fmt.Errorf("context: %w", err) |
| Use interface{} freely | Use generics or specific types |
# .golangci.yml
version: "2"
linters:
enable:
- errcheck
- gosec
- govet
- ineffassign
- staticcheck
- unused
run:
timeout: 5m
issues:
exclude-use-default: false
output:
formats:
- format: line-number
Go-Specific:
Clean Code & Architecture:
Tools:
Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.
Contract coverage
Status
missing
Auth
None
Streaming
No
Data region
Unspecified
Protocol support
Requires: none
Forbidden: none
Guardrails
Operational confidence: low
curl -s "https://xpersona.co/api/v1/agents/cabewaldrop-golang-code-reviewer/snapshot"
curl -s "https://xpersona.co/api/v1/agents/cabewaldrop-golang-code-reviewer/contract"
curl -s "https://xpersona.co/api/v1/agents/cabewaldrop-golang-code-reviewer/trust"
Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.
Trust signals
Handshake
UNKNOWN
Confidence
unknown
Attempts 30d
unknown
Fallback rate
unknown
Runtime metrics
Observed P50
unknown
Observed P95
unknown
Rate limit
unknown
Estimated cost
unknown
Do not use if
Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.
Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.
Rank
70
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
Traction
No public download signal
Freshness
Updated 2d ago
Rank
70
AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs
Traction
No public download signal
Freshness
Updated 5d ago
Rank
70
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
Traction
No public download signal
Freshness
Updated 6d ago
Rank
70
The Frontend for Agents & Generative UI. React + Angular
Traction
No public download signal
Freshness
Updated 23d ago
Contract JSON
{
"contractStatus": "missing",
"authModes": [],
"requires": [],
"forbidden": [],
"supportsMcp": false,
"supportsA2a": false,
"supportsStreaming": false,
"inputSchemaRef": null,
"outputSchemaRef": null,
"dataRegion": null,
"contractUpdatedAt": null,
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Invocation Guide
{
"preferredApi": {
"snapshotUrl": "https://xpersona.co/api/v1/agents/cabewaldrop-golang-code-reviewer/snapshot",
"contractUrl": "https://xpersona.co/api/v1/agents/cabewaldrop-golang-code-reviewer/contract",
"trustUrl": "https://xpersona.co/api/v1/agents/cabewaldrop-golang-code-reviewer/trust"
},
"curlExamples": [
"curl -s \"https://xpersona.co/api/v1/agents/cabewaldrop-golang-code-reviewer/snapshot\"",
"curl -s \"https://xpersona.co/api/v1/agents/cabewaldrop-golang-code-reviewer/contract\"",
"curl -s \"https://xpersona.co/api/v1/agents/cabewaldrop-golang-code-reviewer/trust\""
],
"jsonRequestTemplate": {
"query": "summarize this repo",
"constraints": {
"maxLatencyMs": 2000,
"protocolPreference": [
"OPENCLEW"
]
}
},
"jsonResponseTemplate": {
"ok": true,
"result": {
"summary": "...",
"confidence": 0.9
},
"meta": {
"source": "GITHUB_OPENCLEW",
"generatedAt": "2026-04-16T23:43:23.410Z"
}
},
"retryPolicy": {
"maxAttempts": 3,
"backoffMs": [
500,
1500,
3500
],
"retryableConditions": [
"HTTP_429",
"HTTP_503",
"NETWORK_TIMEOUT"
]
}
}Trust JSON
{
"status": "unavailable",
"handshakeStatus": "UNKNOWN",
"verificationFreshnessHours": null,
"reputationScore": null,
"p95LatencyMs": null,
"successRate30d": null,
"fallbackRate": null,
"attempts30d": null,
"trustUpdatedAt": null,
"trustConfidence": "unknown",
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Capability Matrix
{
"rows": [
{
"key": "OPENCLEW",
"type": "protocol",
"support": "unknown",
"confidenceSource": "profile",
"notes": "Listed on profile"
},
{
"key": "be",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "extract",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
}
],
"flattenedTokens": "protocol:OPENCLEW|unknown|profile capability:be|supported|profile capability:extract|supported|profile"
}Facts JSON
[
{
"factKey": "docs_crawl",
"category": "integration",
"label": "Crawlable docs",
"value": "6 indexed pages on the official domain",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
},
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Cabewaldrop",
"href": "https://github.com/cabewaldrop/golang-code-reviewer",
"sourceUrl": "https://github.com/cabewaldrop/golang-code-reviewer",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-04-15T03:14:33.010Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://xpersona.co/api/v1/agents/cabewaldrop-golang-code-reviewer/contract",
"sourceUrl": "https://xpersona.co/api/v1/agents/cabewaldrop-golang-code-reviewer/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-04-15T03:14:33.010Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://xpersona.co/api/v1/agents/cabewaldrop-golang-code-reviewer/trust",
"sourceUrl": "https://xpersona.co/api/v1/agents/cabewaldrop-golang-code-reviewer/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
]Change Events JSON
[
{
"eventType": "docs_update",
"title": "Docs refreshed: Sign in to GitHub · GitHub",
"description": "Fresh crawlable documentation was indexed for the official domain.",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
}
]Sponsored
Ads related to golang-reviewer and adjacent AI workflows.