Claude-skill-registry lcp-go-lcpd
Develop the go-lcpd daemon/tools (Go). Follow repo principles (robustness, TDD, lint) and validate with make test/lint/gen.
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/lcp-go-lcpd" ~/.claude/skills/majiayu000-claude-skill-registry-lcp-go-lcpd && rm -rf "$T"
manifest:
skills/data/lcp-go-lcpd/SKILL.mdsource content
You are working in the
go-lcpd/ module (the reference LCP daemon and tools).
Scope
- Module:
go-lcpd/ - Primary behavior sources:
- Protocol spec:
docs/protocol/protocol.md - WYSIWID design doc (when present):
(seego-lcpd/spec.md
)$lcp-wysiwid-spec
- Protocol spec:
Development principles
These are the consolidated rules that previously lived in
go-lcpd/AGENTS.md:
- If
exists, implementation MUST match the behavior defined there.go-lcpd/spec.md - Design for robustness. Keep modules aligned with SRP.
- Use a ubiquitous language. Keep terminology consistent across code and docs.
- Test-first. Prefer TDD when changing behavior.
- Run golangci-lint v2. When changing code, run
and fix findings.make lint - Use
in tests. Compare expected vs actual withcmp.Diff
.github.com/google/go-cmp/cmp.Diff - Make logging diagnosable. Logging level MUST be configurable (for example via env vars).
- Prefer lnd libraries. Use lnd-provided APIs/libraries before re-implementing.
Go documentation and commenting (house style)
- Every function should have a comment describing purpose and assumptions.
- Function comments start with the function name (Effective Go), use complete sentences.
- Comments in code should explain intent, not restate the obvious.
Workflow
- Locate the relevant codepath under
orgo-lcpd/internal/
.go-lcpd/tools/ - If changing protobufs, edit the
sources and regenerate instead of hand-editing generated code..proto - Prefer small, testable changes; add/update unit tests and integration tests as needed.
- If you are authoring/changing
, usego-lcpd/spec.md
.$lcp-wysiwid-spec
Validation (run from go-lcpd/
)
go-lcpd/
(only if protobuf / generated code changes)make genmake testmake lintmake fmt
Optional integration test (regtest):
LCP_ITEST_REGTEST=1 go test ./itest/e2e -run Regtest_LNDPayment -count=1 -v