Agent Skills
› lemma-work/lemma-platform
› integration-creator
integration-creator
GitHub在lemma-connectors中根据OpenAPI规范生成或重新生成Provider集成包。涵盖生成类型化客户端、Pydantic模型及资源模块,确保操作命名合理、二进制结果正确处理,并验证导入与发现机制的完整性。
Trigger Scenarios
添加新的Provider包
改进生成包的质量
使用预期命名和类型重新生成现有应用
Install
npx skills add lemma-work/lemma-platform --skill integration-creator -g -y
SKILL.md
Frontmatter
{
"name": "integration-creator",
"description": "Generate or regenerate a Lemma integration package from an OpenAPI spec inside lemma-connectors. Use this when adding a new provider package, improving generated package quality, or regenerating an existing app with the expected naming, typing, and binary-result behavior."
}
Integration Creator
Use this skill when working inside lemma-connectors to add or regenerate a
provider package from an OpenAPI spec.
What this skill is for
- generating typed transport clients from OpenAPI specs
- generating canonical provider schema models
- generating typed tool input/output models
- generating operation/resource modules
- keeping operation names logical and agent-friendly
- preserving typed binary/file results
- validating that the package imports and discovery surface are solid
Required package shape
Each app package should contain:
client.pygenerated/client/generated/pydantic_models.pygenerated/pydantic_model_registry.jsongenerated/openapi_metadata.jsongenerated/tool_types.pyresources/__init__.pyresources/<resource>.py
Operation coverage should be near-full for the in-scope provider API surface.
Generator contract
- Tool names stay explicit and provider-level.
- Operation names come from cleaned provider
operationIdvalues, not raw path ancestry. - Resource files group related operations together.
- Tool and operation input/output models must be real typed Pydantic models.
- Binary or file-like endpoints must surface
BinaryContentResult, not placeholderdict[str, object]wrappers. - Preserve provider wire-format strings when the API uses url-safe/base64-like encodings that should not be eagerly decoded by Pydantic, such as Gmail message body data and raw MIME payloads.
- Descriptions should help an agent choose and use the operation.
Quality rules
- Prefer fixing the generator once over hand-editing many generated files.
- Do not keep awkward names like
users_messages_listwhen the provider intent is clearlymessages_list. - Do not include low-value text like "backed by this tool".
- Preserve useful provider field descriptions on generated models.
- Keep Slack admin endpoints excluded.
- Expect Jira and similarly large specs to need extra validation and occasional provider-specific post-processing patches.
- Generated runtime execution must handle reserved-identifier parameters cleanly,
for example mapping a public
formatfield onto generated client parameters likeformat_.
Workflow
Use the exact commands and validation checklist in references/workflow.md.
Done bar
Before considering the work complete:
- the app package imports successfully
- info client discovery works
- operation names are sensible
- output schemas are real typed schemas
- binary/file endpoints expose
BinaryContentResult - tests and compile checks pass
Version History
- 0b61713 Current 2026-07-19 09:57


