pp-hackernews
Hacker News from your terminal — with a local SQLite store, snapshot history, and agent-native output no other HN tool has. Trigger phrases: `check hacker news`, `search hn`, `what is hn saying about`, `diff the hn front page`, `pulse on hn`, `look up hn user`, `hn who is hiring`, `hn top stories`, `use hackernews`, `run hackernews`.
What this skill does
<!-- GENERATED FILE — DO NOT EDIT.
This file is a verbatim mirror of library/media-and-entertainment/hackernews/SKILL.md,
regenerated post-merge by tools/generate-skills/. Hand-edits here are
silently overwritten on the next regen. Edit the library/ source instead.
See the repository agent guide, section "Generated artifacts: registry.json, cli-skills/". -->
# Hacker News — Printing Press CLI
## Prerequisites: Install the CLI
This skill drives the `hackernews-pp-cli` binary. **You must verify the CLI is installed before invoking any command from this skill.** If it is missing, install it first:
1. Install via the Printing Press installer. It defaults binaries to `$HOME/.local/bin` on macOS/Linux and `%LOCALAPPDATA%\Programs\PrintingPress\bin` on Windows:
```bash
npx -y @mvanhorn/printing-press-library install hackernews --cli-only
```
2. Verify: `hackernews-pp-cli --version`
3. Ensure the reported install directory is on `$PATH` for the agent/runtime that will invoke this skill.
If the `npx` install fails (no Node, offline, etc.), fall back to a direct Go install (requires Go 1.26.3 or newer):
```bash
go install github.com/mvanhorn/printing-press-library/library/media-and-entertainment/hackernews/cmd/hackernews-pp-cli@latest
```
If `--version` reports "command not found" after install, the runtime cannot see the binary directory on `$PATH`. Do not proceed with skill commands until verification succeeds.
## When to Use This CLI
Reach for hackernews-pp-cli when you need to monitor or analyze HN signal programmatically: agent-driven daily diffs, topic pulses, hiring-thread aggregation, repost checks before submitting, structured thread digests for context windows. The local store makes follow-up queries cheap and offline-friendly.
## When Not to Use This CLI
Do not activate this CLI for requests that require creating, updating, deleting, publishing, commenting, upvoting, inviting, ordering, sending messages, booking, purchasing, or changing remote state. This printed CLI exposes read-only commands for inspection, export, sync, and analysis.
## Unique Capabilities
These capabilities aren't available in any other tool for this API.
### Local snapshots that compound
- **`since`** — See exactly what climbed, fell, appeared, or dropped off the front page since your last sync.
_Reach for this when an agent wakes up daily and needs to know what shifted on HN since yesterday — without re-fetching 500 items every poll._
```bash
hackernews-pp-cli since --json
```
- **`controversial`** — Stories ranked by the highest comment-to-point ratio over a recent window — the discussions everyone is arguing about.
_Reach for this when you want stories with high engagement-to-approval — heated debate signal — instead of just popularity._
```bash
hackernews-pp-cli controversial --window 7d --json
```
- **`velocity`** — Show a story's rank trajectory over time from local snapshots — climb, plateau, or fall.
_Reach for this when an agent asks 'is this story still gaining traction or already cresting' — only meaningful answer comes from snapshots._
```bash
hackernews-pp-cli velocity 47998158 --json
```
- **`sync`** — Pull top/new/best/show/ask/job lists and recently-changed items into local SQLite for offline use and snapshot history.
_Run this once per day (or per hour for agents) — it is the foundation that turns since/velocity/controversial/users-stats from impossible into one SQL query._
```bash
hackernews-pp-cli sync --resources updates --agent
```
### Algolia leverage
- **`pulse`** — See per-day mentions, average score, and comment volume for any topic over the last N days.
_Reach for this when the question is 'is this topic heating up or cooling down' rather than 'what's the top story right now'._
```bash
hackernews-pp-cli pulse rust --days 7 --agent
```
- **`repost`** — Has this URL been posted before? Lists every prior submission, with score, comments, and date.
_Reach for this before submitting a Show HN — duplicate URLs flame out instantly; you want to know how a prior post did first._
```bash
hackernews-pp-cli repost https://example.com/article
```
- **`search local`** — Offline full-text search over every story and comment you have ever synced — corpus grows with use.
_Reach for this when investigating long-tail topics or replaying last quarter's research — Algolia might rank it down or drop it; your local corpus will not._
```bash
hackernews-pp-cli search local "vector database" --limit 20 --json
```
### Hiring-thread mining
- **`hiring stats`** — Aggregate the last N monthly Who-is-Hiring threads: top languages, remote ratio, top companies, location distribution.
_Reach for this when you need quarterly or seasonal hiring trends — language popularity, remote-share shifts, location density — not just this month's listings._
```bash
hackernews-pp-cli hiring stats --months 3 --agent
```
- **`hiring companies`** — Companies that posted in M of the last N hiring threads, with first-seen, last-seen, and months-posted count.
_Reach for this when sourcing or trend-tracking — which companies are persistent hirers vs one-off posters — without scraping HNHIRING.com._
```bash
hackernews-pp-cli hiring companies --months 6 --min-posts 3 --agent
```
### Cross-entity local queries
- **`users stats`** — Median and p90 score across a user's submissions, plus traction buckets and hour-of-day score distribution.
_Reach for this before posting your own work to learn your traction patterns, or when sizing up a poster's history before engaging._
```bash
hackernews-pp-cli users stats pg --json
```
## Command Reference
**items** — Fetch any HN item (story, comment, job, poll) by ID
- `hackernews-pp-cli items <itemId>` — Get details for a specific story, comment, job, or poll
**maxitem** — Current maximum item ID
- `hackernews-pp-cli maxitem` — Returns the largest item ID currently assigned by Hacker News
**stories** — Browse top, new, and best Hacker News stories
- `hackernews-pp-cli stories ask` — Get the latest Ask HN posts
- `hackernews-pp-cli stories best` — Get the highest-voted stories on Hacker News
- `hackernews-pp-cli stories job` — Get the latest Hacker News job postings
- `hackernews-pp-cli stories new` — Get the newest stories on Hacker News
- `hackernews-pp-cli stories show` — Get the latest Show HN posts
- `hackernews-pp-cli stories top` — Get the current top stories on Hacker News
**updates** — Recently changed items and profiles
- `hackernews-pp-cli updates` — Items and user profiles that have changed recently
**users** — Look up Hacker News user profiles
- `hackernews-pp-cli users <userId>` — Get a user's profile including karma and submission history
**Hand-written commands**
- `hackernews-pp-cli sync` — Pull top/new/best/show/ask/job lists and recent items into the local SQLite store
- `hackernews-pp-cli search <query>` — Full-text search Hacker News stories and comments via Algolia (use 'search local' for offline FTS)
- `hackernews-pp-cli hiring` — Mine 'Ask HN: Who is hiring' threads (filter, stats, companies)
- `hackernews-pp-cli freelance` — Mine 'Ask HN: Freelancer? Seeking freelancer?' threads (filter)
- `hackernews-pp-cli since` — Show what changed on the front page since the last sync (added, removed, moved stories)
- `hackernews-pp-cli pulse <topic>` — Show what HN is saying about a topic — per-day mentions, score, and comment volume
- `hackernews-pp-cli controversial` — Find stories with the highest comment-to-point ratio (polarizing discussions)
- `hackernews-pp-cli repost <url>` — Has this URL been posted on HN? Lists prior submissions with scores and dates
- `hackernews-pp-cli velocity <id>` — Show a story's rank trajectory across local snapshots
- `hackernews-pp-cli doctor` — Run a self-diagnostic: API reachability, store writability, config sanity
## Freshness Contract
This printed CLI owns bouRelated in AI Agents
skill-development
IncludedComprehensive meta-skill for creating, managing, validating, auditing, and distributing Claude Code skills and slash commands (unified in v2.1.3+). Provides skill templates, creation workflows, validation patterns, audit checklists, naming conventions, YAML frontmatter guidance, progressive disclosure examples, and best practices lookup. Use when creating new skills, validating existing skills, auditing skill quality, understanding skill architecture, needing skill templates, learning about YAML frontmatter requirements, progressive disclosure patterns, tool restrictions (allowed-tools), skill composition, skill naming conventions, troubleshooting skill activation issues, creating custom slash commands, configuring command frontmatter, using command arguments ($ARGUMENTS, $1, $2), bash execution in commands, file references in commands, command namespacing, plugin commands, MCP slash commands, Skill tool configuration, or deciding between skills vs slash commands. Delegates to docs-management skill for official documentation.
reprompter
IncludedTransform messy prompts into well-structured, effective prompts — single or multi-agent. Use when: "reprompt", "reprompt this", "clean up this prompt", "structure my prompt", rough text needing XML tags and best practices, "reprompter teams", "repromptception", "run with quality", "smart run", "smart agents", multi-agent tasks, audits, parallel work, anything going to agent teams. Don't use when: simple Q&A, pure chat, immediate execution-only tasks. See "Don't Use When" section for details. Outputs: Structured XML/Markdown prompt, quality score (before/after), optional team brief + per-agent sub-prompts, agent team output files. Success criteria: Single mode quality score ≥ 7/10; Repromptception per-agent prompt quality score 8+/10; all required sections present, actionable and specific.
adaptive-compaction
IncludedAdaptive add-on policy and recovery layer that decides WHEN to compact, prune, snapshot, or fork -- replacing fixed-percent auto-compaction across Claude Code, Codex, and MCP-capable hosts. Trigger on auto-compact timing or damage: "when should I compact", "is it safe to compact now or start a fresh session", "auto-compact fires too early/mid-task", "switching to an unrelated task but the window still has space", "context rot", "answers get worse the longer the session runs", "the agent forgot the plan or my decisions after it summarized", "add a layer on top that manages context without changing the agent", raising autoCompactWindow to give the policy room, or installing/tuning a cross-tool compaction policy or PreCompact hook -- even when "compaction" is never said but the problem is context-window pressure or post-summarization memory loss. Do NOT use to summarize a conversation, build RAG, write a summarization prompt (decides WHEN not HOW), or answer max-context-length trivia.
agent-skill-creator
IncludedCreate cross-platform agent skills from workflow descriptions. Activates when users ask to create an agent, automate a repetitive workflow, create a custom skill, or need advanced agent creation. Triggers on phrases like create agent for, automate workflow, create skill for, every day I have to, daily I need to, turn process into agent, need to automate, create a cross-platform skill, validate this skill, export this skill, migrate this skill. Supports single skills, multi-agent suites, transcript processing, template-based creation, interactive configuration, cross-platform export, and spec validation.
llm-wiki
IncludedUse when building or maintaining a persistent personal knowledge base (second brain) in Obsidian where an LLM incrementally ingests sources, updates entity/concept pages, maintains cross-references, and keeps a synthesis current. Triggers include "second brain", "Obsidian wiki", "personal knowledge management", "ingest this paper/article/book", "build a research wiki", "compound knowledge", "Memex", or whenever the user wants knowledge to accumulate across sessions instead of being re-derived by RAG on every query.
skill-master
IncludedAgent Skills authoring, evaluation, and optimization. Create, edit, validate, benchmark, and improve skills following the agentskills.io specification. Use when designing SKILL.md files, structuring skill folders (references, scripts, assets), ingesting external documentation into skills, running trigger evals, benchmarking skill quality, optimizing descriptions, or performing blind A/B comparisons. Keywords: agentskills.io, SKILL.md, skill authoring, eval, benchmark, trigger optimization.