# Ashby

Search Ashby public job boards (no key needed) and read/write the Ashby ATS...

- Repository: https://github.com/Anil-matcha/awesome-muse-connectors (1403 stars)
- Category: Writing
- License: MIT
- Last updated: 2026-10-13
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add Anil-matcha/awesome-muse-connectors --skill ashby -g -a claude-code -y`
Codex: `npx skills add Anil-matcha/awesome-muse-connectors --skill ashby -g -a codex -y`
Cursor: `npx skills add Anil-matcha/awesome-muse-connectors --skill ashby -g -a cursor -y`
Gemini CLI: `npx skills add Anil-matcha/awesome-muse-connectors --skill ashby -g -a gemini-cli -y`

## Description

Search Ashby public job boards (no key needed) and read/write the Ashby ATS: candidates, jobs, applications. Trigger phrases: ashby, job board, candidates, hiring, job search.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Ashby

## Purpose
Two modes in one connector. (1) Credential-free public job search: list any Ashby-powered company's public job board with no API key. (2) Authenticated ATS for hiring teams: list candidates, jobs, and applications; create applications and move them through the pipeline. Most users will only need the public feed.

## Tooling
All commands go through `bin/ashby.py`:

```bash
bin/ashby.py jobs-public --org acme                        # public job board (no credential needed)
bin/ashby.py auth                                          # verify the ATS API key
bin/ashby.py candidate-list --json '{}'                    # list candidates
bin/ashby.py job-list --json '{}'                          # list jobs
bin/ashby.py application-list --json '{}'                  # list applications/pipeline
bin/ashby.py application-create --json '{...}'             # create an application (confirm first)
bin/ashby.py application-move --application-id A --stage-id S --json '{...}'  # move stages (confirm first)
```

Keyed endpoints are RPC-style POSTs; pass the request body with `--json` (field names follow the provider docs at developers.ashbyhq.com).

## Auth
- Provider id: `ashby` (credential is collected as `custom.ashby`)
- Collection: API key via the secure credential flow (`credentials.request_api_access`); created in Ashby under Admin > API Keys. The exact scheme is HTTP Basic with the key as the username and a blank password (`Authorization: Basic base64("<key>:")`). New keys have NO permissions by default: grant the module scopes for the endpoints you use, or calls fail.
- Public job feed: `GET https://api.ashbyhq.com/posting-api/job-board/{organizationHost}` needs NO credential. The CLI skips the credential load entirely for `jobs-public`, so that command works without any key on file.
- Allowed hosts: `api.ashbyhq.com`
- Status check: `bin/ashby.py auth` (must return `"ok": true`)

The rest: https://github.com/Anil-matcha/awesome-muse-connectors/blob/HEAD/connectors/ashby/SKILL.md
