@frase/agent-skills 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,181 @@
1
+ ---
2
+ name: frase-playbook-automation
3
+ description: Automate multi-step content workflows using Frase playbooks, templates, and content rules — chain research to publish with quality gates. Works via MCP or CLI.
4
+ ---
5
+
6
+ # Frase Playbook Automation
7
+
8
+ This skill teaches you how to automate content workflows using Frase's playbooks, templates, and content rules — chain multi-step operations with quality gates and human review points.
9
+
10
+ **Works with:** Frase MCP server (`@frase/mcp-server`) OR Frase CLI (`@frase/cli`)
11
+
12
+ ## Prerequisites
13
+
14
+ - Frase MCP server connected OR `frase` CLI installed (`npx @frase/cli`)
15
+ - `FRASE_API_KEY` environment variable set (get from https://next.frase.io/settings/api)
16
+ - A Frase site with content (check: `list_sites` / `frase sites list`)
17
+ - Scale plan or higher (for playbook features)
18
+
19
+ ## Concepts
20
+
21
+ ### Playbooks
22
+ Multi-step workflow chains: research → brief → generate → optimize → rule check → human review → publish. Steps run sequentially, passing outputs between them via `{{outputs.briefId}}`.
23
+
24
+ ### Templates
25
+ Structured blueprints applied to briefs: section definitions, boilerplate blocks, field defaults, word count targets. Ensure consistent content structure across articles.
26
+
27
+ ### Content Rules
28
+ Quality gates with 9 condition types: score thresholds (SEO/GEO), term compliance (brand terminology), word count, meta tags, link counts, section requirements, regex patterns, competitor mention filters, and verify chip limits.
29
+
30
+ ### Rule Sets
31
+ Groups of rules applied together. Max 3 enabled rule sets per organization. Evaluate content against all rules in a set before publishing.
32
+
33
+ ## Workflow
34
+
35
+ ### Step 1: Set Up Content Rules
36
+
37
+ Define quality standards your content must meet before publishing.
38
+
39
+ **Via MCP:**
40
+ ```
41
+ 1. Use `list_rule_sets` to see existing rule sets
42
+ 2. Use `get_rule_set` to inspect a specific rule set's rules and configuration
43
+ 3. Use `evaluate_rules` to check content against a rule set
44
+ 4. Note: Rule set creation/editing is done via the Frase UI or CLI, not MCP
45
+ 5. Rule types:
46
+ - score_threshold: minimum SEO or GEO score (e.g., { type: "seo_score", min: 70 })
47
+ - term_compliance: required/forbidden terms
48
+ - word_count: min/max word count
49
+ - meta_tags: require title, description, etc.
50
+ - link_count: min internal/external links
51
+ - section_requirements: required H2 sections
52
+ - regex_pattern: custom pattern matching
53
+ - competitor_mentions: filter competitor brand names
54
+ ```
55
+
56
+ **Via CLI:**
57
+ ```bash
58
+ frase rules list --site-id <id>
59
+ frase rules set create "Blog Quality Standards" --site-id <id>
60
+ frase rules create --rule-set-id <id> --type score_threshold --config '{"metric":"seo_score","min":70}'
61
+ ```
62
+
63
+ ### Step 2: Create or Choose a Template
64
+
65
+ Templates ensure consistent content structure.
66
+
67
+ **Via MCP:**
68
+ ```
69
+ 1. Use `list_templates` to see available templates
70
+ 2. Use `apply_template` to apply a template when creating a brief
71
+ 3. Or use `extract_template` from an existing high-performing brief to reuse its structure
72
+ ```
73
+
74
+ **Via CLI:**
75
+ ```bash
76
+ frase template list --site-id <id>
77
+ frase template get <template-id>
78
+ frase template apply <template-id> --brief-id <brief-id>
79
+ frase template extract --brief-id <brief-id> # create template from existing brief
80
+ ```
81
+
82
+ ### Step 3: Create a Playbook
83
+
84
+ Chain multiple steps into an automated workflow.
85
+
86
+ **Via MCP:**
87
+ ```
88
+ 1. Use `list_playbooks` to see existing playbooks
89
+ 2. Use `get_playbook` to review a playbook's steps
90
+ 3. Playbook steps can include:
91
+ - research: Run research on a topic
92
+ - brief: Create a brief (with optional template)
93
+ - generate: Generate content from brief
94
+ - optimize: Run optimization
95
+ - rule_check: Evaluate content against rule set
96
+ - human_review: Pause for human approval
97
+ - publish: Publish to CMS
98
+ 4. Steps chain via output references: {{outputs.briefId}}, {{outputs.contentId}}
99
+ ```
100
+
101
+ **Via CLI:**
102
+ ```bash
103
+ frase playbook list --site-id <id>
104
+ frase playbook get <playbook-id>
105
+ ```
106
+
107
+ ### Step 4: Run the Playbook
108
+
109
+ **Via MCP:**
110
+ ```
111
+ 1. Use `run_playbook` with:
112
+ - playbook_id: the playbook to execute
113
+ - topic: the target keyword or topic (optional)
114
+ - content_id: existing content ID to run against, e.g. for optimization playbooks (optional)
115
+ 2. Poll `get_playbook_run_status` for progress
116
+ 3. Each step completes before the next begins
117
+ 4. Human review steps pause until approved
118
+ 5. If a step fails, onFail config determines behavior:
119
+ - "retry_previous": retry the failed step
120
+ - "stop": halt the playbook
121
+ - "skip": skip and continue
122
+ ```
123
+
124
+ **Via CLI:**
125
+ ```bash
126
+ frase playbook run <playbook-id> --topic "keyword research tools" --site-id <id>
127
+ frase playbook status <run-id> # poll progress
128
+ frase playbook status <run-id> --compact # short status for polling
129
+ ```
130
+
131
+ ### Step 5: Monitor and Iterate
132
+
133
+ **Via MCP:**
134
+ ```
135
+ 1. Use `get_playbook_run_status` to check each step's outcome
136
+ 2. Review any rule failures — they indicate content quality issues
137
+ 3. Use `provide_playbook_input` to respond to human review steps or provide required input
138
+ 4. Note: Cancelling runs is available via CLI (`frase playbook cancel`) but not via MCP
139
+ ```
140
+
141
+ **Via CLI:**
142
+ ```bash
143
+ frase playbook status <run-id>
144
+ frase playbook cancel <run-id>
145
+ ```
146
+
147
+ ### Step 6: Evaluate Content Against Rules (Standalone)
148
+
149
+ You can evaluate any content against rules without running a full playbook:
150
+
151
+ **Via MCP:**
152
+ ```
153
+ 1. Use `evaluate_rules` with content_id and rule_set_id
154
+ 2. Review pass/fail for each rule
155
+ 3. Fix failing rules before publishing
156
+ ```
157
+
158
+ **Via CLI:**
159
+ ```bash
160
+ frase rules evaluate --content-id <id> --rule-set-id <rule-set-id>
161
+ ```
162
+
163
+ ## Example Playbook Flow
164
+
165
+ ```
166
+ ┌──────────┐ ┌───────┐ ┌──────────┐ ┌──────────┐ ┌────────────┐ ┌─────────┐
167
+ │ Research │ → │ Brief │ → │ Generate │ → │ Optimize │ → │ Rule Check │ → │ Publish │
168
+ │ │ │ │ │ │ │ (≥70) │ │ (pass all) │ │ │
169
+ └──────────┘ └───────┘ └──────────┘ └──────────┘ └────────────┘ └─────────┘
170
+ ↑ │
171
+ └── retry ──────┘ (if score < 70)
172
+ ```
173
+
174
+ ## Key Principles
175
+
176
+ 1. **Rules before publishing** — never publish content that fails quality rules
177
+ 2. **Templates for consistency** — reuse templates across similar content types
178
+ 3. **Extract from winners** — create templates from your best-performing content
179
+ 4. **Human review for high-stakes** — add review gates for commercial and legal content
180
+ 5. **Start simple** — begin with 3-4 step playbooks, add complexity as needed
181
+ 6. **Monitor run failures** — failed steps reveal process issues to fix
@@ -0,0 +1,145 @@
1
+ ---
2
+ name: frase-seo-audit
3
+ description: Run and interpret SEO/GEO audits using Frase — site crawls, scoring, site health, cannibalization detection, and prioritized fix workflows. Works via MCP or CLI.
4
+ ---
5
+
6
+ # Frase SEO & GEO Audit
7
+
8
+ This skill teaches you how to run and interpret site audits using Frase — covering SEO scoring, GEO scoring, site health, cannibalization, and internal link analysis.
9
+
10
+ **Works with:** Frase MCP server (`@frase/mcp-server`) OR Frase CLI (`@frase/cli`)
11
+
12
+ ## Prerequisites
13
+
14
+ - Frase MCP server connected OR `frase` CLI installed
15
+ - `FRASE_API_KEY` set (get from https://next.frase.io/settings/api)
16
+ - A site registered in Frase (check: `list_sites` / `frase sites list`)
17
+
18
+ ## Workflow
19
+
20
+ ### Step 1: Quick Site Health Check
21
+
22
+ Before committing to a full audit, get the site health overview.
23
+
24
+ **Via MCP:**
25
+ ```
26
+ 1. Use `get_site_health` with site_id to get:
27
+ - Overall health score (0-100)
28
+ - Issue counts by severity
29
+ - Page statistics
30
+ ```
31
+
32
+ **Via CLI:**
33
+ ```bash
34
+ frase health overview --site-id <id>
35
+ ```
36
+
37
+ ### Step 2: Check for Cannibalization
38
+
39
+ Pages competing for the same keywords hurt each other's rankings.
40
+
41
+ **Via MCP:**
42
+ ```
43
+ 1. Use `get_cannibalization` with site_id
44
+ 2. Review keyword groups where multiple pages compete
45
+ ```
46
+
47
+ **Via CLI:**
48
+ ```bash
49
+ frase health cannibalization --site-id <id>
50
+ ```
51
+
52
+ ### Step 3: Run a Full Site Audit
53
+
54
+ **Via MCP:**
55
+ ```
56
+ 1. Use `start_audit` with site_id and type: "full"
57
+ 2. Poll `get_job_status` until the audit completes
58
+ 3. Use `get_audit` to retrieve the full results
59
+ ```
60
+
61
+ **Via CLI:**
62
+ ```bash
63
+ frase audit start --site-id <id> --type full
64
+ frase job status <audit-id> # poll until ready
65
+ frase audit get <audit-id>
66
+ ```
67
+
68
+ ### Step 4: Review Audit Results
69
+
70
+ ```
71
+ 1. Focus on issues ranked by estimated traffic impact
72
+ 2. Check SEO and GEO scores per page
73
+ 3. Export for spreadsheet analysis:
74
+ - MCP: `export_audit` with format: "csv"
75
+ - CLI: frase audit export <id> --format csv
76
+ ```
77
+
78
+ ### Step 5: Analyze Internal Links
79
+
80
+ **Via MCP:**
81
+ ```
82
+ 1. Use `get_link_graph` with site_id
83
+ 2. Identify orphan pages (no internal links pointing to them)
84
+ 3. Find most-linked and least-linked pages
85
+ ```
86
+
87
+ **Via CLI:**
88
+ ```bash
89
+ frase health links --site-id <id>
90
+ ```
91
+
92
+ ### Step 6: Prioritize Fixes
93
+
94
+ **Fix content issues before technical issues** — content fixes typically have higher ROI.
95
+
96
+ Priority order:
97
+ 1. **High-traffic pages with low SEO/GEO scores** — immediate impact
98
+ 2. **Cannibalization conflicts** — consolidate or differentiate competing pages
99
+ 3. **Pages with declining rankings** — prevent further traffic loss
100
+ 4. **Content gaps** — missing topics that competitors cover
101
+ 5. **Orphan pages** — add internal links
102
+ 6. **Technical issues** — broken links, slow load times, missing meta tags
103
+ 7. **Thin content** — pages below 300 words on competitive topics
104
+
105
+ ### Step 7: Fix and Re-Audit
106
+
107
+ **Via MCP:**
108
+ ```
109
+ 1. For content issues: `start_optimization` → `get_optimization` → `apply_optimization`
110
+ 2. For missing content: `create_brief` → `generate_content` → optimize → publish
111
+ 3. Re-run audit: `start_audit` again and compare scores
112
+ ```
113
+
114
+ **Via CLI:**
115
+ ```bash
116
+ frase optimize start --content-id <id>
117
+ frase optimize apply <opt-id> --suggestion <sug-id>
118
+ frase audit start --site-id <id> # re-audit after fixes
119
+ ```
120
+
121
+ ## Interpreting Scores
122
+
123
+ ### SEO Score
124
+ - **70+:** Well-optimized for search engines
125
+ - **50-69:** Missing some important optimization elements
126
+ - **< 50:** Needs substantial optimization work
127
+
128
+ ### GEO Score
129
+ - **70+:** Well-structured for AI citation
130
+ - **50-69:** Some AI-readiness but gaps exist
131
+ - **< 50:** Not structured for AI search engines
132
+
133
+ ### Health Score
134
+ - **80+:** Healthy site — minor maintenance needed
135
+ - **60-79:** Some issues need attention
136
+ - **< 60:** Significant issues impacting performance
137
+
138
+ ## Key Principles
139
+
140
+ 1. **Health check first** — get the overview before deep-diving
141
+ 2. **Fix cannibalization early** — it's a silent traffic killer
142
+ 3. **Content before technical** — content fixes have higher traffic impact
143
+ 4. **Prioritize by traffic impact** — fix high-traffic pages first
144
+ 5. **Re-audit after fixes** — verify improvements before moving on
145
+ 6. **Regular audits** — run monthly to catch issues early
package/package.json ADDED
@@ -0,0 +1,44 @@
1
+ {
2
+ "name": "@frase/agent-skills",
3
+ "version": "0.3.0",
4
+ "description": "Agent skills for Frase — teach AI assistants how to research, write, optimize, host, and monitor content for SEO, GEO, and AI search visibility. 9 skills covering the full content lifecycle including Frase CMS hosting with auto-optimization. Works with Claude Code, Cursor, Windsurf, Lovable, Replit, and any MCP-compatible tool.",
5
+ "keywords": [
6
+ "frase",
7
+ "agent-skills",
8
+ "mcp",
9
+ "seo",
10
+ "geo",
11
+ "aeo",
12
+ "ai-visibility",
13
+ "content-automation",
14
+ "claude-code",
15
+ "cursor",
16
+ "windsurf",
17
+ "lovable",
18
+ "replit",
19
+ "ai-agent"
20
+ ],
21
+ "license": "MIT",
22
+ "author": {
23
+ "name": "Frase",
24
+ "email": "hello@frase.io",
25
+ "url": "https://frase.io"
26
+ },
27
+ "homepage": "https://frase.io/agents",
28
+ "repository": {
29
+ "type": "git",
30
+ "url": "https://github.com/frase-io/newfrase.git",
31
+ "directory": "packages/agent-skills"
32
+ },
33
+ "bugs": {
34
+ "url": "https://github.com/frase-io/newfrase/issues"
35
+ },
36
+ "files": [
37
+ "frase-*/SKILL.md",
38
+ "skills.json",
39
+ "README.md"
40
+ ],
41
+ "publishConfig": {
42
+ "access": "public"
43
+ }
44
+ }
package/skills.json ADDED
@@ -0,0 +1,77 @@
1
+ {
2
+ "name": "@frase/agent-skills",
3
+ "version": "0.3.0",
4
+ "description": "Agent skills for Frase SEO, GEO, AEO & AI Visibility platform — teaches AI assistants how to use Frase tools via MCP or CLI",
5
+ "author": "Frase <hello@frase.io>",
6
+ "homepage": "https://frase.io",
7
+ "repository": "https://github.com/frase-io/newfrase",
8
+ "skills": [
9
+ {
10
+ "name": "frase-content-pipeline",
11
+ "file": "frase-content-pipeline/SKILL.md",
12
+ "description": "End-to-end content workflow: research → brief → write → optimize → publish → monitor. Works via MCP or CLI.",
13
+ "tags": ["seo", "geo", "content", "publishing", "optimization"]
14
+ },
15
+ {
16
+ "name": "frase-seo-audit",
17
+ "file": "frase-seo-audit/SKILL.md",
18
+ "description": "Run and interpret SEO/GEO audits — site crawls, scoring, site health, cannibalization detection, and prioritized fix workflows. Works via MCP or CLI.",
19
+ "tags": ["seo", "geo", "audit", "site-health", "cannibalization"]
20
+ },
21
+ {
22
+ "name": "frase-ai-visibility",
23
+ "file": "frase-ai-visibility/SKILL.md",
24
+ "description": "Track and improve brand visibility across 8 AI search engines (ChatGPT, Perplexity, Claude, Google AI Overviews, Copilot, Grok, DeepSeek, Gemini). Works via MCP or CLI.",
25
+ "tags": ["geo", "aeo", "ai-search", "visibility", "monitoring"]
26
+ },
27
+ {
28
+ "name": "frase-content-optimization",
29
+ "file": "frase-content-optimization/SKILL.md",
30
+ "description": "Score, optimize, and improve content for SEO and GEO performance. Works via MCP or CLI.",
31
+ "tags": ["seo", "geo", "optimization", "content-scoring"]
32
+ },
33
+ {
34
+ "name": "frase-geo-optimization",
35
+ "file": "frase-geo-optimization/SKILL.md",
36
+ "description": "Optimize content for AI engine citation (GEO/AEO) — quotability scoring, content structuring, cross-platform citation analysis, and gap diagnosis. Works via MCP or CLI.",
37
+ "tags": ["geo", "aeo", "ai-citation", "quotability", "optimization"]
38
+ },
39
+ {
40
+ "name": "frase-atomization",
41
+ "file": "frase-atomization/SKILL.md",
42
+ "description": "Break long-form content into atomic pieces (social posts, email snippets, ad copy, threads) — batch atomize and export across channels. Works via MCP or CLI.",
43
+ "tags": ["atomization", "content-repurposing", "social-media", "distribution"]
44
+ },
45
+ {
46
+ "name": "frase-playbook-automation",
47
+ "file": "frase-playbook-automation/SKILL.md",
48
+ "description": "Automate multi-step content workflows using playbooks, templates, and content rules — chain research to publish with quality gates. Works via MCP or CLI.",
49
+ "tags": ["automation", "playbooks", "templates", "rules", "governance"]
50
+ },
51
+ {
52
+ "name": "frase-competitive-intelligence",
53
+ "file": "frase-competitive-intelligence/SKILL.md",
54
+ "description": "Deep competitive analysis, opportunity detection, and topic clustering — analyze competitors, score opportunities, organize content into clusters. Works via MCP or CLI.",
55
+ "tags": ["competitive-analysis", "opportunities", "clusters", "gap-analysis"]
56
+ },
57
+ {
58
+ "name": "frase-cms-publishing",
59
+ "file": "frase-cms-publishing/SKILL.md",
60
+ "description": "Multi-platform publishing — FraseCMS, WordPress, Webflow, Sanity, scheduling, auto-optimization, and content versioning. Works via MCP or CLI.",
61
+ "tags": ["publishing", "cms", "wordpress", "webflow", "sanity", "auto-optimization"]
62
+ }
63
+ ],
64
+ "transports": {
65
+ "mcp_server": {
66
+ "package": "@frase/mcp-server",
67
+ "install": "claude mcp add frase -e FRASE_API_KEY -- npx -y @frase/mcp-server",
68
+ "required_env": ["FRASE_API_KEY"]
69
+ },
70
+ "cli": {
71
+ "package": "@frase/cli",
72
+ "install": "npm install -g @frase/cli",
73
+ "npx": "npx @frase/cli",
74
+ "required_env": ["FRASE_API_KEY"]
75
+ }
76
+ }
77
+ }