Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/tinyfish-io/tinyfish-cookbook/interview-prepnpx skills add tinyfish-io/tinyfish-cookbook --skill interview-prepgit clone --depth 1 https://github.com/tinyfish-io/tinyfish-cookbookWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00141 | $0.02221 |
| Opus 5 | $0.00071 | $0.01111 |
| Sonnet 5 | $0.00028 | $0.00444 |
| Haiku 4.5 | $0.00014 | $0.00222 |
Grade A, and why
interview-prep scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 229 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Interview Prep Guide Generator
Given a company name (and optionally a role), scrape real interview experiences from Glassdoor, Blind, and Reddit simultaneously — extract repeated questions, identify patterns, and return a structured prep guide based on what actually happens in the room.
Pre-flight check
tinyfish --version
tinyfish auth status
If not installed: npm install -g tinyfish
If not authenticated: tinyfish auth login
Step 1 — Clarify inputs
You need:
- Company name — e.g. "Google", "Stripe", "Citadel"
- Role (optional but improves results) — e.g. "software engineer", "data scientist", "backend engineer"
If the user hasn't provided a role, default to "software engineer" and mention it in the output.
Step 2 — Parallel scraping
Run all three agents simultaneously. Each lands directly on a results page — no unnecessary navigation.
Before firing agents, do one quick web search yourself (no TinyFish needed) to find the direct Glassdoor interviews URL for the company:
Search: site:glassdoor.com "{COMPANY_NAME}" interview questions
Take the first result URL that looks like:
https://www.glassdoor.com/Interview/{Slug}-Interview-Questions-E{ID}.htm
Use that exact URL in Agent 1 below. If you cannot find it, fall back to:
https://www.glassdoor.com/Interview/{COMPANY_NAME_ENCODED}-Interview-Questions.htm
# Agent 1 — Glassdoor interview reviews (land directly on interviews page)
tinyfish agent run \
--url "{GLASSDOOR_INTERVIEWS_URL}?filter.jobTitleExact={ROLE_ENCODED}" \
"You are on a Glassdoor interview reviews page for {COMPANY_NAME}, filtered to {ROLE}.
Read the first 5 visible interview cards only. Do NOT scroll. Do NOT click any card.
From the preview text of each card extract:
- Role title
- Interview difficulty (Easy / Medium / Hard / Very Hard)
- Outcome (Got offer / No offer / Declined)
- Interview questions verbatim
- Topics mentioned (dynamic programming, system design, behavioural, etc.)
- Any tips or regrets
STRICT RULES:
- 5 cards maximum — stop immediately after the 5th
- Do NOT click any card, do NOT paginate, do NOT scroll
- If the page asks you to sign in, return an empty array immediately
Return JSON array: [{role, difficulty, outcome, questions: [...], topics: [...], tips: [...]}]" \
--sync --browser-profile stealth > /tmp/ip_glassdoor.json &
# Agent 2 — Blind interview discussions
tinyfish agent run \
--url "https://www.teamblind.com/search/{COMPANY_NAME_ENCODED}%20interview" \
"You are on Blind search results for '{COMPANY_NAME} interview'.
Read the post titles and preview text visible on this page.
Extract from the visible content:
- Any specific interview questions mentioned in titles or previews
- Topics that appear frequently (e.g. system design, LC hard, SQL, coding rounds)
- Difficulty signals (e.g. 'brutal', 'straightforward', 'multiple rounds')
- Role types mentioned
STRICT RULES:
- Do NOT click any post to open it
- Do NOT scroll more than twice
- Do NOT navigate away from this page
- Read only what is visible in post titles and preview snippets
Return JSON: {questions: [...], topics: [...], difficulty_signals: [...], roles_mentioned: [...], tips: []}" \
--sync --browser-profile stealth > /tmp/ip_blind.json &
# Agent 3 — Reddit interview experiences
tinyfish agent run \
--url "https://www.reddit.com/search/?q={COMPANY_NAME_ENCODED}+{ROLE_ENCODED}+interview+experience&sort=relevance&t=month&type=link" \
"You are on Reddit search results for '{COMPANY_NAME} {ROLE} interview experience'.
Read the post titles and snippet text visible in the search results — do not click anything.
Extract:
- Interview questions mentioned directly in titles or snippets
- Topics that appear across multiple posts (system design, behavioural, OOP, etc.)
- Difficulty language used
- Rounds mentioned (phone screen, onsite, take-home, etc.)
STRICT RULES:
- Click a post ONLY if its title explicitly says 'interview questions' or 'prep guide' — max 2 clicks total
- On any clicked post: read only the top-level post text, skip all comments, do NOT scroll
- Do NOT paginate
- Stop after reading 10 result snippets
Return JSON: {questions: [...], topics: [...], rounds: [...], difficulty_signals: [...], tips: []}" \
--sync --browser-profile stealth > /tmp/ip_reddit.json &
# Wait for all three to complete
wait
echo "=== GLASSDOOR ===" && cat /tmp/ip_glassdoor.json
echo "=== BLIND ===" && cat /tmp/ip_blind.json
echo "=== REDDIT ===" && cat /tmp/ip_reddit.json
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 229 lines · 141 tokens per session scan A 6e5f016f92b7
interview-prep is a skill published in the GitHub repository tinyfish-io/tinyfish-cookbook (2,135 stars, last pushed 5d ago), licensed MIT. It adds 141 tokens to every session and 2,221 once invoked, about $0.0007 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
ppt-generation
Use this skill when the user requests to generate, create, or make presentations (PPT/PPTX). Creates visually rich slides by generating images for each slide and composing them into a PowerPoint file.
newsletter-generation
Use this skill when the user requests to generate, create, write, or draft a newsletter, email digest, weekly roundup, industry briefing, or curated content summary. Supports topic-based research, content curation from multiple sources, and professional formatting for email or web distribution. Trigger on requests…
smoke-test
End-to-end smoke test skill for DeerFlow. Guides through: 1) Pulling latest code, 2) Docker OR Local installation and deployment (user preference, default to Local if Docker network issues), 3) Service availability verification, 4) Health check, 5) Final test report. Use when the user says "run smoke test", "smoke…
data-analysis
Use this skill when the user uploads Excel (.xlsx/.xls) or CSV files and wants to perform data analysis, generate statistics, create summaries, pivot tables, SQL queries, or any form of structured data exploration. Supports multi-sheet Excel workbooks, aggregation, filtering, joins, and exporting results to…
podcast-generation
Use this skill when the user requests to generate, create, or produce podcasts from text content. Converts written content into a two-host conversational podcast audio format with natural dialogue.
github-deep-research
Conduct multi-round deep research on any GitHub Repo. Use when users request comprehensive analysis, timeline reconstruction, competitive analysis, or in-depth investigation of GitHub. Produces structured markdown reports with executive summaries, chronological timelines, metrics analysis, and Mermaid diagrams.…