Skip to content
Content
Skill

/cf-analytics

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

From plugin
contentforge
2822 skills13 agents9 commands
Install
$ npx -y skills add indranilbanerjee/contentforge --skill cf-analytics --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/cf-analytics

Context preview

The summary Claude sees to decide when to auto-load this skill.

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

SKILL.md

cf-analytics.SKILL.md
name: cf-analytics
description: "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 tracking backend (local JSON, Google Sheets, or Airtable) and alert rules from config/analytics-config.json; needs 10+ tracked pieces for meaningful trends. Analysis only — invokes no agents and never reads or stores content text."
effort: low
argument-hint: "[--period 7|30|90] [--brand <name>] [--type <content-type>] [--focus quality|timing|compliance|citations]"

Content Analytics Dashboard

Track ContentForge production quality, pipeline timing, brand-specific patterns, and compliance trends over configurable time periods with automated insights and alert flags.

When to Use

Use `/contentforge:cf-analytics` when you need:

  • **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?
  • **Content type analysis** — Are articles scoring better than whitepapers?
  • **Compliance monitoring** — Citation rates, brand adherence, loop frequency
  • **Capacity planning** — Average throughput for estimating batch timelines

**For real-time batch monitoring**, use the Progress Tracker (built into `/contentforge:batch-process`). **For individual content production**, use [`/contentforge:create-content`](../../commands/create-content.md).

What This Command Does

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:**

1. **Load Data** — Read tracking records from the brand's tracking backend (Google Sheets / Airtable / local JSON) 2. **Filter & Parse** — Apply time period, brand, content type, and metric focus filters 3. **Calculate Aggregates** — Average scores, trends, percentiles, phase timing breakdowns 4. **Detect Outliers** — Flag data points beyond 2.0 standard deviations from mean 5. **Generate Insights** — Identify patterns, correlations, and improvement opportunities 6. **Present Dashboard** — Render ASCII analytics display with charts and recommendations 7. **Alert Check** — Evaluate alert rules and surface any triggered flags

Required Inputs

**Optional (all have defaults):**

  • **Time Period** — `7` | `30` | `90` days (default: `30`)
  • **Brand Filter** — Filter to specific brand (default: all brands)
  • **Content Type Filter** — `article` | `blog` | `whitepaper` | `faq` | `research_paper` | `video_script` | `case_study` | `newsletter` (default: all types)
  • **Metric Focus** — `quality` | `timing` | `compliance` | `citations` (default: `quality`)

How to Use

Default Dashboard (Last 30 Days, All Brands)

/contentforge:cf-analytics

Specific Time Period

/contentforge:cf-analytics --period=90

Brand-Specific Analysis

/contentforge:cf-analytics --brand=AcmeMed --period=30

Content Type Focus

/contentforge:cf-analytics --type=whitepaper --period=90

Metric-Specific Deep Dive

/contentforge:cf-analytics --focus=timing --period=30

Combined Filters

/contentforge:cf-analytics --brand=AcmeMed --type=article --focus=quality --period=90

Data Sources

Data source: the brand's tracking backend

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 tim

Read more
Ships withcontentforge

🌐 Read this in: English · हिन्दी · 中文 · 日本語 · 한국어 · Español · Português · العربية · اردو · தமிழ் · বাংলা · Русский You need to ship 30 articles this quarter that sound human, cite real sources, link into your funnel, and survive an editor who checks.

Get the whole plugin

Other skills on contentforge.