
This skill should be used when the user asks about "elicitation", "ElicitationBuilder", "elicit", "ElicitResult", "ElicitAction", "elicitation/create", "ElicitationProvider", "PrimitiveSchemaDefinition", "ElicitationSchema", "schema-driven form", "user input form", "with_elicitation", "with_elicitation_provider", "DynamicElicitation", "ElicitResultBuilder", "elicitation validation", or "multi-step elicitation". Covers MCP elicitation for collecting structured user input via primitive schemas in the Turul MCP Framework (Rust).
This skill should be used when the user asks about "middleware", "McpMiddleware", "before_dispatch", "after_dispatch", "RequestContext", "SessionInjection", "MiddlewareError", "rate limiting middleware", "auth middleware", "logging middleware", "middleware stack", "middleware execution order", "middleware error handling", "lambda auth middleware", or "DispatcherResult". Covers creating HTTP middleware for auth, rate limiting, logging, and Lambda authorizer extraction in the Turul MCP Framework (Rust). For OAuth/JWT-specific middleware (oauth_resource_server, JwtValidator, ProtectedResourceMetadata) see auth-patterns — this skill covers the McpMiddleware trait plumbing only.
This skill should be used when the user asks to "create a resource", "add a resource", "MCP resource", "McpResource", "mcp_resource macro", "#[derive(McpResource)]", "ResourceBuilder", "resource URI", "URI template", "ResourceContent", "dynamic resource", "resource!", "create a prompt", "add a prompt", "MCP prompt", "McpPrompt", "#[derive(McpPrompt)]", "PromptBuilder", "prompt arguments", "PromptMessage", "prompt template", "GetPromptResult", "prompt!", "resources/read", "prompts/get", or "resource vs prompt". Covers creating MCP resources (function macro, derive, resource!{}, builder) and MCP prompts (derive, prompt!{}, builder) in the Turul MCP Framework (Rust).
This skill should be used when the user asks about "error handling", "McpError", "McpResult", "tool_execution", "missing_param", "invalid_param_type", "param_out_of_range", "JsonRpcError", "error code", "JSON-RPC error", "ToolExecutionError", "ResourceExecutionError", "PromptExecutionError", "error conversion", "From McpError", "to_error_object", "error handling architecture", or "which error variant". Covers the MCP error handling architecture, McpError decision tree, error code mapping, and From conversions in the Turul MCP Framework (Rust).
This skill should be used when the user asks about "output schema", "outputSchema", "structuredContent", "schemars", "JsonSchema derive", "output_field", "output = Type", "Vec output", "tool returns a struct", "output type", or "schema shows inputs not outputs". Covers the required output = Type attribute on derive macros, automatic schemars detection, Vec<T> output patterns, output_field customization, and structuredContent auto-generation in the Turul MCP Framework (Rust).
This skill should be used when the user asks to "create a tool", "add a tool", "new tool", "which tool pattern", "compare tool patterns", "function macro vs derive", "mcp_tool macro", "#[mcp_tool]", "derive McpTool", "#[derive(McpTool)]", "ToolBuilder", "tool creation", "function macro tool", "server icon", "server branding", ".icons()", "Icon::data_uri", "server identity", "dynamic tools", "ToolChangeMode", "activate_tool", "deactivate_tool", "ToolRegistry", "tool_change_mode", or "notifications/tools/list_changed". Covers choosing between function macro (#[mcp_tool]), derive macro (#[derive(McpTool)]), and runtime builder (ToolBuilder) patterns, plus server identity (icons), in the Turul MCP Framework (Rust).
This skill should be used when the user asks about "MCP client", "McpClient", "McpClientBuilder", "connect to MCP server", "HttpTransport", "SseTransport", "tool call from client", "client session", "client task workflow", "ToolCallResponse", "client error handling", "disconnect", "client configuration", "refresh_tools", "tool change notification", or "list_changed client". Covers transport selection, connection lifecycle, tool/resource/prompt invocation, task workflows, tool change notifications, and error handling for the Turul MCP Client (turul-mcp-client crate, Rust). Do NOT use for server-side work (tools, resources, prompts) — see tool-creation-patterns and resource-prompt-patterns.
This skill should be used when the user asks about "OAuth", "authentication", "authorization", "JWT", "Bearer", "JwtValidator", "oauth_resource_server", "ProtectedResourceMetadata", "turul-mcp-oauth", "API key auth", "auth middleware", "token validation", "WWW-Authenticate", "audience validation", "OAuthResourceMiddleware", "TokenClaims", "JWKS", "well-known", "oauth-protected-resource", "RFC 9728", "Bearer token", "auth-patterns", or "WellKnownOAuthHandler". Covers authentication and authorization patterns for MCP servers in the Turul MCP Framework (Rust): OAuth 2.1 Resource Server compliance, JWT validation, API key middleware, and Lambda authorizer integration. Do NOT use for issuing tokens or building an Authorization Server — see authorization-server-patterns.
This skill should be used when the user asks about "authorization server", "OAuth AS", "token issuer", "PKCE", "authorization code flow", "oauth-authorization-server", "DCR", "dynamic client registration", "CIMD", "client metadata", "demo auth server", "token endpoint", "authorize endpoint", "JWKS signing key", "access token issuance", "refresh token", "authorization-server-patterns", or "build an auth server". Covers building a standalone demo OAuth 2.1 Authorization Server using standard Rust crates for use alongside Turul MCP Resource Servers. Use these demo examples only for local development and PoCs. Do NOT use these demo examples as production identity infrastructure — use Cognito, Auth0, Keycloak, or Ory Hydra for that. For protecting an MCP server (RS role), see auth-patterns.
This skill should be used when the user asks about "session storage", "SessionStorage trait", "SqliteSessionStorage", "PostgresSessionStorage", "DynamoDbSessionStorage", "InMemorySessionStorage", "session backend", "session persistence", "session events", "SSE reconnection storage", "which storage backend", "session TTL", "session cleanup", "session event management", "SseEvent", or "SessionStorageError". Covers the SessionStorage trait, backend selection, event management for SSE resumability, error types, and background cleanup in the Turul MCP Framework (Rust). Do NOT use for TaskStorage — task persistence is a separate trait; see task-patterns.
This skill should be used when the user asks about "lambda", "LambdaMcpServerBuilder", "Lambda deployment", "lambda MCP server", "AWS Lambda MCP", "LambdaMcpHandler", "lambda cold start", "OnceCell handler", "lambda SSE", "run_streaming", "run_streaming_with", "handle_streaming", "lambda CORS", "cors_allow_all_origins", "production_config", "development_config", "lambda-deployment", "lambda snapshot", "lambda streaming mode", "LambdaMcpServer", "lambda dynamic tools", or "lambda tool_change_mode". Covers deploying MCP servers on AWS Lambda using the Turul MCP Framework (Rust): builder, cold-start caching, streaming vs snapshot, DynamoDB storage, CORS, middleware, tasks, dynamic tools, and logging.
This skill should be used when the user asks about "testing", "test patterns", "write tests", "unit test", "e2e test", "integration test", "McpTestClient", "TestServerManager", "compliance test", "test server", "test fixture", "doctest", "cargo test", "test organization", "SSE testing", or "test consolidation". Covers unit testing, E2E testing, compliance testing, SSE testing, and test organization in the Turul MCP Framework (Rust). McpTestClient is the in-process test harness; for the production client API see mcp-client-patterns.
This skill should be used when the user asks about "task support", "TaskRuntime", "TaskStorage", "task_support attribute", "long-running tool", "CancellationHandle", "tasks/get", "tasks/list", "tasks/cancel", "tasks/result", "TaskStatus", "TaskRecord", "TaskOutcome", "InMemoryTaskStorage", "with_task_storage", "task state machine", "TaskExecutor", "TokioTaskExecutor", "task_support = optional", "task_support = required", "task_support = forbidden", "with_task_runtime", or "task storage backend". Covers MCP task support for long-running tools, state machine, storage backends, cancellation, and capability truthfulness in the Turul MCP Framework (Rust). TaskStorage is distinct from SessionStorage; for session persistence see session-storage-backends.