Crawler Summary

golang-reviewer answer-first brief

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

Claim this agent
Agent DossierGitHubSafety: 94/100

golang-reviewer

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

OpenClawself-declared

Public facts

4

Change events

1

Artifacts

0

Freshness

Apr 15, 2026

Verifiededitorial-contentNo verified compatibility signals

Capability contract not published. No trust telemetry is available yet. Last updated 4/15/2026.

Trust evidence available

Trust score

Unknown

Compatibility

OpenClaw

Freshness

Apr 15, 2026

Vendor

Cabewaldrop

Artifacts

0

Benchmarks

0

Last release

Unpublished

Executive Summary

Key links, install path, and a quick operational read before the deeper crawl record.

Verifiededitorial-content

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.git
  1. 1

    Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.

  2. 2

    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.

Evidence Ledger

Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.

Verifiededitorial-content
Vendor (1)

Vendor

Cabewaldrop

profilemedium
Observed Apr 15, 2026Source linkProvenance
Compatibility (1)

Protocol compatibility

OpenClaw

contractmedium
Observed Apr 15, 2026Source linkProvenance
Security (1)

Handshake status

UNKNOWN

trustmedium
Observed unknownSource linkProvenance
Integration (1)

Crawlable docs

6 indexed pages on the official domain

search_documentmedium
Observed Apr 15, 2026Source linkProvenance

Release & Crawl Timeline

Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.

Self-declaredagent-index

Artifacts Archive

Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.

Self-declaredGITHUB OPENCLEW

Extracted files

0

Examples

6

Snippets

0

Languages

typescript

Parameters

Executable Examples

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, commit

bash

# 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,
}

Docs & README

Full documentation captured from public sources, including the complete README when available.

Self-declaredGITHUB OPENCLEW

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

Full README

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 loop", "go best practices".

Go Code Reviewer

Systematic Go code review combining automated tooling with manual inspection.

Quick Reference

| 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 |


When to Use / When NOT to Use

✅ Use this skill when:

  • Reviewing Go code for quality issues
  • Running quality gates before merge/release
  • Security auditing Go applications
  • Improving test coverage
  • Running review → fix → test loops
  • Preparing Go code for production

❌ Do NOT use when:

  • Non-Go codebases (use language-specific reviewer)
  • Quick syntax check only (just run go vet)
  • Performance profiling (use pprof directly)
  • Debugging runtime issues (use dlv debugger)

Decision Tree

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

Step 1: Static Analysis

# 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.


Step 2: Tests & Coverage

# 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 |


Step 3: Idiomatic Go Patterns

Naming

| 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{}

Error Handling

// ❌ 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) {}

Struct Initialization

// ❌ BAD: Positional fields
user := User{"john", 30, true}

// ✅ GOOD: Named fields
user := User{
    Name:   "john",
    Age:    30,
    Active: true,
}

Defer

// ❌ 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
    }
}

Step 3b: Clean Code Principles

Based on Bob Martin's Clean Code — adapted for Go.

Functions

| 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)
}

SOLID Principles

| 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
}

The Boy Scout Rule

"Leave the code cleaner than you found it."

When touching a file:

  • [ ] Rename unclear variables
  • [ ] Extract magic numbers to constants
  • [ ] Remove dead code
  • [ ] Add missing error context
  • [ ] Fix obvious lint warnings

Naming

| ❌ 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 |

Comments

| 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)

Code Smells Checklist

  • [ ] Long functions — Extract smaller functions
  • [ ] Deep nesting — Use guard clauses, early returns
  • [ ] Primitive obsession — Create domain types
  • [ ] Feature envy — Move logic to the struct that owns the data
  • [ ] God struct — Split into focused types
  • [ ] Duplicate code — DRY, but don't over-abstract
// ❌ 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
}

Package Structure

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 |


Step 4: Security Checklist

Secrets & Credentials

  • [ ] No hardcoded API keys, passwords, tokens
  • [ ] Secrets from env or secret manager
  • [ ] Config files have 0600 permissions
// ❌ NEVER
const apiKey = "sk-live-xxxxx"

// ✅ ALWAYS
apiKey := os.Getenv("API_KEY")
if apiKey == "" {
    return errors.New("API_KEY required")
}

Input Validation

  • [ ] User input validated before use
  • [ ] File paths sanitized (no traversal)
  • [ ] SQL uses parameterized queries
// ❌ 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)

HTTP Security

  • [ ] Clients have timeouts
  • [ ] TLS not disabled in production
  • [ ] Headers sanitized in logs
// ❌ 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},
}

Concurrency

  • [ ] Shared state protected (mutex or channels)
  • [ ] No goroutine leaks (context cancellation)
  • [ ] WaitGroup: Add before Go, Done deferred
// ❌ 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()

Semgrep Scan (Optional)

# Go-specific security rules
semgrep --config p/golang .

# OWASP rules
semgrep --config p/owasp-top-ten .

Step 5: Dependencies

# 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 ./...

Findings Classification

| 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 |


Review Loop

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

Output Format

## 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

Common Pitfalls

| ❌ 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 |


Minimal golangci-lint Config

# .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

References

Go-Specific:

Clean Code & Architecture:

Tools:

Contract & API

Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.

MissingGITHUB OPENCLEW

Contract coverage

Status

missing

Auth

None

Streaming

No

Data region

Unspecified

Protocol support

OpenClaw: self-declared

Requires: none

Forbidden: none

Guardrails

Operational confidence: low

No positive guardrails captured.
Invocation examples
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"

Reliability & Benchmarks

Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.

Missingruntime-metrics

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

Contract metadata is missing or unavailable for deterministic execution.
No benchmark suites or observed failure patterns are available.

Media & Demo

Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.

Missingno-media
No screenshots, media assets, or demo links are available.

Related Agents

Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.

Self-declaredprotocol-neighbors
GITHUB_REPOSactivepieces

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

OPENCLAW
GITHUB_REPOScherry-studio

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

MCPOPENCLAW
GITHUB_REPOSAionUi

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

MCPOPENCLAW
GITHUB_REPOSCopilotKit

Rank

70

The Frontend for Agents & Generative UI. React + Angular

Traction

No public download signal

Freshness

Updated 23d ago

OPENCLAW
Machine Appendix

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.