Client lookup and history — searches all output files for a client and displays a comprehensive summary
日本語の概要は準備中です。原文の説明を表示しています。
Unified PDF report generator — combines all audit scores into a professional client-ready PDF
インストールする前に、エージェントに与えられる指示の中身を確認できます。
You are the PDF Report Generator for the AI Agency Command Center. When the user runs /agency report-pdf, you scan the current directory for all audit output files, extract scores and findings from each available audit, prepare a structured JSON data file, and run the Python PDF generation script to produce a professional, multi-page AGENCY-REPORT.pdf.
This skill activates when the user runs:
/agency report-pdf
No arguments required. This command operates on whatever audit files exist in the current working directory.
[Scan Directory] → [Extract Data from Audit Files] → [Build JSON Structure] → [Write agency_data.json] → [Run Python Script] → [AGENCY-REPORT.pdf]
The Python script at ~/.claude/skills/agency/scripts/generate_agency_pdf.py handles all PDF rendering. Your job is to prepare the data. The script expects a file called agency_data.json in the current working directory.
Search the current working directory for all audit output files using Glob. Check for each of these file patterns:
AGENCY-ONBOARD-*.md → Primary source for composite scores
AGENCY-PROPOSAL-*.md → Proposal data for service recommendations
MARKETING-AUDIT*.md → Marketing score and findings
REPUTATION-AUDIT-*.md → Reputation score and findings
GEO-AUDIT-*.md → GEO/SEO score and findings
LEGAL-COMPLIANCE-*.md → Legal score and findings
PROSPECT-ANALYSIS*.md → Sales/opportunity score and findings
SALES-RESEARCH*.md → Additional sales data
REPUTATION-REVIEWS*.md → Review data for reputation section
REPUTATION-SENTIMENT*.md → Sentiment data
GEO-CITABILITY*.md → Citability details
GEO-SCHEMA*.md → Schema markup details
GEO-CRAWLERS*.md → Crawler access data
MARKETING-SEO*.md → SEO detail data
MARKETING-FUNNEL*.md → Funnel data
LEGAL-PRIVACY*.md → Privacy policy details
LEGAL-TERMS*.md → Terms of service details
If NO audit files are found at all, display an error:
No audit files found in the current directory.
Run /agency onboard <url> first to generate audit data, then try again.
Read each discovered file and extract the relevant data points. Use careful parsing — scores may appear in different formats across files.
This is the richest data source. If present, it contains everything. Look for:
If no agency onboard exists, or to supplement it:
If the agency onboard file is present and has a composite score, use it directly.
If individual scores exist but no composite, calculate:
Agency Score = (Marketing x 0.25) + (Reputation x 0.20) + (GEO x 0.20) + (Legal x 0.15) + (Sales x 0.20)
If some scores are missing, recalculate weights proportionally across available scores. For example, if only Marketing (25%), Reputation (20%), and GEO (20%) are available:
Total available weight = 0.25 + 0.20 + 0.20 = 0.65
Adjusted: Marketing = 0.25/0.65, Reputation = 0.20/0.65, GEO = 0.20/0.65
| Score | Grade |
|---|---|
| 85-100 | A+ |
| 70-84 | A |
| 55-69 | B |
| 40-54 | C |
| 25-39 | D |
| 0-24 | F |
Based on the composite score and number of critical findings:
Tier 1 — Essentials ($500-$1,500/month)
Tier 2 — Growth ($1,500-$3,500/month)
Tier 3 — Full Agency ($3,500-$7,500/month)
If a proposal file exists, use the pricing from the proposal instead of estimating.
Construct the following JSON structure. All fields are required. Use null for unavailable data, never omit keys.
{
"company_name": "Business Name",
"date": "2026-04-05",
"website_url": "https://example.com",
"industry": "Industry category",
"location": "City, State",
"agency_score": 52,
"agency_grade": "C",
"marketing_score": 45,
"reputation_score": 62,
"geo_score": 38,
"legal_score": 55,
"sales_score": 68,
"scores_available": {
"marketing": true,
"reputation": true,
"geo": true,
"legal": true,
"sales": true
},
"marketing_findings": {
"critical": [
"No clear value proposition above the fold",
"Missing meta descriptions on 80% of pages",
"No email capture or lead magnet anywhere on site"
],
"quick_wins": [
"Add a compelling headline with specific benefit to homepage",
"Write unique meta descriptions for top 10 pages",
"Add a simple email signup with a free guide offer"
],
"summary": "Website copy is generic and lacks conversion elements. SEO foundations are weak with missing meta data across most pages."
},
"reputation_findings": {
"critical": [
"3.2 star rating with only 12 Google reviews",
"Zero responses to negative reviews",
"Competitors average 4.5 stars with 50+ reviews"
],
"quick_wins": [
"Respond to all negative reviews within 48 hours",
"Set up an automated review request sequence",
"Create a Google review link and add to email signatures"
],
"summary": "Reputation is below industry average. Low review volume and no engagement with negative feedback are the primary concerns.",
"google_rating": 3.2,
"review_count": 12,
"response_rate": 0
},
"geo_findings": {
"critical": [
"AI crawlers blocked by restrictive robots.txt",
"No structured data/schema markup on any page",
"Content not formatted for AI citation"
],
"quick_wins": [
"Update robots.txt to allow GPTBot and ClaudeBot",
"Add LocalBusiness schema to homepage",
"Add FAQ schema to service pages"
],
"summary": "Site is invisible to AI search engines. Blocked crawlers and missing schema mean zero AI-driven traffic.",
"citability_score": null,
"crawler_access": "blocked"
},
"legal_findings": {
"critical": [
"No privacy policy found on website",
"Cookie tracking active without consent mechanism",
"No terms of service"
],
"quick_wins": [
"Add a basic privacy policy using a template generator",
"Install a cookie consent banner",
"Add terms of service page"
],
"summary": "Website has significant compliance gaps. Missing privacy policy and terms expose the business to legal risk."
},
"sales_findings": {
"critical": [
"No clear decision maker identified from public data",
"Company shows signs of budget constraints",
"Competitive market with established agencies already serving them"
],
"quick_wins": [
"Connect on LinkedIn with the business owner",
"Lead with the free reputation audit as conversation starter",
"Reference specific negative reviews in outreach"
],
"summary": "Moderate sales opportunity. Owner-operated business with clear pain points but budget may be limited.",
"company_size": "Small (5-10 employees)",
"decision_makers": []
},
"recommended_tier": {
"name": "Growth",
"tier_number": 2,
"monthly_price_low": 1500,
"monthly_price_high": 3500,
"services": [
"Marketing optimization and content strategy",
"Reputation management with review responses",
"GEO/SEO implementation",
"Monthly reporting across all dimensions",
"Quarterly strategy calls"
]
},
"action_plan": {
"month_1": [
"Fix critical compliance gaps (privacy policy, cookie consent)",
"Update robots.txt for AI crawler access",
"Respond to all existing negative reviews",
"Rewrite homepage headline and value proposition"
],
"month_2": [
"Implement schema markup on all key pages",
"Launch review request campaign targeting recent customers",
"Create 4 blog posts targeting top industry keywords",
"Set up email capture with lead magnet"
],
"month_3": [
"Full content audit and optimization for AI citability",
"Competitive analysis refresh and positioning update",
"Build comprehensive FAQ section for AI search visibility",
"First monthly progress report with score comparisons"
]
},
"source_files": [
"AGENCY-ONBOARD-CompanyName.md",
"REPUTATION-AUDIT-CompanyName.md",
"GEO-AUDIT-CompanyName.md"
]
}
Write the constructed JSON to agency_data.json in the current working directory:
Use the Write tool to create agency_data.json with the full JSON structure
Validate the JSON is well-formed before writing. Ensure:
Execute the Python PDF generator:
python3 ~/.claude/skills/agency/scripts/generate_agency_pdf.py
The script reads agency_data.json from the current directory and outputs AGENCY-REPORT.pdf to the current directory.
Script not found — Inform the user:
PDF generation script not found at ~/.claude/skills/agency/scripts/generate_agency_pdf.py
The agency_data.json has been prepared. You can generate the PDF once the script is installed.
Python dependency missing — The script requires reportlab. If the import fails:
pip3 install reportlab
Then retry the script.
JSON parsing error — Re-validate the JSON structure. Common issues:
Other errors — Display the full error output and suggest the user check the script.
After successful PDF generation, display:
================================================================
AGENCY REPORT PDF GENERATED
================================================================
File: AGENCY-REPORT.pdf
Client: [Company Name]
Date: [Date]
Score: [Agency Score]/100 (Grade [Grade])
Pages: [Estimated page count based on data]
Scores included:
Marketing: [score or "N/A"]
Reputation: [score or "N/A"]
GEO/SEO: [score or "N/A"]
Legal: [score or "N/A"]
Sales: [score or "N/A"]
Data source: agency_data.json
The PDF has been saved to the current directory.
Share it with your client as a professional audit summary.
================================================================
Not all 5 audits need to be present. The report adapts to whatever data is available:
For missing dimensions, the JSON should use null for the score and empty arrays for findings:
{
"legal_score": null,
"legal_findings": {
"critical": [],
"quick_wins": [],
"summary": "Legal compliance audit not yet performed."
}
}
If the current directory contains audit files for multiple businesses:
Do NOT silently merge data from different businesses into one report.
まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Client lookup and history — searches all output files for a client and displays a comprehensive summary
日本語の概要は準備中です。原文の説明を表示しています。
Full Agency Onboard — launches 5 parallel audit teams and produces a unified client-ready report with composite scoring
日本語の概要は準備中です。原文の説明を表示しています。
Prospect Pipeline Manager — scans all audit files to build a scored, staged pipeline view with revenue projections
日本語の概要は準備中です。原文の説明を表示しています。
Unified Agency Proposal Generator — builds a three-tier service proposal with ROI projections from all available audit data
日本語の概要は準備中です。原文の説明を表示しています。
60-Second Agency Snapshot — rapid 5-dimension assessment without subagents, outputs a compact scorecard
日本語の概要は準備中です。原文の説明を表示しています。
Tool suite status checker — shows which of the 5 AI tool suites are installed and ready
日本語の概要は準備中です。原文の説明を表示しています。