naftiko: 1.0.0-alpha2 info: label: LangSmith — skills description: 'LangSmith — skills. 5 operations. Lead operation: List skills. Self-contained Naftiko capability covering one Langsmith business surface.' tags: - Langsmith - skills created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: LANGSMITH_API_KEY: LANGSMITH_API_KEY capability: consumes: - type: http namespace: langsmith-skills baseUri: '' description: LangSmith — skills business capability. Self-contained, no shared references. resources: - name: v1-fleet-skills path: /v1/fleet/skills operations: - name: get method: GET description: List skills outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: page_size in: query type: integer description: Items per page (default 20, max 100) - name: cursor in: query type: string description: Opaque pagination cursor - name: post method: POST description: Create a skill outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-fleet-skills-skillID path: /v1/fleet/skills/{skillID} operations: - name: get method: GET description: Get a skill outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: skillID in: path type: string description: Skill ID required: true - name: put method: PUT description: Replace a skill outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: skillID in: path type: string description: Skill ID required: true - name: body in: body type: object description: Request body (JSON). required: true - name: delete method: DELETE description: Delete a skill outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: skillID in: path type: string description: Skill ID required: true authentication: type: bearer token: '{{env.LANGSMITH_API_KEY}}' exposes: - type: rest namespace: langsmith-skills-rest port: 8080 description: REST adapter for LangSmith — skills. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v1/fleet/skills name: v1-fleet-skills description: REST surface for v1-fleet-skills. operations: - method: GET name: get description: List skills call: langsmith-skills.get with: page_size: rest.page_size cursor: rest.cursor outputParameters: - type: object mapping: $. - method: POST name: post description: Create a skill call: langsmith-skills.post with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/fleet/skills/{skillid} name: v1-fleet-skills-skillid description: REST surface for v1-fleet-skills-skillID. operations: - method: GET name: get description: Get a skill call: langsmith-skills.get with: skillID: rest.skillID outputParameters: - type: object mapping: $. - method: PUT name: put description: Replace a skill call: langsmith-skills.put with: skillID: rest.skillID body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: delete description: Delete a skill call: langsmith-skills.delete with: skillID: rest.skillID outputParameters: - type: object mapping: $. - type: mcp namespace: langsmith-skills-mcp port: 9090 transport: http description: MCP adapter for LangSmith — skills. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-skills description: List skills hints: readOnly: true destructive: false idempotent: true call: langsmith-skills.get with: page_size: tools.page_size cursor: tools.cursor outputParameters: - type: object mapping: $. - name: create-skill description: Create a skill hints: readOnly: false destructive: false idempotent: false call: langsmith-skills.post with: body: tools.body outputParameters: - type: object mapping: $. - name: get-skill description: Get a skill hints: readOnly: true destructive: false idempotent: true call: langsmith-skills.get with: skillID: tools.skillID outputParameters: - type: object mapping: $. - name: replace-skill description: Replace a skill hints: readOnly: false destructive: false idempotent: true call: langsmith-skills.put with: skillID: tools.skillID body: tools.body outputParameters: - type: object mapping: $. - name: delete-skill description: Delete a skill hints: readOnly: false destructive: true idempotent: true call: langsmith-skills.delete with: skillID: tools.skillID outputParameters: - type: object mapping: $.