Best for
- Quality trend visibility — Are scores improving or declining over time?
- Pipeline performance audit — Which phases are slowest? Where are bottlenecks?
- Brand comparison — Which brands consistently score highest/lowest?
indranilbanerjee/contentforge/skills/cf-analytics/SKILL.md
Render an ASCII analytics dashboard of ContentForge production history — quality score trends, phase-by-phase pipeline timing, brand and content-type comparisons, compliance and citation metrics, outlier detection, and triggered alerts over a 7/30/90-day window. Triggers on "/contentforge:cf-analytics", "are our quality scores improving", "which pipeline phase is slowest", "show content production stats", "compare brands by quality". Reads tracking records written by Phase 8 to the brand's track
Decision brief
Track ContentForge production quality, pipeline timing, brand-specific patterns, and compliance trends over configurable time periods with automated insights and alert flags.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/indranilbanerjee/contentforge --skill "skills/cf-analytics"Inspect the Agent Skill "cf-analytics" from https://github.com/indranilbanerjee/contentforge/blob/5f40253ff3a64d67610ce0ad996dfd80bafbff06/skills/cf-analytics/SKILL.md at commit 5f40253ff3a64d67610ce0ad996dfd80bafbff06. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
Review the “How to Use” section in the pinned source before continuing.
Pipeline telemetry (v4.0). When a brand filter is active, also load the cross-run telemetry so the dashboard can show where the pipeline itself works hard for this brand:
Quality Metrics: - Mean, median, min, max for composite score and each dimension - Standard deviation for outlier detection - Trend direction (improving, stable, declining) via linear regression slope - Percentile distribution (P25, P50, P75, P90)
Flag any record where: - Quality score is 2.0 standard deviations below the mean - Processing time is 1.5x the benchmark for its content type - Loops used 3 (suggests requirement or pipeline issues) - Any dimension score <5.0 (below minimum pass threshold)
Analyze patterns across the dataset: - Correlation Analysis: Do longer processing times correlate with higher quality? - Brand Patterns: Which brands have the most consistent scores? - Type Patterns: Which content types have the highest loop frequency? - Phase Bottlenecks: Which…
Permission review
The documentation asks the agent to run terminal commands or scripts.
python ${CLAUDE_PLUGIN_ROOT}/scripts/telemetry.py loops --brand <slug>The documentation asks the agent to run terminal commands or scripts.
python ${CLAUDE_PLUGIN_ROOT}/scripts/telemetry.py patterns --brand <slug>Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 92/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 23 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Track ContentForge production quality, pipeline timing, brand-specific patterns, and compliance trends over configurable time periods with automated insights and alert flags.
Use /contentforge:cf-analytics when you need:
For real-time batch monitoring, use the Progress Tracker (built into /contentforge:batch-process).
For individual content production, use /contentforge:create-content.
Loads historical production data from the brand's configured tracking backend (Google Sheets, Airtable, or local — see tracking.backend in the brand profile), calculates aggregate metrics across configurable dimensions, identifies statistical outliers and concerning trends, generates an ASCII dashboard with actionable recommendations, and flags alerts when performance degrades.
Process Flow:
Optional (all have defaults):
7 | 30 | 90 days (default: 30)article | blog | whitepaper | faq | research_paper | video_script | case_study | newsletter (default: all types)quality | timing | compliance | citations (default: quality)/contentforge:cf-analytics
/contentforge:cf-analytics --period=90
/contentforge:cf-analytics --brand=AcmeMed --period=30
/contentforge:cf-analytics --type=whitepaper --period=90
/contentforge:cf-analytics --focus=timing --period=30
/contentforge:cf-analytics --brand=AcmeMed --type=article --focus=quality --period=90
ContentForge's Output Manager (Phase 8) logs every completed piece to the backend configured in the brand profile (tracking.backend):
google_sheets — rows in the configured Google Sheet (read via scripts/sheets-tracker.py)airtable — records in the configured Airtable base (read via scripts/airtable-tracker.py)local — tracking.json under ~/.claude-marketing/{brand-slug}/tracking/ (read via scripts/local-tracker.py)All three backends share the same record schema:
| Column | Type | Description |
|---|---|---|
| requirement_id | string | Unique content ID (REQ-001) |
| title | string | Content title |
| brand | string | Brand profile used |
| content_type | enum | article, blog, whitepaper, faq, research_paper, video_script, case_study, newsletter |
| word_count | integer | Final word count |
| quality_score | float | Composite score (0-10) |
| content_quality | float | Dimension score (0-10) |
| citation_integrity | float | Dimension score (0-10) |
| brand_compliance | float | Dimension score (0-10) |
| seo_performance | float | Dimension score (0-10) |
| readability | float | Dimension score (0-10) |
| processing_time_min | float | Total pipeline time in minutes |
| phase_1_time | float | Research phase duration |
| phase_2_time | float | Fact-check phase duration |
| phase_3_time | float | Drafting phase duration |
| phase_4_time | float | Validation phase duration |
| phase_5_time | float | Structuring phase duration |
| phase_6_time | float | SEO phase duration |
| phase_6_5_time | float | Humanizer phase duration |
| phase_7_time | float | Reviewer phase duration |
| phase_8_time | float | Output phase duration |
| loops_used | integer | Total feedback loops triggered |
| loop_details | string | Which loops fired (e.g., "P4>P3 x1, P7>P5 x1") |
| citations_count | integer | Number of citations in final output |
| broken_links | integer | Broken links detected (should be 0) |
| completed_at | datetime | Completion timestamp |
| output_url | string | Google Drive link to .docx |
The local backend is the default: tracking data lives at
~/.claude-marketing/{brand-slug}/tracking/tracking.json
Switch backends anytime with /contentforge:cf-switch-backend (migration is additive and idempotent).
Loading analytics data...
Source: <brand's tracking backend, e.g. Airtable base appXXXX / Google Sheet / local tracking.json>
Records found: 147 total
After filters: 42 records (last 30 days, all brands)
Date range: 2026-01-26 to 2026-02-25
Pipeline telemetry (v4.0). When a brand filter is active, also load the cross-run telemetry so the dashboard can show where the pipeline itself works hard for this brand:
python ${CLAUDE_PLUGIN_ROOT}/scripts/telemetry.py loops --brand <slug>
python ${CLAUDE_PLUGIN_ROOT}/scripts/telemetry.py patterns --brand <slug>
Render two additional panels from the output: Loop edges fired (by edge and
content type — an edge firing across many runs of one content type is a contract
problem worth a template fix, and the panel should say so) and Recurring
humanizer patterns (per-pattern totals and run-presence; runs the script
reports as not_instrumented are shown as "unknown (pre-4.0 run)", never as
zero). Skip both panels silently only when the brand has no runs at all.
Quality Metrics:
Timing Metrics:
config/analytics-config.jsonCompliance Metrics:
Trend Metrics:
Flag any record where:
Analyze patterns across the dataset:
Before rendering, read references/dashboard-examples.md (in this skill's directory), section "Full Dashboard (Default View)", for the full synthetic layout (quality score overview, weekly trend chart, phase timing breakdown, brand performance comparison, content type averages, feedback loop analysis, alerts, recommendations) — reproduce this shape with real computed values. All numbers in the reference are invented.
Read references/dashboard-examples.md (in this skill's directory), section "Timing-Focused Dashboard (--focus=timing)", for the full synthetic layout (processing-time distribution, time by content type, phase waterfall, bottleneck analysis, throughput metrics) — reproduce this shape with real computed values.
Read references/dashboard-examples.md (in this skill's directory), section "Compliance-Focused Dashboard (--focus=compliance)", for the full synthetic layout (citation compliance, brand compliance scores, feedback loop compliance, hallucination report) — reproduce this shape with real computed values.
Alerts are configured in config/analytics-config.json and trigger when:
| Alert | Condition | Severity |
|---|---|---|
| Quality Decline | 3 consecutive pieces from same brand score <7.0 | High |
| Phase Slowdown | Any phase averages >1.5x its benchmark time | Medium |
| Citation Drop | Citation density drops below content-type minimum | Medium |
| Loop Spike | Average loops/piece exceeds 2.0 for any content type | High |
| Score Floor | Any piece scores below 5.0 composite | Critical |
| Volume Gap | Fewer than 10 data points in analysis window | Info |
Analytics behavior is controlled by config/analytics-config.json:
See config/analytics-config.json for full configuration.
None. This skill operates entirely on tracked data — no content generation agents are invoked. It reads records written by the Output Manager (Phase 8) to the brand's tracking backend. The aggregation and trend logic is documented in utilities/analytics-tracker.md — a pseudocode reference doc (not a script); follow it for the calculations.
Data Sources:
/contentforge:create-content — Each completed piece adds a tracking record/contentforge:batch-process — Batch completions add multiple records/contentforge:content-refresh — Refresh completions add versioned recordsActs On Insights:
/contentforge:brand-setup refreshconfig/scoring-thresholds.jsonAgents: None (data analysis only; pseudocode reference: utilities/analytics-tracker.md)
Output: ASCII analytics dashboard with trends, comparisons, alerts, and recommendations
Frequently asked questions
Track ContentForge production quality, pipeline timing, brand-specific patterns, and compliance trends over configurable time periods with automated insights and alert flags.
The source record exposes this install command: npx skills add https://github.com/indranilbanerjee/contentforge --skill "skills/cf-analytics". Inspect the command and pinned source before running it.
Static rules flagged exec-script in the source; the page lists the matching lines and excerpts.
Alternatives
minhnv0807/ai-business-skills
Use when conversion TRACKING must be set up or fixed before spending — Meta Pixel and Conversions API, Google Ads conversions with Enhanced Conversions, GA4, TikTok Pixel and Events API, server-side GTM, consent mode for GDPR and CCPA, UTM conventions, iOS ATT attribution windows, and a pre-launch verification checklist. Trigger on 'tracking setup', 'pixel setup', 'CAPI', 'GA4 events', 'conversions are not being recorded', 'Meta and Shopify numbers do not match'. Also use when launch is imminent
JasonColapietro/suede-creator-skills
Suede-owned experimentation discipline for hypotheses, sample sizing, test duration, significance, and repeatable experiment programs. Use when comparing variants, deciding whether a result is reliable, or building an experiment backlog and cadence. NOT FOR: analytics instrumentation (use suede-analytics), post-click conversion diagnosis (use suede-site-alchemy), or writing the variant copy itself (use suede-copy).
narrative-io/narrative-skills-marketplace
Translate a fuzzy analytical question into a rigorous investigation plan. Interrogates the ask, grounds the plan in the available data dictionary, applies analytical best practices, and produces a structured brief of query specifications for a downstream query-writing skill. Plans, does not write SQL. Use when: "why did X drop", "is there a relationship between A and B", "who are our highest-value customers", "what's driving the change in Y", "investigate this trend", "design an analysis for", "
K-Dense-AI/scientific-agent-skills
Distributed computing for larger-than-RAM pandas/NumPy workflows. Use when you need to scale existing pandas/NumPy code beyond memory or across clusters. Best for parallel file processing, distributed ML, integration with existing pandas code. For out-of-core analytics on single machine use vaex; for in-memory speed use polars.