naftiko: 1.0.0-alpha2 info: title: Compose Ai Context Podcast Pitch description: A capability composing CRM contact context + recent content into an AI context for podcast-pitch outreach. tags: [Naftiko, Podcast, Pitch, AI Context] created: '2026-05-01' modified: '2026-05-04' binds: - namespace: hubspot-env keys: {HUBSPOT_TOKEN: HUBSPOT_TOKEN} capability: consumes: - namespace: hubspot type: http baseUri: https://api.hubapi.com authentication: {type: bearer, token: '{{HUBSPOT_TOKEN}}'} resources: - name: contact path: '/crm/v3/objects/contacts/{{contact_id}}' operations: - {name: get-contact, method: GET, inputParameters: [{name: contact_id, in: path}]} - {name: contacts-search, path: /crm/v3/objects/contacts/search, operations: [{name: search-contacts, method: POST}]} exposes: - type: rest address: 0.0.0.0 port: 8080 namespace: compose-ai-context-podcast-pitch-rest description: REST surface for podcast pitch AI context. resources: - {name: pitch-context, path: '/pitch-context/{{contact_id}}', operations: [{method: GET, name: get-pitch-context, inputParameters: [{name: contact_id, in: path, type: string}], call: hubspot.get-contact}]} - type: mcp address: 0.0.0.0 port: 3010 namespace: compose-ai-context-podcast-pitch-mcp description: MCP for podcast pitch context. tools: - name: get-pitch-context hints: {readOnly: true} inputParameters: [{name: contact_id, type: string, required: true}] call: hubspot.get-contact - type: skill address: 0.0.0.0 port: 3011 namespace: compose-ai-context-podcast-pitch-skills description: Skill for podcast pitch context. skills: - name: compose-ai-context-podcast-pitch description: Podcast pitch AI context. location: file:///opt/naftiko/skills/compose-ai-context-podcast-pitch allowed-tools: get-pitch-context tools: - {name: get-pitch-context, from: {sourceNamespace: compose-ai-context-podcast-pitch-mcp, action: get-pitch-context}}