Naftiko · Capability

Api Reusability Composition

A capability composition demonstrating API reusability — common steps factored into reusable capabilities composable into higher-order ones.

Run with Naftiko NaftikoReusabilityComposition

What You Can Do

POST
Compose capability
/compose/{{parent_id}}

MCP Tools

list-capabilities

read-only
compose-capability

Capability Spec

api-reusability-composition.yaml Raw ↑
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}}