Claude-skill-registry lcp-openai-serve
Develop apps/openai-serve (Go). Keep OpenAI gateway behavior correct and avoid logging prompts/outputs.
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-openai-serve" ~/.claude/skills/majiayu000-claude-skill-registry-lcp-openai-serve && rm -rf "$T"
manifest:
skills/data/lcp-openai-serve/SKILL.mdsource content
You are working on the OpenAI-compatible HTTP gateway in
apps/openai-serve/.
Scope
- Module:
apps/openai-serve/ - Runtime contract:
apps/openai-serve/README.md
Development principles
These are the consolidated rules that previously lived in
apps/openai-serve/AGENTS.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.
Non-negotiables
- Logging is sensitive: do not log raw prompts (
) or raw model outputs.messages[].content - Keep behavior stable and explicit: JSON decoding is strict, unsupported fields must be rejected as documented.
Workflow
- Read
before changing behavior.apps/openai-serve/README.md - When adding config/env vars, document them in
and keep defaults sane.apps/openai-serve/README.md - When changing request/response structures, update tests and ensure the documented constraints still hold.
Validation (run from apps/openai-serve/
)
apps/openai-serve/make testmake lintmake fmt