Skip to content

Commit 2f6bd28

Browse files
committed
improvement(ashby): validate ashby integration and update skill files
1 parent b42f80e commit 2f6bd28

File tree

6 files changed

+37
-20
lines changed

6 files changed

+37
-20
lines changed

.claude/commands/add-tools.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -318,4 +318,4 @@ After creating all tools, you MUST validate every tool before finishing:
318318
3. **Verify consistency** across tools:
319319
- Shared types in `types.ts` match all tools that use them
320320
- Tool IDs in the barrel export match the tool file definitions
321-
- Error handling is consistent (logger imports, error checks)
321+
- Error handling is consistent (error checks, meaningful messages)

.claude/commands/validate-integration.md

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,6 @@ For **every** tool file, check:
7979
- [ ] All nullable fields use `?? null`
8080
- [ ] All optional arrays use `?? []`
8181
- [ ] Error cases are handled: checks for missing/empty data and returns meaningful error
82-
- [ ] `createLogger` is imported from `@sim/logger` and used for error logging
8382
- [ ] Does NOT do raw JSON dumps — extracts meaningful, individual fields
8483

8584
### Outputs
@@ -216,8 +215,6 @@ If any tools support pagination:
216215

217216
## Step 7: Validate Error Handling
218217

219-
- [ ] Every tool imports `createLogger` from `@sim/logger`
220-
- [ ] Every tool creates a logger: `const logger = createLogger('{ToolName}')`
221218
- [ ] `transformResponse` checks for error conditions before accessing data
222219
- [ ] Error responses include meaningful messages (not just generic "failed")
223220
- [ ] HTTP error status codes are handled (check `response.ok` or status codes)
@@ -278,7 +275,7 @@ After fixing, confirm:
278275
- [ ] Validated block outputs match what tools return, with typed JSON where possible
279276
- [ ] Validated OAuth scopes alignment across auth.ts, oauth.ts, block, and modal (if OAuth)
280277
- [ ] Validated pagination consistency across tools and block
281-
- [ ] Validated error handling (logger, error checks, meaningful messages)
278+
- [ ] Validated error handling (error checks, meaningful messages)
282279
- [ ] Validated registry entries (tools and block, alphabetical, correct imports)
283280
- [ ] Reported all issues grouped by severity
284281
- [ ] Fixed all critical and warning issues

apps/sim/blocks/blocks/ashby.ts

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -444,11 +444,29 @@ Output only the ISO 8601 timestamp string, nothing else.`,
444444
},
445445

446446
outputs: {
447-
candidates: { type: 'json', description: 'List of candidates' },
448-
jobs: { type: 'json', description: 'List of jobs' },
449-
applications: { type: 'json', description: 'List of applications' },
450-
notes: { type: 'json', description: 'List of notes' },
451-
offers: { type: 'json', description: 'List of offers' },
447+
candidates: {
448+
type: 'json',
449+
description:
450+
'List of candidates (id, name, primaryEmailAddress, primaryPhoneNumber, createdAt, updatedAt)',
451+
},
452+
jobs: {
453+
type: 'json',
454+
description:
455+
'List of jobs (id, title, status, employmentType, departmentId, locationId, createdAt, updatedAt)',
456+
},
457+
applications: {
458+
type: 'json',
459+
description:
460+
'List of applications (id, status, candidate, job, currentInterviewStage, source, createdAt, updatedAt)',
461+
},
462+
notes: {
463+
type: 'json',
464+
description: 'List of notes (id, content, author, createdAt)',
465+
},
466+
offers: {
467+
type: 'json',
468+
description: 'List of offers (id, status, candidate, job, createdAt, updatedAt)',
469+
},
452470
id: { type: 'string', description: 'Resource UUID' },
453471
name: { type: 'string', description: 'Resource name' },
454472
title: { type: 'string', description: 'Job title' },

apps/sim/blocks/registry.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -198,8 +198,8 @@ export const registry: Record<string, BlockConfig> = {
198198
apify: ApifyBlock,
199199
apollo: ApolloBlock,
200200
arxiv: ArxivBlock,
201-
ashby: AshbyBlock,
202201
asana: AsanaBlock,
202+
ashby: AshbyBlock,
203203
attio: AttioBlock,
204204
browser_use: BrowserUseBlock,
205205
calcom: CalComBlock,

apps/sim/tools/ashby/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,3 +25,5 @@ export const ashbyListNotesTool = listNotesTool
2525
export const ashbyListOffersTool = listOffersTool
2626
export const ashbySearchCandidatesTool = searchCandidatesTool
2727
export const ashbyUpdateCandidateTool = updateCandidateTool
28+
29+
export * from './types'

apps/sim/tools/registry.ts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2248,6 +2248,15 @@ export const tools: Record<string, ToolConfig> = {
22482248
a2a_send_message: a2aSendMessageTool,
22492249
a2a_set_push_notification: a2aSetPushNotificationTool,
22502250
airweave_search: airweaveSearchTool,
2251+
arxiv_get_author_papers: arxivGetAuthorPapersTool,
2252+
arxiv_get_paper: arxivGetPaperTool,
2253+
arxiv_search: arxivSearchTool,
2254+
asana_add_comment: asanaAddCommentTool,
2255+
asana_create_task: asanaCreateTaskTool,
2256+
asana_get_projects: asanaGetProjectsTool,
2257+
asana_get_task: asanaGetTaskTool,
2258+
asana_search_tasks: asanaSearchTasksTool,
2259+
asana_update_task: asanaUpdateTaskTool,
22512260
ashby_create_application: ashbyCreateApplicationTool,
22522261
ashby_create_candidate: ashbyCreateCandidateTool,
22532262
ashby_create_note: ashbyCreateNoteTool,
@@ -2261,15 +2270,6 @@ export const tools: Record<string, ToolConfig> = {
22612270
ashby_list_offers: ashbyListOffersTool,
22622271
ashby_search_candidates: ashbySearchCandidatesTool,
22632272
ashby_update_candidate: ashbyUpdateCandidateTool,
2264-
arxiv_search: arxivSearchTool,
2265-
arxiv_get_paper: arxivGetPaperTool,
2266-
arxiv_get_author_papers: arxivGetAuthorPapersTool,
2267-
asana_get_task: asanaGetTaskTool,
2268-
asana_create_task: asanaCreateTaskTool,
2269-
asana_update_task: asanaUpdateTaskTool,
2270-
asana_get_projects: asanaGetProjectsTool,
2271-
asana_search_tasks: asanaSearchTasksTool,
2272-
asana_add_comment: asanaAddCommentTool,
22732273
browser_use_run_task: browserUseRunTaskTool,
22742274
openai_embeddings: openAIEmbeddingsTool,
22752275
http_request: httpRequestTool,

0 commit comments

Comments
 (0)