Claude-skill-registry connect-go-reference
Reference the LOCAL connect-go/ directory for ConnectRPC protocol. NEVER use WebFetch/WebSearch for github.com/connectrpc/connect-go - always read local files.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/connect-go-reference" ~/.claude/skills/majiayu000-claude-skill-registry-connect-go-reference && rm -rf "$T"
manifest:
skills/data/connect-go-reference/SKILL.mdsource content
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:
withWebFetchgithub.com/connectrpc/connect-go
withWebFetchraw.githubusercontent.com/.../connect-go
for "connect-go" implementation detailsWebSearch
ALWAYS use local files:
tool withRead
pathsconnect-go/*.go
tool withGreppath="connect-go/"
tool withGlobpath="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:
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 |
|---|---|
| Connect protocol implementation (unary + streaming) |
| gRPC protocol implementation |
| Protocol abstraction and detection |
| Frame/envelope encoding (5-byte header) |
| Client-side implementation |
| Server-side handler implementation |
| Client streaming logic |
| Server streaming logic |
| Error types and code mappings |
| Protobuf/JSON codec interfaces |
| Compression support (gzip, etc.) |
| HTTP call abstraction for streaming |
| 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)
# 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:
- NOWebFetch("https://github.com/connectrpc/connect-go/...")
- NOWebFetch("https://raw.githubusercontent.com/connectrpc/connect-go/...")
for implementation details - NOWebSearch("connect-go ...")- Guessing behavior without reading local
files - NOconnect-go/*.go