New API Service Scaffolding
SkillDev toolsScaffold a new ConnectRPC API service with proto, handler, registration, and tests
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the New API Service Scaffolding skill
What this skill tells your AI
The instructions your AI receives, as published by openmanet/openmanetd in .claude/skills/new-service/SKILL.md and read by ahel’s review.
Create a new ConnectRPC API service for OpenMANETd following established patterns.
Arguments
$ARGUMENTScontains the service name
Steps
-
Create proto definition in
proto/openmanet/<service>/v1/:<service>_service.protowith service and RPC definitions<service>.protofor shared message types- Follow naming conventions from
.claude/rules/api-design.md(Get/List/Set/Update/Execute/Stream verbs) - Use
buf.validateannotations for field validation - Use
google.protobuf.Emptyfor RPCs with no meaningful request/response
-
Generate code: Run
make bufto generate Go stubs ininternal/api/and JS clients infrontend/src/gen/ -
Create handler at
internal/openmanet/server/handlers/<service>.go:- Struct with
Log zerolog.Logger+ injected dependencies (interfaces, not concrete types) - Implement the generated handler interface
- Use
connect.NewError()with correct codes (see.claude/rules/api-design.md) - Log before returning errors
- Add overrideable function fields for I/O operations
- Struct with
-
Register in server at
internal/openmanet/server/server.go:- Add
api.Handle(...)call with the handler struct literal - Include
connect.WithInterceptors(validateInterceptor)
- Add
-
Wire dependencies in
internal/openmanet/openmanet.goif needed -
Create tests:
- Unit tests in
internal/openmanet/server/handlers/<service>_test.go(packagehandlers_test) - Add fakes to
mocks_test.gofollowing thefake<Interface>pattern with mutex-protected state - Use
newTestDB(t)for database,zerolog.Nop()for logger - Add integration test cases in
integration_test.go - Add proto validation tests if using
buf.validateannotations
- Unit tests in
-
Verify: Run
make testandmake lint-goto confirm everything compiles and passes
Signals
- GitHub stars
- 50
- Forks
- 17
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
new-service-openmanet- Source
- github.com/openmanet/openmanetd