Add SEO skills 33-34 and fix bugs in skills 19-34
New skills: - Skill 33: Site migration planner with redirect mapping and monitoring - Skill 34: Reporting dashboard with HTML charts and Korean executive reports Bug fixes (Skill 34 - report_aggregator.py): - Add audit_type fallback for skill identification (was only using audit_id prefix) - Extract health scores from nested data dict (technical_score, onpage_score, etc.) - Support subdomain matching in domain filter (blog.ourdigital.org matches ourdigital.org) - Skip self-referencing DASH- aggregated reports Bug fixes (Skill 20 - naver_serp_analyzer.py): - Remove VIEW tab selectors (removed by Naver in 2026) - Add new section detectors: books (도서), shortform (숏폼), influencer (인플루언서) Improvements (Skill 34 - dashboard/executive report): - Add Korean category labels for Chart.js charts (기술 SEO, 온페이지, etc.) - Add Korean trend labels (개선 중 ↑, 안정 →, 하락 중 ↓) - Add English→Korean issue description translation layer (20 common patterns) Documentation improvements: - Add Korean triggers to 4 skill descriptions (19, 25, 28, 31) - Expand Skill 32 SKILL.md from 40→143 lines (was 6/10, added workflow, output format, limitations) - Add output format examples to Skills 27 and 28 SKILL.md - Add limitations sections to Skills 27 and 28 - Update README.md, CLAUDE.md, AGENTS.md for skills 33-34 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
136
custom-skills/34-seo-reporting-dashboard/desktop/SKILL.md
Normal file
136
custom-skills/34-seo-reporting-dashboard/desktop/SKILL.md
Normal file
@@ -0,0 +1,136 @@
|
||||
---
|
||||
name: seo-reporting-dashboard
|
||||
description: |
|
||||
SEO reporting dashboard and executive report generation. Aggregates data from all SEO skills
|
||||
into stakeholder-ready reports and interactive HTML dashboards.
|
||||
Triggers: SEO report, SEO dashboard, executive summary, 보고서, 대시보드, performance report, 종합 보고서.
|
||||
---
|
||||
|
||||
# SEO Reporting Dashboard
|
||||
|
||||
## Purpose
|
||||
|
||||
Aggregate outputs from all SEO skills (11-33) into stakeholder-ready executive reports with interactive HTML dashboards, trend analysis, and Korean-language summaries. This is the PRESENTATION LAYER that sits on top of skill 25 (KPI Framework) and all other skill outputs, providing a unified view of SEO performance across all audit dimensions.
|
||||
|
||||
## Core Capabilities
|
||||
|
||||
1. **Report Aggregation** - Collect and normalize outputs from all SEO skills (11-33) into a unified data structure with cross-skill health scoring and priority issue identification
|
||||
2. **Interactive Dashboard** - Generate self-contained HTML dashboards with Chart.js visualizations including health gauge, traffic trends, keyword distribution, issue breakdown, and competitor radar
|
||||
3. **Executive Reporting** - Korean-language executive summary generation with audience-specific detail levels (C-level, marketing team, technical team) and prioritized action items
|
||||
|
||||
## MCP Tool Usage
|
||||
|
||||
### Ahrefs for Fresh Data Pull
|
||||
```
|
||||
mcp__ahrefs__site-explorer-metrics: Pull current organic metrics snapshot for dashboard
|
||||
mcp__ahrefs__site-explorer-metrics-history: Pull historical metrics for trend visualization
|
||||
```
|
||||
|
||||
### Notion for Reading Past Audits and Writing Reports
|
||||
```
|
||||
mcp__notion__*: Query SEO Audit Log database for past audit entries
|
||||
mcp__notion__*: Save dashboard reports and executive summaries to Notion
|
||||
```
|
||||
|
||||
### Perplexity for Context
|
||||
```
|
||||
mcp__perplexity__*: Enrich reports with industry benchmarks and competitor context
|
||||
```
|
||||
|
||||
## Workflow
|
||||
|
||||
### Dashboard Generation
|
||||
1. Accept target domain and optional date range
|
||||
2. Query Notion SEO Audit Log for all past audit entries for the domain
|
||||
3. Optionally pull fresh metrics from Ahrefs (site-explorer-metrics, metrics-history)
|
||||
4. Normalize all skill outputs into unified format
|
||||
5. Compute cross-skill health score with weighted category dimensions
|
||||
6. Identify top issues (sorted by severity) and top wins across all audits
|
||||
7. Build audit history timeline
|
||||
8. Generate HTML dashboard with Chart.js charts:
|
||||
- Health score gauge (doughnut)
|
||||
- Category scores horizontal bar chart
|
||||
- Health score timeline line chart
|
||||
- Issue distribution pie chart
|
||||
- Competitor radar chart (if competitor data available)
|
||||
9. Save HTML file and optionally push summary to Notion
|
||||
|
||||
### Executive Reporting
|
||||
1. Load aggregated report data (from dashboard generation or JSON file)
|
||||
2. Select audience level: C-level, marketing, or technical
|
||||
3. Generate Korean-language narrative with:
|
||||
- Health score overview and trend
|
||||
- Category highlights (strengths and weaknesses)
|
||||
- Skills coverage summary
|
||||
- Audience-specific business impact analysis
|
||||
4. Format key wins and concerns with severity and category labels
|
||||
5. Generate prioritized action items ranked by impact
|
||||
6. Render as markdown document
|
||||
7. Optionally push to Notion SEO Audit Log
|
||||
|
||||
## Output Format
|
||||
|
||||
### HTML Dashboard
|
||||
```
|
||||
Self-contained HTML file with:
|
||||
- Responsive CSS grid layout
|
||||
- Chart.js visualizations from CDN
|
||||
- Health score gauge
|
||||
- Category bar chart
|
||||
- Timeline line chart
|
||||
- Issues pie chart
|
||||
- Competitor radar chart
|
||||
- Issues and wins lists
|
||||
- Audit history table
|
||||
```
|
||||
|
||||
### Executive Report (Markdown)
|
||||
```markdown
|
||||
# SEO 성과 보고서 - [domain]
|
||||
|
||||
**대상**: 경영진 / 마케팅팀 / 기술팀
|
||||
**도메인**: [domain]
|
||||
**보고 일자**: [date]
|
||||
|
||||
## Health Score
|
||||
| 지표 | 값 |
|
||||
|------|-----|
|
||||
| Overall Score | **[score]/100** |
|
||||
| 등급 | [grade_kr] |
|
||||
| 추세 | [trend_kr] |
|
||||
|
||||
## 종합 분석
|
||||
[Korean narrative...]
|
||||
|
||||
## 주요 성과
|
||||
- [wins...]
|
||||
|
||||
## 주요 이슈
|
||||
- [concerns...]
|
||||
|
||||
## 권장 조치 사항
|
||||
1. [recommendations...]
|
||||
```
|
||||
|
||||
## Audience Configurations
|
||||
|
||||
| Audience | Detail | Issues | Recommendations | Technical Details |
|
||||
|----------|--------|--------|------------------|-------------------|
|
||||
| C-level (경영진) | Summary | Top 5 | Top 3 | No |
|
||||
| Marketing (마케팅팀) | Moderate | Top 10 | Top 5 | No |
|
||||
| Technical (기술팀) | Detailed | Top 20 | Top 10 | Yes |
|
||||
|
||||
## Limitations
|
||||
|
||||
- Aggregation depends on availability of JSON outputs from other skills
|
||||
- Notion query for past audits requires MCP tools (placeholder in scripts)
|
||||
- Competitor radar chart only renders if competitor intel (skill 31) data is present
|
||||
- HTML dashboard requires internet access for Chart.js CDN
|
||||
|
||||
## Notion Output (Required)
|
||||
|
||||
All reports MUST be saved to OurDigital SEO Audit Log:
|
||||
- **Database ID**: `2c8581e5-8a1e-8035-880b-e38cefc2f3ef`
|
||||
- **Properties**: Issue (title), Site (url), Category ("SEO Dashboard"), Priority, Found Date, Audit ID
|
||||
- **Language**: Korean with English technical terms
|
||||
- **Audit ID Format**: DASH-YYYYMMDD-NNN
|
||||
@@ -0,0 +1,9 @@
|
||||
name: seo-reporting-dashboard
|
||||
description: |
|
||||
SEO reporting dashboard and executive report generation. Triggers: SEO report, dashboard, executive summary, 보고서, 대시보드.
|
||||
allowed-tools:
|
||||
- mcp__ahrefs__*
|
||||
- mcp__notion__*
|
||||
- mcp__perplexity__*
|
||||
- WebSearch
|
||||
- WebFetch
|
||||
@@ -0,0 +1,20 @@
|
||||
# Ahrefs
|
||||
|
||||
Tools used for pulling fresh SEO data into the reporting dashboard.
|
||||
|
||||
## Tools Used
|
||||
|
||||
| Tool | Purpose |
|
||||
|------|---------|
|
||||
| `mcp__ahrefs__site-explorer-metrics` | Current organic metrics snapshot (traffic, keywords, DR) |
|
||||
| `mcp__ahrefs__site-explorer-metrics-history` | Historical metrics for trend charts and period comparison |
|
||||
|
||||
## Usage
|
||||
|
||||
These tools are called when the dashboard needs fresh data beyond what is available from cached skill outputs. The aggregator first checks local JSON files and Notion audit log entries, then optionally pulls current data from Ahrefs to supplement the report.
|
||||
|
||||
## Notes
|
||||
|
||||
- Ahrefs data has approximately 24-hour freshness lag
|
||||
- Traffic value from Ahrefs is in cents; divide by 100 for USD
|
||||
- Historical data availability depends on Ahrefs subscription tier
|
||||
@@ -0,0 +1,34 @@
|
||||
# Notion
|
||||
|
||||
Notion MCP tools are used for both reading past audit data and writing dashboard reports.
|
||||
|
||||
## Database Configuration
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Database ID | `2c8581e5-8a1e-8035-880b-e38cefc2f3ef` |
|
||||
| URL | https://www.notion.so/dintelligence/2c8581e58a1e8035880be38cefc2f3ef |
|
||||
|
||||
## Reading Past Audits
|
||||
|
||||
Query the SEO Audit Log database to retrieve historical audit entries:
|
||||
- Filter by **Site** (URL property) matching the target domain
|
||||
- Filter by **Found Date** for date range selection
|
||||
- Retrieve **Category**, **Priority**, **Audit ID**, and page content
|
||||
- Used by the report aggregator to build the unified dataset
|
||||
|
||||
## Writing Dashboard Reports
|
||||
|
||||
Save generated reports to the SEO Audit Log:
|
||||
- **Issue** (Title): `SEO 대시보드 보고서 - [domain] - YYYY-MM-DD`
|
||||
- **Site** (URL): Target website URL
|
||||
- **Category** (Select): `SEO Dashboard`
|
||||
- **Priority** (Select): Based on overall health trend
|
||||
- **Found Date** (Date): Report generation date
|
||||
- **Audit ID** (Rich Text): Format `DASH-YYYYMMDD-NNN`
|
||||
|
||||
## Language Guidelines
|
||||
|
||||
- Report content in Korean (한국어)
|
||||
- Keep technical English terms as-is (e.g., Health Score, Chart.js, Domain Rating)
|
||||
- URLs and code remain unchanged
|
||||
Reference in New Issue
Block a user