@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.
- package/README.md +51 -0
- package/frase-ai-visibility/SKILL.md +185 -0
- package/frase-atomization/SKILL.md +138 -0
- package/frase-cms-publishing/SKILL.md +156 -0
- package/frase-competitive-intelligence/SKILL.md +193 -0
- package/frase-content-optimization/SKILL.md +155 -0
- package/frase-content-pipeline/SKILL.md +160 -0
- package/frase-geo-optimization/SKILL.md +181 -0
- package/frase-playbook-automation/SKILL.md +181 -0
- package/frase-seo-audit/SKILL.md +145 -0
- package/package.json +44 -0
- package/skills.json +77 -0
|
@@ -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
|
+
}
|