Token导航 LogoToken导航TokenDH.com
研究检索敏感数据github未标认证来源可访问clear审计未展示

greenhouse-harvest温室收获

Agent Skill

greenhouse-harvest 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

94

周安装

4

GitHub Stars

公开资料未说明

下载量

33
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:greenhouse-harvest(温室收获)
来源仓库:https://github.com/tcn33/greenhouse-harvest-skill
仓库路径:skills/greenhouse-harvest
安装命令:
npx skills add tcn33/greenhouse-harvest-skill --skill "greenhouse-harvest"
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

AgentSkills.tonpx skills
npx skills add tcn33/greenhouse-harvest-skill --skill "greenhouse-harvest"

简介

greenhouse-harvest 用于查找、检索和筛选相关信息。

  • 适合在 Codex、Claude、Cursor、Gemini CLI 中根据线索快速定位结果。
  • 通过 github 安装,命令为 npx skills add tcn33/greenhouse-harvest-skill --skill "greenhouse-harvest"。
  • 建议确认权限范围和维护状态,注意是否触发联网或文件读写。
  • 适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

name
greenhouse-harvest
description
Interface with the Greenhouse Harvest API v3 to query recruitment and hiring data conversationally. Use when the user needs to retrieve or analyze information from their Greenhouse ATS including candidate applications, interview schedules, pipeline metrics, job postings, recruiter performance, or other talent acquisition data. Supports queries like "How many candidates applied this week?", "What status is Jane Smith in?", "How many interviews are booked tomorrow?", "What's the passthrough rate from phone screen to onsite?", and similar conversational requests for recruitment analytics.

Greenhouse Harvest API Integration

Overview

Query and analyze recruitment data from the Greenhouse Harvest API v3 conversationally. Handle requests for candidate counts, application statuses, interview schedules, pipeline conversions, and other talent acquisition metrics.

Setup

Install Dependencies

First, install the required Python packages:

pip install -r requirements.txt

Or install manually:

pip install requests

Authentication Setup

The Greenhouse Harvest API v3 uses OAuth authentication with client credentials. Set the following environment variables:

export GREENHOUSE_CLIENT_ID="your-client-id"
export GREENHOUSE_CLIENT_SECRET="your-client-secret"
export GREENHOUSE_USER_ID="your-user-id"  # Optional - defaults to service account

Getting OAuth credentials:

  1. Go to Greenhouse: Configure → Dev Center → API Credential Management
  2. Create a new credential and select "Harvest V3 (OAuth)"
  3. Copy the Client ID and Client Secret
  4. Optionally specify a User ID for the 'sub' parameter (or omit to use auto-generated service account)

Quick Start

Use the provided Python client for all API interactions:

from greenhouse_client import GreenhouseClient

client = GreenhouseClient()

# List all open jobs
jobs = client.get('/v3/jobs', params={'status': 'open'})

# Get applications for a specific job
applications = client.get_all('/v3/applications', params={'job_id': 12345})

# Get scheduled interviews for this week
interviews = client.get_all('/v3/scheduled_interviews', params={
    'starts_after': '2024-01-15T00:00:00Z',
    'starts_before': '2024-01-22T00:00:00Z'
})

The client handles:

  • OAuth authentication via environment variables
  • Automatic token generation and refresh
  • Automatic pagination with get_all()
  • Rate limiting with exponential backoff
  • Error handling and retries

Common Query Workflows

Candidate Counting

User request: "How many candidates have applied for software engineer this week?"

Steps:

  1. Find the job by searching job names
  2. Calculate the date range (e.g., last 7 days)
  3. Query applications filtered by job_id and created_after
  4. Count results

See: references/common_queries.md → "Candidate Counting Queries" for complete examples

Candidate Status Lookup

User request: "What status is Jane Smith in?"

Steps:

  1. Search candidates by name (fetch all or filter by updated_after)
  2. Get their application IDs
  3. Fetch each application to get current stage and job

Note: Greenhouse lacks direct name search; filter locally or use date ranges to limit scope.

See: references/common_queries.md → "Candidate Status Lookup" for optimization strategies

Interview Metrics

User request: "How many interviews are booked this week?"

Steps:

  1. Calculate date range
  2. Query /v3/scheduled_interviews with starts_after and starts_before
  3. Count and optionally group by day, interviewer, or interview type

See: references/common_queries.md → "Interview Counting Queries" for examples

Pipeline Conversion Analysis

User request: "What is the passthrough rate from application review to phone screen for the product designer role?"

Steps:

  1. Find the job by name
  2. Get job stages to identify stage IDs and priorities
  3. Fetch applications for the job (optionally filter by date range)
  4. Count applications that reached each stage based on current_stage priority
  5. Calculate conversion rate

Note: Greenhouse tracks current stage, not full history. For more accurate data, use scorecards as a proxy for stage completion.

See: references/common_queries.md → "Pipeline Conversion Analysis" for detailed approaches

Other Common Queries

The skill supports many other query types:

  • Time-to-hire analysis: Average days from application to hire
  • Source effectiveness: Which sources bring the most candidates
  • Recruiter performance: Candidates sourced by specific recruiters
  • Scorecard analysis: Average interview ratings

See: references/common_queries.md for complete patterns and code examples

When to Use Which Reference

references/api_endpoints.md

Use when: You need to understand what endpoints are available or what parameters/filters they support.

