Implements new RobustMQ MQTT connector integrations end-to-end using project conventions. Use when the user asks to add, implement, or support a new connector type such as webhook, opentsdb, clickhouse, influxdb, cassandra, mqtt bridge, or protocol-compatible targets.
67
80%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Deliver a new RobustMQ connector end-to-end with consistent patterns across:
Use this skill when the user asks: "add/support/implement ".
Collect only missing essentials. If omitted, apply defaults and proceed.
s3, kinesis, foo).send_batch call handles one pulled batchIf user says only "implement X connector", do this without extra questions:
cargo check.Files:
src/common/metadata-struct/src/connector/config_<type>.rssrc/common/metadata-struct/src/connector/mod.rsRequirements:
Serialize, Deserialize, Clone, Debug, PartialEq.Default with practical defaults.validate(&self) -> Result<(), CommonError>:
mod.rs.Validation style:
File:
src/common/metadata-struct/src/connector/connector_type.rsRequired edits:
CONNECTOR_TYPE_<TYPE> constant.ConnectorType.as_str().FromStr with default config constructor.Rule: no partial registration. All four points must be updated.
Files:
src/connector/src/<module>/mod.rssrc/connector/Cargo.tomlImplement ConnectorSink:
validate(): call config validationinit_sink(): build client/operator/resourcesend_batch(): convert and send batchcleanup_sink(): optional if resource needs shutdownMapping rules:
key, headers, tags, timestamp) when reasonable.Error rules:
CommonError with actionable messages.Files:
src/connector/src/lib.rssrc/connector/src/core.rsChecklist:
src/connector/src/lib.rs or module tree.File:
src/admin-server/src/mqtt/connector.rsRequired edits:
validate_connector_type.parse_connector_type.validate() is called on decoded config.Never change global semantics while adding a connector.
Must preserve:
discard: terminal, commit offset.discard_after_retry: retry then terminal.dead_message_queue:
Update all relevant docs when connector is user-facing.
Files:
docs/zh/RobustMQ-MQTT/Bridge/Overview.mddocs/en/RobustMQ-MQTT/Bridge/Overview.mddocs/zh/Api/Connector.mddocs/en/Api/Connector.mdDocument:
Run after edits:
cargo check -p metadata-struct -p connector -p admin-serverConnectorType.config_<type>.rsconnector/mod.rsconnector/connector_type.rssrc/connector/src/<module>/mod.rssrc/connector/src/lib.rs, src/connector/src/core.rssrc/admin-server/src/mqtt/connector.rsReturn concise delivery report:
Use this completion template:
Implemented `<type>` connector end-to-end.
- Changed files: ...
- Runtime behavior: ...
- Config defaults: ...
- Limitations: ...
- Verify: `cargo check -p metadata-struct -p connector -p admin-server`ConnectorType FromStr branch.ConnectorType variant but forgot runtime dispatch in core.rs.pub mod export in lib.rs.validate_connector_type whitelist.c74868c
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.