Skip to content
Back to skills

Connect Go Reference

ASecurity

Reference the LOCAL connect-go/ directory for ConnectRPC protocol. NEVER use WebFetch/WebSearch for github.com/connectrpc/connect-go - always read local files.

  • 666 stars
  • 0 votes
  • 0 copies
  • 5 views
  • Added February 8, 2026
developmentgobashdebugginggit

Works with

  • cli

Security analysis

A100/100

Scanned February 12, 2026

npx -y skills add majiayu000/claude-skill-registry --skill connect-go-reference --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Connect Go Reference?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Connect Go Reference
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-connect-go-reference/badge)](https://www.skillsdirectory.com/skills/majiayu000-connect-go-reference)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: connect-go-reference
description: Reference the LOCAL connect-go/ directory for ConnectRPC protocol. NEVER use WebFetch/WebSearch for github.com/connectrpc/connect-go - always read local files.
---

# connect-go-reference

Reference the LOCAL `connect-go/` directory for understanding the ConnectRPC protocol.

## CRITICAL: Use Local Files Only

**NEVER fetch from GitHub.** Do not use:
- `WebFetch` with `github.com/connectrpc/connect-go`
- `WebFetch` with `raw.githubusercontent.com/.../connect-go`
- `WebSearch` for "connect-go" implementation details

**ALWAYS use local files:**
- `Read` tool with `connect-go/*.go` paths
- `Grep` tool with `path="connect-go/"`
- `Glob` tool with `path="connect-go/"`

The `connect-go/` directory at the repository root is the authoritative reference.

## Instructions

The `connect-go/` directory at the repository root contains the official Go implementation of the ConnectRPC protocol.

### Setup (one-time only)

If the directory doesn't exist, clone it once:

```bash
git clone https://github.com/connectrpc/connect-go.git connect-go
```

After cloning, ALWAYS use the local files via Read/Grep/Glob tools.

### Key Files Reference

| File | Purpose |
|------|---------|
| `protocol_connect.go` | Connect protocol implementation (unary + streaming) |
| `protocol_grpc.go` | gRPC protocol implementation |
| `protocol.go` | Protocol abstraction and detection |
| `envelope.go` | Frame/envelope encoding (5-byte header) |
| `client.go` | Client-side implementation |
| `handler.go` | Server-side handler implementation |
| `client_stream.go` | Client streaming logic |
| `handler_stream.go` | Server streaming logic |
| `error.go` | Error types and code mappings |
| `codec.go` | Protobuf/JSON codec interfaces |
| `compression.go` | Compression support (gzip, etc.) |
| `duplex_http_call.go` | HTTP call abstraction for streaming |
| `option.go` | Configuration options |

### Usage Patterns

**Protocol detection logic:**
```
Read connect-go/protocol.go and connect-go/protocol_connect.go for Content-Type parsing
```

**Streaming frame format:**
```
Read connect-go/envelope.go for the 5-byte envelope format:
[flags: 1 byte][length: 4 bytes BE][payload]
```

**Error handling:**
```
Read connect-go/error.go for error codes, wire format, and detail encoding
```

**gRPC trailers:**
```
Read connect-go/protocol_grpc.go for grpc-status header and trailer handling
```

### When to Use

- Implementing new protocol features
- Debugging wire format or encoding issues
- Verifying correct behavior against reference
- Understanding edge cases in streaming
- Checking error code mappings

### How to Use (Examples)

```bash
# Search for content-type handling
Grep pattern="Content-Type" path="connect-go/"

# Read specific file
Read file_path="connect-go/protocol_connect.go"

# Find all error-related code
Grep pattern="Code" path="connect-go/error.go"
```

**FORBIDDEN:**
- `WebFetch("https://github.com/connectrpc/connect-go/...")` - NO
- `WebFetch("https://raw.githubusercontent.com/connectrpc/connect-go/...")` - NO
- `WebSearch("connect-go ...")` for implementation details - NO
- Guessing behavior without reading local `connect-go/*.go` files - NO

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.