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/indranilbanerjee/contentforge/cf-switch-backendnpx skills add indranilbanerjee/contentforge --skill cf-switch-backendgit clone --depth 1 https://github.com/indranilbanerjee/contentforgeWrote 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/indranilbanerjee/contentforge/cf-switch-backend)<a href="https://agentmods.dev/skills/indranilbanerjee/contentforge/cf-switch-backend"><img src="https://agentmods.dev/badge/skills/indranilbanerjee/contentforge/cf-switch-backend.svg" alt="Measured on agentmods" 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 | $0.00174 | $0.01742 |
| Opus 5 | $0.00087 | $0.00871 |
| Sonnet 5 | $0.00035 | $0.00348 |
| Haiku 4.5 | $0.00017 | $0.00174 |
Grade A, and why
cf-switch-backend 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 5d 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.
Copies of this mod
1 near-identical copy found in the catalogue:
- cf-switch-backend — 100% identical, 0 lines differ
How it starts
The opening of the file, as written. The whole thing — 168 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Switch Tracking Backend
Switch ContentForge's tracking and delivery backend between Google Sheets + Drive, Airtable, or Local filesystem. Optionally migrate existing tracking data and output files to the new backend.
When to Use
- Switching from local (default) to a cloud backend for collaboration
- Migrating from Google to Airtable (or vice versa) for simpler auth
- Downgrading to local when cloud access isn't needed
- Checking current backend status before switching
Running in Cowork? The "local" backend writes to the ephemeral sandbox filesystem — files vanish at session end. For Cowork team setups, use the Google (Drive) route and run /contentforge:cf-cowork-setup first to wire the Drive folder layout.
How to Use
/contentforge:cf-switch-backend airtable
/contentforge:cf-switch-backend google_sheets
/contentforge:cf-switch-backend local
/contentforge:cf-switch-backend --status
What This Command Does
Step 1: Identify Current Backend
Read the active brand profile's tracking.backend field.
Report current state:
Current backend: local
Records: 47 tracking records (~/.claude-marketing/{brand}/tracking/tracking.json)
Output files: 42 files in ~/.claude-marketing/{brand}/outputs/{YYYY}/{MM}/
Step 2: Validate Target Backend
If switching to Airtable:
- Check
AIRTABLE_TOKENenvironment variable exists - If missing, guide through setup:
- Go to airtable.com/create/tokens
- Create a Personal Access Token with
data.records:readanddata.records:writescopes - Select the base that will hold tracking data
- Set the environment variable:
export AIRTABLE_TOKEN=patXXXXXXXX
- Ask for the Airtable Base ID (from the base URL:
airtable.com/appXXXXXXXXX/...) - Verify access by running:
python {scripts_dir}/airtable-tracker.py --action init --base-id {base_id}
If switching to Google Sheets + Drive:
- Check Google credentials at
~/.claude-marketing/google-credentials.json - If missing, guide through setup:
- Go to Google Cloud Console > IAM & Admin > Service Accounts
- Create a project (or use existing)
- Enable Google Sheets API and Google Drive API
- Create a Service Account and download the JSON key
- Save to
~/.claude-marketing/google-credentials.json - Create a Google Sheet and share it with the service account email (Editor)
- Create a Google Drive folder and share it with the service account email (Editor)
- Ask for the Google Sheet ID and Drive folder ID
- Verify access by running:
python {scripts_dir}/sheets-tracker.py --action init --sheet-id {sheet_id}
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.
- 5d ago First seen · 168 lines · 174 tokens per session scan A 0676c9a563fc
cf-switch-backend is a skill published in the GitHub repository indranilbanerjee/contentforge (26 stars, last pushed 18d ago), licensed MIT. It adds 174 tokens to every session and 1,742 once invoked, about $0.0009 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
aeo-audit
Audit how a brand appears across the 6 canonical AI answer surfaces — ChatGPT, Perplexity, Google AI Mode, AI Overviews, Gemini, Copilot — probing 10-25 queries into a numbered output bundle with per-platform visibility scorecards, citation-accuracy checks, a competitor matrix, content gaps, and an optimization…
backlink-gap
Find referring domains that link to your competitors but not to you, ranked by an outreach-priority score (0.40 DR + 0.25 link-overlap + 0.20 traffic + 0.15 topical relevance) — outputs a four-gate quality scorecard, a 30-prospect outreach shortlist, broken-link candidates, and pre-filled outreach templates. Triggers…
ab-test-plan
Design a statistically rigorous A/B or multivariate test plan — If/Then/Because hypothesis, control and variant specs, required sample size per variant (absolute vs relative MDE via sample-size-calculator.py), test duration, guardrail metrics, stopping rules, and go/no-go decision criteria. Triggers on…
aeo-geo
Strategy module for Answer Engine / Generative Engine Optimization — audits AI visibility, restructures content for citation, runs entity-consistency checks across Knowledge Graph, Wikidata, Wikipedia, Crunchbase, and LinkedIn, and produces JSON-LD schema specs, monitoring frameworks, and a 90-day LLM content…
analytics-insights
Marketing measurement module — builds KPI trees per business model, reporting templates (weekly, monthly, QBR, campaign), anomaly root-cause diagnosis, MMM and incrementality guidance, dark-social tracking, and privacy-first cookieless measurement architecture, including the GA4 AI Assistant channel group for…
audience-intelligence
Audience research module — builds six-dimension buyer personas (demographic, psychographic, behavioral, need-state, information, decision), Jobs-to-Be-Done maps, RFM/behavioral/lifecycle segmentation models, anti-personas with exclusion criteria, B2B buying-committee maps, and lookalike seed specs. Triggers on…