naftiko: 1.0.0-alpha2 info: title: Api Reusability Composition description: A capability composition demonstrating API reusability — common steps factored into reusable capabilities composable into higher-order ones. tags: [Naftiko, Reusability, Composition] created: '2026-05-01' modified: '2026-05-04' binds: - namespace: naftiko-env keys: {NAFTIKO_API_KEY: NAFTIKO_API_KEY} capability: consumes: - namespace: naftiko-control type: http baseUri: https://api.naftiko.com authentication: {type: bearer, token: '{{NAFTIKO_API_KEY}}'} resources: - name: capabilities path: /v1/capabilities operations: [{name: list-capabilities, method: GET}] - name: composition path: /v1/capabilities/{{parent_id}}/compose operations: - {name: compose-capability, method: POST, inputParameters: [{name: parent_id, in: path}]} exposes: - type: rest address: 0.0.0.0 port: 8080 namespace: api-reusability-composition-rest description: REST surface for composing reusable capabilities. resources: - name: compose path: /compose/{{parent_id}} operations: - method: POST name: compose-capability inputParameters: [{name: parent_id, in: path, type: string}] call: naftiko-control.compose-capability - type: mcp address: 0.0.0.0 port: 3010 namespace: api-reusability-composition-mcp description: MCP for capability composition. tools: - {name: list-capabilities, hints: {readOnly: true}, call: naftiko-control.list-capabilities} - name: compose-capability inputParameters: [{name: parent_id, type: string, required: true}] call: naftiko-control.compose-capability - type: skill address: 0.0.0.0 port: 3011 namespace: api-reusability-composition-skills description: Skill for composition. skills: - name: api-reusability-composition description: Compose reusable capabilities. location: file:///opt/naftiko/skills/api-reusability-composition allowed-tools: list-capabilities,compose-capability tools: - {name: list-capabilities, from: {sourceNamespace: api-reusability-composition-mcp, action: list-capabilities}} - {name: compose-capability, from: {sourceNamespace: api-reusability-composition-mcp, action: compose-capability}}