Skip to main content
Glama
niragmehta
by niragmehta

Find new boards from Hacker News 'Who is hiring?'

scan_hiring_thread

Scans the monthly 'Ask HN: Who is hiring?' thread for employer ATS board links, verifies they serve postings, and optionally saves new leads to companies.json.

Instructions

Scans a monthly Hacker News 'Ask HN: Who is hiring?' thread for links to employers' own ATS boards, verifies each one actually serves postings, and optionally saves the new ones to companies.json. This is a lead source, not a job source: the thread's prose cannot be gated on reliably, so only the board slug is taken and discover_jobs then ingests every role at that company with full structured pay and location. Free to call — it uses the public Hacker News API and no third-party scraping credits.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
saveNoSave verified new boards to companies.json. Defaults to false, so a scan is read-only unless asked.
tierNoCompany tier to record for saved boards. Defaults to C, since a thread post is not evidence of tier.
limitNoMaximum leads to verify. Each costs one request.
threadIdNoHacker News item id. Defaults to the most recent monthly thread.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide readOnlyHint=false, openWorldHint=true, destructiveHint=false, and the description supplements these with specific behavioral traits: it verifies links actually serve postings, it can optionally save to companies.json (with 'Defaults to false, so a scan is read-only unless asked'), and it uses free public API access. This adds meaningful context about side effects, cost, and verification logic that annotations alone do not convey. No contradiction with annotations; the description aligns with and enriches them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences, each earning its place: the first states the core action and outcome, the second clarifies its role versus alternatives and the downstream ingestion step, and the third addresses cost and API usage. It is front-loaded with the primary purpose and avoids fluff or repetition of schema/annotation content. The structure is efficient and scannable for an AI agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no output schema, four optional parameters, and moderate complexity, the description is exceptionally complete. It explains the tool's workflow (scan, verify, optionally save), its place in the larger tool ecosystem (leads to discover_jobs), default safety behavior (read-only unless save=true), and cost implications. This provides the agent with enough context to invoke it appropriately without needing to consult additional documentation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 100% description coverage for all four parameters, each with clear descriptions (save defaults to false, tier defaults to C, limit has max/min and cost note, threadId defaults to most recent). The description does not add additional parameter-level nuance beyond what the schema already states. For example, the description mentions 'optionally saves' but the schema already details save behavior. With high schema coverage, the baseline of 3 applies, and the description provides no extra semantic value for parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a concrete, specific action: 'Scans a monthly Hacker News 'Ask HN: Who is hiring?' thread for links to employers' own ATS boards, verifies each one actually serves postings, and optionally saves the new ones to companies.json.' It clearly states the resource (HN thread), the verb (scans/verifies/saves), and the output (companies.json). It also distinguishes itself from siblings by framing itself as a 'lead source, not a job source' and explicitly mentioning discover_jobs as the downstream job ingestion tool, making its purpose distinct from other tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit guidance on when to use this tool: 'This is a lead source, not a job source... only the board slug is taken and discover_jobs then ingests every role at that company.' This not only states its role but also names the correct next tool (discover_jobs), serving as an alternative. It also provides cost context ('Free to call — it uses the public Hacker News API and no third-party scraping credits'), helping the agent decide based on resource constraints. This exceeds a simple 'when to use' by integrating the tool into a workflow.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/niragmehta/autoapply-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server