Files
shd-modules-mcp-plugin/plugins/shd-mcp-plugin/skills/shd-discussions/references/discussion-contract.md
T

1.4 KiB

Discussion contract

Use the narrowest tool for the request:

  • discovery: shd_list_discussion_channels, shd_list_discussion_topics;
  • content: shd_list_discussion_messages, shd_search_discussions;
  • writes: shd_add_discussion_message, shd_update_discussion_message;
  • files: shd_upload_discussion_attachment.

If a required direct discussion tool is absent from the active MCP tool list, search for it with shd_mcp_search before reporting it unavailable. If the router finds the tool, invoke the discovered operation through shd_mcp_write, using its returned schema and required fields (including confirmation or idempotency fields when specified). If the router is not available or does not find the operation, report that limitation; never replace an edit with a new message.

Resolve the canonical channel/topic/message identifiers before a write. Keep searches bounded, distinguish no results from denied scope, and retain the server's pagination or conflict fields. A message edit or attachment upload is a side effect: require explicit user intent and report the final server result. After an edit, read the target message again and confirm the stored content. If a write returns an error or times out, check the target state before retrying. Retry only when the operation supports idempotency, reusing the same key and payload; otherwise report the uncertain outcome and stop.