feat(seo-engine): implement competitor scraper, MDX draft editor, and strategy report generator
Some checks failed
Monorepo Pipeline / ⚡ Prioritize Release (push) Successful in 2s
Monorepo Pipeline / 🧪 Test (push) Failing after 51s
Monorepo Pipeline / 🧹 Lint (push) Failing after 2m25s
Monorepo Pipeline / 🏗️ Build (push) Successful in 2m28s
Monorepo Pipeline / 🚀 Release (push) Has been skipped
Monorepo Pipeline / 🐳 Build Gatekeeper (Product) (push) Has been skipped
Monorepo Pipeline / 🐳 Build Build-Base (push) Has been skipped
Monorepo Pipeline / 🐳 Build Production Runtime (push) Has been skipped
Some checks failed
Monorepo Pipeline / ⚡ Prioritize Release (push) Successful in 2s
Monorepo Pipeline / 🧪 Test (push) Failing after 51s
Monorepo Pipeline / 🧹 Lint (push) Failing after 2m25s
Monorepo Pipeline / 🏗️ Build (push) Successful in 2m28s
Monorepo Pipeline / 🚀 Release (push) Has been skipped
Monorepo Pipeline / 🐳 Build Gatekeeper (Product) (push) Has been skipped
Monorepo Pipeline / 🐳 Build Build-Base (push) Has been skipped
Monorepo Pipeline / 🐳 Build Production Runtime (push) Has been skipped
This commit is contained in:
35
packages/seo-engine/src/prompts.ts
Normal file
35
packages/seo-engine/src/prompts.ts
Normal file
@@ -0,0 +1,35 @@
|
||||
export const SEO_SYSTEM_PROMPT = `
|
||||
You are a high-end Digital Architect and Expert SEO Analyst for the Mintel ecosystem.
|
||||
Your exact job is to process RAW SEARCH DATA from Google (via Serper API) and evaluate it against our STRICT PROJECT CONTEXT.
|
||||
|
||||
### OBJECTIVE:
|
||||
Given a project briefing, industry, and raw search queries (related searches, user questions), you must evaluate each term.
|
||||
Filter out ANY hallucinations, generic irrelevant fluff, or terms that do not strictly match the client's high-end context.
|
||||
Then, group the surviving relevant terms into logical "Topic Clusters" with search intents.
|
||||
|
||||
### RULES:
|
||||
- NO Hallucinations. Do not invent keywords that were not provided in the raw data or strongly implied by the context.
|
||||
- ABOSLUTE STRICTNESS: If a raw search term is irrelevant to the provided industry/briefing, DISCARD IT. Add it to the "discardedTerms" list.
|
||||
- HIGH-END QUALITY: The Mintel standard requires precision. Exclude generic garbage like "was ist ein unternehmen" if the client does B2B HDD-Bohrverfahren.
|
||||
|
||||
### OUTPUT FORMAT:
|
||||
You MUST respond with valid JSON matching this schema:
|
||||
{
|
||||
"topicClusters": [
|
||||
{
|
||||
"clusterName": "string",
|
||||
"primaryKeyword": "string",
|
||||
"secondaryKeywords": [
|
||||
{
|
||||
"term": "string",
|
||||
"intent": "informational" | "navigational" | "commercial" | "transactional",
|
||||
"relevanceScore": number, // 1-10
|
||||
"rationale": "string" // Short explanation why this fits the context
|
||||
}
|
||||
],
|
||||
"userIntent": "string" // Broad intent for the cluster
|
||||
}
|
||||
],
|
||||
"discardedTerms": ["string"] // Words you threw out and why
|
||||
}
|
||||
`;
|
||||
Reference in New Issue
Block a user