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 skills add besoeasy/open-skills --skill facebook-page-managergit clone --depth 1 https://github.com/besoeasy/open-skillsWrote 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/skills/besoeasy/open-skills/facebook-page-manager)<a href="https://agentmods.dev/skills/besoeasy/open-skills/facebook-page-manager"><img src="https://agentmods.dev/badge/skills/besoeasy/open-skills/facebook-page-manager/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/skills/besoeasy/open-skills/facebook-page-manager"><img src="https://agentmods.dev/badge/skills/besoeasy/open-skills/facebook-page-manager.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to high
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- high Privilege Escalation · line 35 Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.Fix: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.
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.00056 | $0.01724 |
| Opus 5 | $0.00028 | $0.00862 |
| Sonnet 5 | $0.00011 | $0.00345 |
| Haiku 4.5 | $0.00006 | $0.00172 |
Grade A, and why
facebook-page-manager scanned grade A with 1 finding 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 7d 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.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
const res = await fetch(url, opts); How it starts
The opening of the file, as written. The whole thing — 139 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Facebook Page Manager Agent
Builds a standalone Node.js agent that manages a Facebook page: AI-drafted content, scheduled posting cadence, comment auto-replies, analytics, and monetization readiness tracking, controllable from Telegram.
When to use
- User asks to "build a Facebook agent / automate a Facebook page / grow a page"
- User wants page management, scheduling, or comment auto-replies
- User wants monetization tracking or strategy for a page (Reels watch time, in-stream ads, subscribers)
Required tools / APIs
- Facebook Graph API (free): page posting, scheduling, comments, insights. Requires a Facebook Developer app + user token.
- Local LLM via ollama (free, optional): content drafting. Any OpenAI-compatible endpoint works.
- Telegraf (free): optional Telegram control bot:
npm install telegraf - node-cron (free): scheduler tick:
npm install node-cron
npm install telegraf node-cron dotenv
Skills
1. Set up credentials (the 90% blocker)
- Create a developer app at https://developers.facebook.com → My Apps → Create App → Business type. Add the Facebook Login product.
- Grant the user token these permissions (work for pages you administer, no app review needed):
pages_show_list,pages_manage_posts,pages_read_engagement,pages_manage_engagement,read_insights. - Get a token in the Graph API Explorer (select your app → permissions → Generate Access Token).
- Exchange for a long-lived token (60 days) in a browser:
https://graph.facebook.com/v21.0/oauth/access_token?grant_type=fb_exchange_token&client_id=APP_ID&client_secret=APP_SECRET&fb_exchange_token=USER_TOKEN - Page ID is under the page's About tab (or resolve via
GET /me/accounts).
2. Graph API client (Node.js)
const BASE = "https://graph.facebook.com/v21.0";
const TOKEN = process.env.FB_USER_TOKEN;
async function graph(path, params = {}, method = "GET") {
const url = new URL(`${BASE}/${path}`);
if (method === "GET") Object.entries(params).forEach(([k, v]) => url.searchParams.set(k, v));
url.searchParams.set("access_token", TOKEN);
const opts = { method };
if (method !== "GET") {
opts.headers = { "Content-Type": "application/json" };
opts.body = JSON.stringify({ ...params, access_token: TOKEN });
}
const res = await fetch(url, opts);
const data = await res.json();
if (data.error) throw new Error(`Graph API ${data.error.code}: ${data.error.message}`);
return data;
}
// list pages
const pages = await graph("me/accounts", { fields: "id,name,access_token" });
// post text
await graph("PAGE_ID/feed", { message: "hello" }, "POST");
// schedule (published:false + unix seconds)
await graph("PAGE_ID/feed", { message: "later", published: false, scheduled_publish_time: 1786500000 }, "POST");
// comment replies (needs pages_manage_engagement)
await graph("COMMENT_ID/replies", { message: "Thanks!" }, "POST");
// insights (cumulative day-period values)
await graph("PAGE_ID/insights", { metric: "page_fans,page_impressions,page_engaged_users,page_video_views", period: "day" });
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.
- 7d ago First seen · 139 lines · 56 tokens per session scan A 1a257805a32e
facebook-page-manager is a skill published in the GitHub repository besoeasy/open-skills (132 stars, last pushed 7d ago), licensed MIT. It adds 56 tokens to every session and 1,724 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-05.
Other skills, from other repositories
expense-review-policy
Review invoices and contracts against accounts-payable policy before human approval.
skill-creator
Create, install, or update skills in the workspace. Use when (1) installing a skill from a URL or remote source, (2) creating a new skill from scratch, (3) updating or restructuring existing skills. Always use this skill for any skill installation or creation task.
powerpoint
Create designed, editable PowerPoint .pptx presentations with PptxGenJS. Use when the user asks to create, generate, update, or inspect a deck, slide deck, presentation, or .pptx file.
ax-agent-rlm
This skill helps an LLM generate correct AxAgent RLM/runtime code using @ax-llm/ax. Use when the user asks about RLM code execution, AxJSRuntime, contextFields, contextPolicy, liveRuntimeState, promptLevel, stage prompt controls, executorModelPolicy, maxRuntimeChars, agent.test(...), llmQuery(...), recursionOptions…
new-app
Scaffold a new Atomic Agents project from scratch — create the directory, pyproject.toml, env file, first agent, and a runnable entry point. Use when the user asks to start a new atomic-agents project from scratch, says "scaffold" / "new project" / "start from zero", or runs /atomic-agents:new-app.
ax-go-flow
Use when writing Go code with github.com/ax-llm/ax/packages/go for flows, nodes, program graphs, nested programs, dynamic options, caching, and optimizer components.