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.
git clone --depth 1 https://github.com/thangnguyenworkspace/company-research-pipelineWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/commands/thangnguyenworkspace/company-research-pipeline/social-crawl)<a href="https://agentmods.dev/commands/thangnguyenworkspace/company-research-pipeline/social-crawl"><img src="https://agentmods.dev/badge/commands/thangnguyenworkspace/company-research-pipeline/social-crawl/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/commands/thangnguyenworkspace/company-research-pipeline/social-crawl"><img src="https://agentmods.dev/badge/commands/thangnguyenworkspace/company-research-pipeline/social-crawl.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What 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.1 | $0.00022 | $0.00760 |
| Opus 5 | $0.00011 | $0.00380 |
| Sonnet 5 | $0.00004 | $0.00152 |
| Haiku 4.5 | $0.00002 | $0.00076 |
Grade A, and why
social-crawl 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 12d 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 — 46 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Social Crawl
Pull recent posts for the targets in $ARGUMENTS via Apify. LinkedIn targets are profile or company URLs; X targets are bare handles. Default window: 7 days. Default cap: 30 posts per source. If no targets were given, ask.
Requires the Apify MCP server. Full quirk reference: method/04-tools.md section 2.
Step 1: Budget gate (always, before any run)
Estimate the spend: targets x cap x unit cost (LinkedIn ~$1.50 per 1k posts via harvestapi/linkedin-profile-posts; X ~$0.0004 per tweet via apidojo/tweet-scraper). Present the estimate and the caps, and get a yes before launching. Actor pricing drifts; for large runs, re-verify with fetch-actor-details first. The actors' own maxPosts / maxItems inputs are the only functional spend caps; do not trust platform-level charge caps.
Step 2: Run
LinkedIn (one batched run for all targets):
- Actor:
harvestapi/linkedin-profile-posts, input{ targetUrls: [all URLs], maxPosts: <cap> }. maxPosts: 0means zero, not unlimited.
X (one run per handle):
- Actor:
apidojo/tweet-scraper, input{ searchTerms: ["from:{handle} since:{YYYY-MM-DD} until:{YYYY-MM-DD}"], maxItems: <cap>, sort: "Latest" }. - Use search-mode
from:queries as shown; handle-mode silently ignores date windows.untilis exclusive. Never attach a custom map function (automated ban risk). - Long-form X Articles: enrich via
fastcrawler/x-twitter-article-to-markdown, at most 10 tweet IDs per run, passing the host tweet's own ID (never the article's ID).
Transport: call-actor with waitSecs up to 45; if the run is still going, poll get-actor-run.
Step 3: Read results (paged, projected)
- The dataset ID is at
storages.datasets.default.idin the run object. - Read with
get-dataset-itemsusing afieldsprojection to keep the payload small. Quirk: array/object fields project by bare parent key (author, notauthor.name). - Page with
limit+offset(LinkedIn: ~15 per page; X: large limits are fine). Never one giant unpaged read.
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.
- 12d ago First seen · 46 lines · 22 tokens per session scan A ae75bca656c9
social-crawl is a command published in the GitHub repository thangnguyenworkspace/company-research-pipeline (2 stars, last pushed 1mo ago), licensed MIT. It adds 22 tokens to every session and 760 once invoked, about $0.0001 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-31.
Other commands, from other repositories
create-actor
Guided Apify Actor development with best practices and systematic workflow.
status
Show current research session state and progress.
resume
Resume a previous research session from progress file.
init
Manually initialize or reload research context for sigint.
augment
Deep-dive into a specific area of current research.
issues
Create GitHub issues from research findings as atomic deliverables.