{"format":"robbclan-public-capability-catalog","schema_version":"1.0","documentation_only":true,"origin":"https://robbclan.com","mcp_url":"https://robbclan.com/mcp","enrollment_discovery":"https://robbclan.com/.well-known/agent-enrollment","enrollment_instructions":"https://robbclan.com/agent-enrollment.md","pricing_and_availability":"https://robbclan.com/.well-known/agent-enrollment","tool_schema_discovery":"Authenticate, then call MCP tools/list for current granted schemas.","examples":"Illustrative inputs and expected artifacts, not recorded customer results. Replace all example identifiers with authorized saved values.","recipes":[{"slug":"onboarding-training","url":"https://robbclan.com/agent-recipes/onboarding-training","markdown_url":"https://robbclan.com/agent-recipes/onboarding-training.md","title":"Create employee onboarding training with your AI agent","short_title":"Draft onboarding training","product":"Wayfinder","summary":"Turn a role description and approved resources into a proposed learning path, then develop courses through human review.","keywords":["employee onboarding","role-based training","learning paths","course outlines","curriculum"],"service_enrollment":true,"enrollment_capability":"learning_drafts","inputs":["Role or learning goal","Job description and relevant resources","Audience, experience and learning requirements"],"prerequisites":["Approved tenant membership and learning-authoring access","For service enrollment: an active paid Stripe subscription and the learning_drafts grant","A configured tenant model route for platform generation"],"tools":["create_learning_path","get_role_status","get_course_outlines"],"steps":["Provide the role, source material and desired learning outcomes. Use tools/list to confirm your granted schemas.","Call create_learning_path to start a proposed learning path. Save the returned role_id and poll get_role_status.","Present the saved learning path for human review. Stop before approval. Enrolled service agents cannot approve it.","After a human approves in the platform, subsequent outline/content stages follow their own review gates and account permissions."],"example_call":{"name":"create_learning_path","arguments":{"role_prompt":"Draft a staged onboarding learning path for a support engineer. Cover product fundamentals, troubleshooting practice and peer reflection. Present the saved path for review.","generation_mode":"role","auto_start":true}},"example_result":{"illustrative":true,"expected_artifacts":["A saved role_id","A proposed foundational-to-advanced learning path","A human-review checkpoint before course development continues"]},"approval":"Learning path, course outlines and content are reviewed at their required stages. Publishing requires its own authorization. Enrolled service drafts retain human review even when global quality checks pass.","cost":"Platform generation can incur model usage and consumes tenant learning quotas. The external agent runtime may have its own model costs.","recovery":"If generation times out, poll get_role_status using the saved role_id before creating another path. Ask the owner to resolve unavailable routes or quota limits."},{"slug":"project-planning","url":"https://robbclan.com/agent-recipes/project-planning","markdown_url":"https://robbclan.com/agent-recipes/project-planning.md","title":"Create a project plan with your AI agent","short_title":"Plan a project","product":"Passage","summary":"Create a restricted draft project and propose tasks, milestones and dependencies for your team to review.","keywords":["project planning","task breakdown","milestones","dependencies","team onboarding checklist"],"service_enrollment":true,"enrollment_capability":"passage_drafts","inputs":["Project goal and scope","Constraints, dates and team context","Relevant source material you are authorized to share"],"prerequisites":["Approved internal staff account with Passage access","For service enrollment: an active paid Stripe subscription and the passage_drafts grant","A configured tenant model route when generating a proposed plan"],"tools":["odyssey_create_project","odyssey_get_project","odyssey_generate_plan","odyssey_project_history"],"steps":["Describe the goal and create a project with visibility=restricted. Keep the returned project_id and revision.","Read the project with odyssey_get_project and confirm the input and saved revision.","When the owner has requested generation, call odyssey_generate_plan with project_id and the current expected_revision.","Read back the saved proposal and history. Present it for review; leave the plan unapproved and tasks unexecuted."],"example_call":{"name":"odyssey_create_project","arguments":{"prompt":"Draft a team onboarding project with orientation, access setup, peer support and a first-week review. Leave it unapproved.","visibility":"restricted"}},"example_result":{"illustrative":true,"expected_artifacts":["A saved project_id and revision","A restricted project draft","A generated proposal after a separate requested generation step"]},"approval":"Review the saved project revision before approval. Approval records a plan decision and does not execute tasks or authorize messages. Service enrollment does not grant approval tools.","cost":"Creating the initial project draft does not itself invoke a model. Proposed-plan generation can incur tenant model usage. Product quotas and the agent request cap apply.","recovery":"After a revision conflict, read the latest project and retry only against its current revision. After a timeout, inspect saved state before requesting generation again."},{"slug":"slack-project-suggestions","url":"https://robbclan.com/agent-recipes/slack-project-suggestions","markdown_url":"https://robbclan.com/agent-recipes/slack-project-suggestions.md","title":"Turn a Slack conversation into project suggestions with your AI agent","short_title":"Review Slack-to-project suggestions","product":"Ahoy + Passage","summary":"Review a selected Slack thread, propose source-linked project changes and prepare a reply draft for human review.","keywords":["Slack to tasks","conversation to project","action items","project updates","reply drafts"],"service_enrollment":false,"enrollment_capability":null,"inputs":["An authorized Passage project_id","A user-selected Slack channel_id and thread_ts","The requested analysis goal"],"prerequisites":["A connected user account with the required Ahoy and Passage tools","The user’s own connected Slack account and access to the selected channel/thread","Access to the destination project and a configured ahoy.review model route","The public service-enrollment bundles do not grant these tools; use an authorized user connection"],"tools":["ahoy_import_thread","ahoy_get_review","ahoy_analyze"],"steps":["Ask the user to select the source thread and destination project. Confirm their Slack connection and access.","Import only the selected thread with ahoy_import_thread. Read the saved review and disclose any partial source coverage.","When analysis is requested, call ahoy_analyze at the saved expected_revision, then reread ahoy_get_review.","Present source-linked suggestions and the reply draft. Obtain separate approval before sharing project changes or sending any reply."],"example_call":{"name":"ahoy_import_thread","arguments":{"project_id":"11111111-1111-1111-1111-111111111111","channel_id":"C01234567","thread_ts":"1700000000.000001"}},"example_result":{"illustrative":true,"expected_artifacts":["A private saved review_id and revision","A bounded snapshot of the selected thread","Source-linked suggestions and a reply draft after separately requested analysis"]},"approval":"Importing a thread does not authorize sharing it with project members. Applying changes and sending a reply each require separate explicit consent and current saved revisions. This recipe stops at suggestions.","cost":"Thread analysis can incur model usage. Slack rate limits and tenant access rules apply. No continuous collection is enabled by this recipe.","recovery":"Check saved review state before retrying an import or analysis. Resolve revision conflicts by rereading. If source coverage is partial, disclose it and request any additional import explicitly."}]}