naftiko: 1.0.0-alpha2 info: label: QuantCDN API — AI Skills description: 'QuantCDN API — AI Skills. 11 operations. Lead operation: List Organization''s Skills. Self-contained Naftiko capability covering one Quantcdn business surface.' tags: - Quantcdn - AI Skills created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: QUANTCDN_API_KEY: QUANTCDN_API_KEY capability: consumes: - type: http namespace: quantcdn-ai-skills baseUri: https://dashboard.quantcdn.io description: QuantCDN API — AI Skills business capability. Self-contained, no shared references. resources: - name: api-v3-organizations-organisation-ai-skills path: /api/v3/organizations/{organisation}/ai/skills operations: - name: listskills method: GET description: List Organization's Skills outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organisation in: path type: string description: The organisation ID required: true - name: tag in: query type: string description: Filter skills by tag - name: namespace in: query type: string description: Filter skills by collection namespace (e.g. 'superpowers') - name: limit in: query type: integer description: Maximum number of skills to return - name: createskill method: POST description: Create Inline Skill outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organisation in: path type: string description: The organisation ID required: true - name: body in: body type: object description: Request body (JSON). required: true - name: api-v3-organizations-organisation-ai-skills-collections path: /api/v3/organizations/{organisation}/ai/skills/collections operations: - name: listskillcollections method: GET description: List Skill Collections outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organisation in: path type: string description: The organisation ID required: true - name: api-v3-organizations-organisation-ai-skills-collections-namespace path: /api/v3/organizations/{organisation}/ai/skills/collections/{namespace} operations: - name: deleteskillcollection method: DELETE description: Delete Skill Collection outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organisation in: path type: string description: The organisation ID required: true - name: namespace in: path type: string description: Collection namespace required: true - name: api-v3-organizations-organisation-ai-skills-collections-namespace-sync path: /api/v3/organizations/{organisation}/ai/skills/collections/{namespace}/sync operations: - name: syncskillcollection method: POST description: Sync Skill Collection outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organisation in: path type: string description: The organisation ID required: true - name: namespace in: path type: string description: Collection namespace required: true - name: api-v3-organizations-organisation-ai-skills-import path: /api/v3/organizations/{organisation}/ai/skills/import operations: - name: importskill method: POST description: Import Skill from External Source outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organisation in: path type: string description: The organisation ID required: true - name: body in: body type: object description: Request body (JSON). required: true - name: api-v3-organizations-organisation-ai-skills-import-collection path: /api/v3/organizations/{organisation}/ai/skills/import-collection operations: - name: importskillcollection method: POST description: Import Skill Collection from GitHub outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organisation in: path type: string description: The organisation ID required: true - name: body in: body type: object description: Request body (JSON). required: true - name: api-v3-organizations-organisation-ai-skills-skillId path: /api/v3/organizations/{organisation}/ai/skills/{skillId} operations: - name: deleteskill method: DELETE description: Delete Skill outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organisation in: path type: string description: The organisation ID required: true - name: skillId in: path type: string description: The skill ID required: true - name: getskill method: GET description: Get Skill Details outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organisation in: path type: string description: The organisation ID required: true - name: skillId in: path type: string description: The skill ID required: true - name: updateskill method: PUT description: Update Skill outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organisation in: path type: string description: The organisation ID required: true - name: skillId in: path type: string description: The skill ID required: true - name: body in: body type: object description: Request body (JSON). required: true - name: api-v3-organizations-organisation-ai-skills-skillId-sync path: /api/v3/organizations/{organisation}/ai/skills/{skillId}/sync operations: - name: syncskill method: POST description: Sync Skill from Source outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organisation in: path type: string description: The organisation ID required: true - name: skillId in: path type: string description: The skill ID required: true authentication: type: bearer token: '{{env.QUANTCDN_API_KEY}}' exposes: - type: rest namespace: quantcdn-ai-skills-rest port: 8080 description: REST adapter for QuantCDN API — AI Skills. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/v3/organizations/{organisation}/ai/skills name: api-v3-organizations-organisation-ai-skills description: REST surface for api-v3-organizations-organisation-ai-skills. operations: - method: GET name: listskills description: List Organization's Skills call: quantcdn-ai-skills.listskills with: organisation: rest.organisation tag: rest.tag namespace: rest.namespace limit: rest.limit outputParameters: - type: object mapping: $. - method: POST name: createskill description: Create Inline Skill call: quantcdn-ai-skills.createskill with: organisation: rest.organisation body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v3/organizations/{organisation}/ai/skills/collections name: api-v3-organizations-organisation-ai-skills-collections description: REST surface for api-v3-organizations-organisation-ai-skills-collections. operations: - method: GET name: listskillcollections description: List Skill Collections call: quantcdn-ai-skills.listskillcollections with: organisation: rest.organisation outputParameters: - type: object mapping: $. - path: /v1/api/v3/organizations/{organisation}/ai/skills/collections/{namespace} name: api-v3-organizations-organisation-ai-skills-collections-namespace description: REST surface for api-v3-organizations-organisation-ai-skills-collections-namespace. operations: - method: DELETE name: deleteskillcollection description: Delete Skill Collection call: quantcdn-ai-skills.deleteskillcollection with: organisation: rest.organisation namespace: rest.namespace outputParameters: - type: object mapping: $. - path: /v1/api/v3/organizations/{organisation}/ai/skills/collections/{namespace}/sync name: api-v3-organizations-organisation-ai-skills-collections-namespace-sync description: REST surface for api-v3-organizations-organisation-ai-skills-collections-namespace-sync. operations: - method: POST name: syncskillcollection description: Sync Skill Collection call: quantcdn-ai-skills.syncskillcollection with: organisation: rest.organisation namespace: rest.namespace outputParameters: - type: object mapping: $. - path: /v1/api/v3/organizations/{organisation}/ai/skills/import name: api-v3-organizations-organisation-ai-skills-import description: REST surface for api-v3-organizations-organisation-ai-skills-import. operations: - method: POST name: importskill description: Import Skill from External Source call: quantcdn-ai-skills.importskill with: organisation: rest.organisation body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v3/organizations/{organisation}/ai/skills/import-collection name: api-v3-organizations-organisation-ai-skills-import-collection description: REST surface for api-v3-organizations-organisation-ai-skills-import-collection. operations: - method: POST name: importskillcollection description: Import Skill Collection from GitHub call: quantcdn-ai-skills.importskillcollection with: organisation: rest.organisation body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v3/organizations/{organisation}/ai/skills/{skillid} name: api-v3-organizations-organisation-ai-skills-skillid description: REST surface for api-v3-organizations-organisation-ai-skills-skillId. operations: - method: DELETE name: deleteskill description: Delete Skill call: quantcdn-ai-skills.deleteskill with: organisation: rest.organisation skillId: rest.skillId outputParameters: - type: object mapping: $. - method: GET name: getskill description: Get Skill Details call: quantcdn-ai-skills.getskill with: organisation: rest.organisation skillId: rest.skillId outputParameters: - type: object mapping: $. - method: PUT name: updateskill description: Update Skill call: quantcdn-ai-skills.updateskill with: organisation: rest.organisation skillId: rest.skillId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v3/organizations/{organisation}/ai/skills/{skillid}/sync name: api-v3-organizations-organisation-ai-skills-skillid-sync description: REST surface for api-v3-organizations-organisation-ai-skills-skillId-sync. operations: - method: POST name: syncskill description: Sync Skill from Source call: quantcdn-ai-skills.syncskill with: organisation: rest.organisation skillId: rest.skillId outputParameters: - type: object mapping: $. - type: mcp namespace: quantcdn-ai-skills-mcp port: 9090 transport: http description: MCP adapter for QuantCDN API — AI Skills. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-organization-s-skills description: List Organization's Skills hints: readOnly: true destructive: false idempotent: true call: quantcdn-ai-skills.listskills with: organisation: tools.organisation tag: tools.tag namespace: tools.namespace limit: tools.limit outputParameters: - type: object mapping: $. - name: create-inline-skill description: Create Inline Skill hints: readOnly: false destructive: false idempotent: false call: quantcdn-ai-skills.createskill with: organisation: tools.organisation body: tools.body outputParameters: - type: object mapping: $. - name: list-skill-collections description: List Skill Collections hints: readOnly: true destructive: false idempotent: true call: quantcdn-ai-skills.listskillcollections with: organisation: tools.organisation outputParameters: - type: object mapping: $. - name: delete-skill-collection description: Delete Skill Collection hints: readOnly: false destructive: true idempotent: true call: quantcdn-ai-skills.deleteskillcollection with: organisation: tools.organisation namespace: tools.namespace outputParameters: - type: object mapping: $. - name: sync-skill-collection description: Sync Skill Collection hints: readOnly: false destructive: false idempotent: false call: quantcdn-ai-skills.syncskillcollection with: organisation: tools.organisation namespace: tools.namespace outputParameters: - type: object mapping: $. - name: import-skill-external-source description: Import Skill from External Source hints: readOnly: false destructive: false idempotent: false call: quantcdn-ai-skills.importskill with: organisation: tools.organisation body: tools.body outputParameters: - type: object mapping: $. - name: import-skill-collection-github description: Import Skill Collection from GitHub hints: readOnly: false destructive: false idempotent: false call: quantcdn-ai-skills.importskillcollection with: organisation: tools.organisation body: tools.body outputParameters: - type: object mapping: $. - name: delete-skill description: Delete Skill hints: readOnly: false destructive: true idempotent: true call: quantcdn-ai-skills.deleteskill with: organisation: tools.organisation skillId: tools.skillId outputParameters: - type: object mapping: $. - name: get-skill-details description: Get Skill Details hints: readOnly: true destructive: false idempotent: true call: quantcdn-ai-skills.getskill with: organisation: tools.organisation skillId: tools.skillId outputParameters: - type: object mapping: $. - name: update-skill description: Update Skill hints: readOnly: false destructive: false idempotent: true call: quantcdn-ai-skills.updateskill with: organisation: tools.organisation skillId: tools.skillId body: tools.body outputParameters: - type: object mapping: $. - name: sync-skill-source description: Sync Skill from Source hints: readOnly: false destructive: false idempotent: false call: quantcdn-ai-skills.syncskill with: organisation: tools.organisation skillId: tools.skillId outputParameters: - type: object mapping: $.