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.md
source 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):
      go-lcpd/spec.md
      (see
      $lcp-wysiwid-spec
      )

Development principles

These are the consolidated rules that previously lived in

go-lcpd/AGENTS.md
:

  1. If
    go-lcpd/spec.md
    exists, implementation MUST match the behavior defined there.
  2. Design for robustness. Keep modules aligned with SRP.
  3. Use a ubiquitous language. Keep terminology consistent across code and docs.
  4. Test-first. Prefer TDD when changing behavior.
  5. Run golangci-lint v2. When changing code, run
    make lint
    and fix findings.
  6. Use
    cmp.Diff
    in tests. Compare expected vs actual with
    github.com/google/go-cmp/cmp.Diff
    .
  7. Make logging diagnosable. Logging level MUST be configurable (for example via env vars).
  8. 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

  1. Locate the relevant codepath under
    go-lcpd/internal/
    or
    go-lcpd/tools/
    .
  2. If changing protobufs, edit the
    .proto
    sources and regenerate instead of hand-editing generated code.
  3. Prefer small, testable changes; add/update unit tests and integration tests as needed.
  4. If you are authoring/changing
    go-lcpd/spec.md
    , use
    $lcp-wysiwid-spec
    .

Validation (run from
go-lcpd/
)

  • make gen
    (only if protobuf / generated code changes)
  • make test
  • make lint
  • make fmt

Optional integration test (regtest):

  • LCP_ITEST_REGTEST=1 go test ./itest/e2e -run Regtest_LNDPayment -count=1 -v