fn2ai/fn2-hermes-skill/fn2

Claude Code and agent skill by fn2ai/fn2-hermes-skill

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

Stock, ticker, earnings and market research, plus agents. Ask how a stock or the market did and why, or schedule recurring research that reports back.

Install

npx vskill@latest install fn2ai/fn2-hermes-skill/fn2

SKILL.md

FN2 — market research & research agents

FN2 is an AI research platform for stocks, markets, and the economy. It answers questions with grounded, sourced analysis (live prices, earnings transcripts, SEC filings, economic data, prediction markets) and lets you run agents that research on a schedule and report back.

This skill talks to FN2 through a small bundled CLI: `scripts/fn2` (Python 3 standard library only — nothing to install).

When to use this skill

Use FN2 whenever the user asks about:

  • A stock or ticker — price action, "how did NVDA do this week and why", fundamentals
  • Earnings, guidance, or what management said on a call
  • The market or macro picture — the S&P/Nasdaq, the Fed, inflation, rates, jobs
  • Comparing companies, screening, or "what's moving and why"
  • Setting up recurring research — a daily market brief, a weekly recap, an

earnings-day monitor — delivered automatically

For one-off questions, use research. For anything recurring or that should keep running on its own, create an agent.

Setup (once)

The CLI authenticates with an API key in the FN2_API_TOKEN environment variable (FN2_API_KEY still works as an alias).

If the user isn't connected to FN2 yet (no key set), the CLI prints a sign-up link — surface it to them as the next step. Don't try to work around a missing key; getting one is the onboarding:

You'll need a free FN2 account to use this. Create one and grab an API key here
(it takes a minute): https://fn2.ai/api-keys?ref=hermes
Then run: export FN2_API_TOKEN=fn2_...

The ?ref=hermes link takes them straight to key creation. Give the key the `chat`, `agents` and `models` scopes — chat is the one research needs, and a key without it fails on the most common request. Once they've exported the key, retry their request.

On a messaging platform, never ask the user to paste their key into the chat — it would live in the message history. Have them export it where the gateway runs (for Hermes, ~/.hermes/.env) and then retry.

Locating the CLI (do this first)

Do not assume the current directory. On the CLI your cwd is wherever the user ran Hermes; on a messaging platform it is MESSAGING_CWD (your home directory by default) — never this skill's folder. Hermes exposes no skill-directory variable, and skill_view reports only a relative path, so resolve $FN2 once and use it for every command below:

bash
for d in "${HERMES_HOME:-$HOME/.hermes}"/skills/*/fn2 \
"${HERMES_HOME:-$HOME/.hermes}"/skills/fn2 \
"$HOME/.claude/skills/fn2" "$HOME/.agents/skills/fn2"; do
[ -f "$d/scripts/fn2" ] && FN2="$d/scripts/fn2" && break
done
test -n "${FN2:-}" || { echo "fn2 CLI not found" >&2; exit 1; }
chmod +x "$FN2" 2>/dev/null
"$FN2" --help

Run it with the terminal tool. Don't wrap it in execute_code and don't go hunting for the script with glob — the loop above is the supported resolution and it is one call.

How to use it

Add --json to any command when you want machine-readable output to parse.

Research (the most common use)
bash
"$FN2" research "How did NVDA do this week, and what drove it?"
"$FN2" research "What's the macro backdrop going into the next Fed meeting?"
"$FN2" research "Summarize Apple's latest earnings call" --model z-ai/glm-5.2

A research call can take 30–120 seconds because FN2 pulls live data and reads sources. The answer comes back as Markdown.

Say something before you start it. That wait is long enough to read as a hang, especially in a chat window where the user cannot see a spinner. Emit one short line of text in the same turn, before the terminal call — for example:

Running that through FN2 now — pulling live prices and sources. Back in under
a minute.

Then make the call. One line is enough; don't narrate each step afterwards, and don't promise a specific number of seconds.

If the user wants speed over depth, --model accounts/fireworks/routers/glm-5p2-fast returns sooner than the frontier default. Check "$FN2" models for what their plan allows.

Agents — schedule recurring research
bash
# Run once, right now (good for a quick deep dive you want saved):
"$FN2" agents create --prompt "Deep dive on AMD vs NVDA in AI accelerators"
# Every weekday morning:
"$FN2" agents create --name "Macro Brief" \
--prompt "Give me this morning's macro brief: overnight moves, key data, what to watch" \
--every weekdays --timezone America/New_York
# A specific cron schedule (Mondays at 9am):
"$FN2" agents create --name "Weekly Tech Recap" \
--prompt "Recap the week in big-cap tech and call out next week's catalysts" \
--cron "0 9 * * 1" --timezone America/New_York
# Half an hour before the opening bell, and emailed on completion:
"$FN2" agents create --name "Pre-market Brief" \
--prompt "Pre-market brief on my watchlist: overnight moves and what to watch" \
--every market_open --offset-minutes -30 --email

Prefer --every market_open / --every market_close over a cron approximation of the trading day. The server resolves the exchange calendar, so those runs skip holidays and land correctly on half-days; a hand-rolled 0 9 * * 1-5 does not. --offset-minutes is signed: -30 is 30 minutes before the bell.

--email delivers each completed run to the account's own verified address. The server resolves the address and honours the user's opt-out — you never pass a recipient, and you cannot send an agent's results to someone else.

Manage agents and read their results
bash
"$FN2" agents list # see your agents
"$FN2" agents run <agent-id> # trigger a run now
"$FN2" runs list <agent-id> # list that agent's runs
"$FN2" runs get <agent-id> <run-id> # read a run's full answer
"$FN2" agents pause <agent-id> # pause / resume
"$FN2" agents resume <agent-id>
"$FN2" agents delete <agent-id> # delete it and its history
Account & models
bash
"$FN2" models # which models you can use (★ = your default)
"$FN2" usage # plan, token quota, and the weekly research allowance

usage reports two independent budgets: monthly model tokens, and a weekly research-request allowance that resets on its own clock. A 429 on a research call is usually the second one, so show usage rather than guessing.

Good habits

  • Quote the user's question closely in research — FN2 does the interpreting.
  • After creating a scheduled agent, confirm its id and schedule back to the user.
  • A run started with agents run is asynchronous: poll runs get until its

status is completed, then share the result text.

  • If you get a 403 Missing scope error, the user's API key needs the relevant

scope (chat for research, agents for agents, models for the model list). They can edit the key's scopes at https://fn2.ai. A key created without chat is the usual cause of a failing research call.

  • Hit a 429? That's a quota limit — show "$FN2" usage so they can see it.
  • Answers come back as Markdown with tables, nested lists and code blocks. Pass

them through as they are; don't reflow or re-indent them.

See `references/api.md` for the full command and endpoint reference.

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
58
Repository forks
48
7-day trend score
0

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/fn2ai/fn2-hermes-skill/fn2/badge)](https://verified-skill.com/skills/fn2ai/fn2-hermes-skill/fn2)

Something wrong with this skill or its page? Tell us.