Contents:

  • All major endpoints organized by category
  • Query parameters and filters
  • Response structures
  • Common response fields
  • Pagination and rate limiting details

Examples:

  • "What filters can I use on the applications endpoint?"
  • "How do I search for interviews by date?"
  • "What fields are returned in a candidate object?"

references/schema.md

Use when: You need detailed field definitions or relationships between data models.

Contents:

  • Complete schema for Candidate, Application, Job, Interview, Scorecard, User objects
  • Field types and descriptions
  • Relationships between objects (via ID references)
  • Enum values (application statuses, recommendation levels, etc.)
  • Handling null values and timestamps

Examples:

  • "What does the current_stage field contain?"
  • "What are the possible values for application status?"
  • "How are candidates linked to applications?"

references/common_queries.md

Use when: You're handling a conversational query and need a complete workflow pattern.

Contents:

  • Complete code examples for common query types
  • Step-by-step workflows
  • Performance optimization tips
  • Pitfalls and how to avoid them
  • Date filtering strategies
  • Data aggregation patterns

Examples:

  • "How do I count candidates for a specific role?"
  • "How do I calculate pipeline conversion rates?"
  • "How do I handle name searches efficiently?"

Best Practices

1. Filter Data to Reduce Volume

Some endpoints support query filters, while others require client-side filtering:

from datetime import datetime, timedelta

# Endpoints that support date filters (candidates, jobs, etc.)
one_week_ago = (datetime.now() - timedelta(days=7)).isoformat()
candidates = client.get_all('/v3/candidates', params={'created_after': one_week_ago})

# Applications endpoint does NOT support filters - fetch all and filter client-side
all_apps = client.get_all('/v3/applications')
recent_apps = [app for app in all_apps
               if datetime.fromisoformat(app['created_at'].replace('Z', '+00:00')) > datetime.now() - timedelta(days=7)]

2. Use get_all() for Automatic Pagination

The Greenhouse API uses cursor-based pagination via Link headers. The client handles this automatically:

# Automatically fetches all pages using cursor pagination
all_jobs = client.get_all('/v3/jobs')

# Limit pages for safety during testing
recent = client.get_all('/v3/candidates', max_pages=5)

Note: The page parameter is not supported by the API. Use get_all() for pagination or manually follow Link headers.

3. Cache Reference Data

Jobs, users, departments, and offices change infrequently. Cache them:

# Fetch once
jobs_cache = {job['id']: job for job in client.get_all('/v3/jobs')}

# Reuse
job_name = jobs_cache[application['job_id']]['name']

4. Handle Missing Data

Always check for null/missing fields:

stage_name = app['current_stage']['name'] if app.get('current_stage') else 'Unknown'

5. Consider Time Zones

All Greenhouse timestamps are UTC. Convert for user-facing reports if needed.

Data Model Relationships

Understanding how objects relate:

Candidate
    ├─ has many Applications
    │      ├─ belongs to Job
    │      ├─ has current_stage (Job Stage)
    │      └─ has many Scorecards
    └─ has Recruiter (User)

Job
    ├─ has many Stages
    ├─ belongs to Department
    ├─ belongs to Office
    └─ has Hiring Team (Users)

Scheduled Interview
    ├─ belongs to Application
    ├─ has many Interviewers (Users)
    └─ uses Interview Kit

Scorecard
    ├─ belongs to Application
    ├─ belongs to Interviewer (User)
    └─ has ratings and questions

Troubleshooting

OAuth Credentials Not Found

ValueError: OAuth credentials not provided. Set GREENHOUSE_CLIENT_ID and GREENHOUSE_CLIENT_SECRET environment variables

Solution: Set the required environment variables:

export GREENHOUSE_CLIENT_ID="your-client-id"
export GREENHOUSE_CLIENT_SECRET="your-client-secret"
export GREENHOUSE_USER_ID="your-user-id"  # Optional

Authentication Failed

If you receive 401 errors, verify:

  • Your Client ID and Client Secret are correct
  • Your OAuth credentials have not been rotated (old secrets expire after 1 week)
  • Your credentials have the necessary API permissions

Rate Limiting

The client handles rate limiting automatically with retries and exponential backoff. If you consistently hit limits:

  • Use more specific date filters
  • Cache reference data
  • Use max_pages parameter when testing

Slow Queries

For large organizations, fetching all candidates/applications can be slow:

  • Always use created_after or updated_after filters
  • Cache frequently accessed data (jobs, users)
  • Use max_pages to limit data volume during development

Missing Stage History

Greenhouse only tracks current stage, not full progression history:

  • Use scorecards to infer which stages were completed
  • Use the activity feed for detailed progression tracking
  • Consider tracking stage changes in your own system for historical analysis

Resources

scripts/greenhouse_client.py

Python API client with authentication, pagination, error handling, and rate limiting.

Import and use:

from greenhouse_client import GreenhouseClient
client = GreenhouseClient()

references/api_endpoints.md

Comprehensive endpoint documentation organized by resource type.

references/schema.md

Detailed data models and field definitions for all major objects.

references/common_queries.md

Complete workflow patterns and code examples for conversational queries.

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

04

需要参考平台分布和安装热度时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Claude Code

65.05%
按下载量换算21

Gemini CLI

30.92%
按下载量换算10

安全审计

暂无安全审计结果可展示。

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills