anymorph 0.4.0 → 0.6.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 +3 -3
- package/dist/index.js +79 -6
- package/package.json +1 -1
- package/dist/skillpacks/geo/scaffold/AGENTS.md +0 -38
- package/dist/skillpacks/geo/scaffold/CLAUDE.md +0 -33
- package/dist/skillpacks/geo/shared/evidence-principles.md +0 -35
- package/dist/skillpacks/geo/shared/geo-principles.md +0 -281
- package/dist/skillpacks/geo/shared/vertical-playbooks/beauty.md +0 -65
- package/dist/skillpacks/geo/shared/vertical-playbooks/commerce.md +0 -65
- package/dist/skillpacks/geo/shared/vertical-playbooks/ota.md +0 -62
- package/dist/skillpacks/geo/shared/vertical-playbooks/saas.md +0 -64
- package/dist/skillpacks/geo/skills/brand-owned-diagnosis/SKILL.md +0 -54
- package/dist/skillpacks/geo/skills/brand-owned-diagnosis/agents/openai.yaml +0 -4
- package/dist/skillpacks/geo/skills/brand-owned-diagnosis/references/diagnosis-contract.md +0 -95
- package/dist/skillpacks/geo/skills/brand-owned-diagnosis/references/workflow.md +0 -194
- package/dist/skillpacks/geo/skills/geo-generating-actions/SKILL.md +0 -188
- package/dist/skillpacks/geo/skills/geo-generating-actions/agents/openai.yaml +0 -4
- package/dist/skillpacks/geo/skills/geo-generating-actions/references/orchestrator.workflow.md +0 -440
- package/dist/skillpacks/geo/skills/geo-generating-actions/scripts/geo-scaffold.mjs +0 -358
- package/dist/skillpacks/geo/skills/geo-generating-actions/scripts/geo.mjs +0 -66
- package/dist/skillpacks/geo/skills/geo-initializing-strategy/SKILL.md +0 -50
- package/dist/skillpacks/geo/skills/geo-initializing-strategy/agents/openai.yaml +0 -4
- package/dist/skillpacks/geo/skills/geo-initializing-strategy/references/external-authority-diagnosis.md +0 -66
- package/dist/skillpacks/geo/skills/geo-initializing-strategy/references/foundation-diagnosis.md +0 -86
- package/dist/skillpacks/geo/skills/geo-initializing-strategy/references/memory-contract.md +0 -15
- package/dist/skillpacks/geo/skills/geo-initializing-strategy/references/semantic-clusters-diagnosis.md +0 -58
- package/dist/skillpacks/geo/skills/geo-initializing-strategy/references/strategy-map-contract.md +0 -26
- package/dist/skillpacks/geo/skills/geo-initializing-strategy/references/visibility-diagnosis.md +0 -50
- package/dist/skillpacks/geo/skills/geo-local-setup/SKILL.md +0 -66
- package/dist/skillpacks/geo/skills/geo-local-setup/agents/openai.yaml +0 -4
- package/dist/skillpacks/geo/skills/geo-page-writer/SKILL.md +0 -81
- package/dist/skillpacks/geo/skills/geo-page-writer/agents/openai.yaml +0 -4
- package/dist/skillpacks/geo/skills/geo-page-writer/references/research.md +0 -61
- package/dist/skillpacks/geo/skills/geo-page-writer/references/validation.md +0 -59
- package/dist/skillpacks/geo/skills/geo-page-writer/references/writing.md +0 -55
- package/dist/skillpacks/geo/skills/geo-page-writer/scripts/check-page-mdx.mjs +0 -210
- package/dist/skillpacks/geo/skills/geo-page-writer/scripts/collect-page-sources.mjs +0 -303
- package/dist/skillpacks/geo/skills/geo-pages-diagnosis/SKILL.md +0 -51
- package/dist/skillpacks/geo/skills/geo-pages-diagnosis/agents/openai.yaml +0 -4
- package/dist/skillpacks/geo/skills/geo-pages-diagnosis/references/diagnosis-contract.md +0 -125
- package/dist/skillpacks/geo/skills/geo-pages-diagnosis/references/workflow.md +0 -269
- package/dist/skillpacks/geo/skills/geo-writer/SKILL.md +0 -234
- package/dist/skillpacks/geo/skills/geo-writer/agents/openai.yaml +0 -4
- package/dist/skillpacks/geo/skills/geo-writer/references/content-writer-contract.md +0 -316
- package/dist/skillpacks/geo/skills/geo-writer/references/direct-sql.md +0 -187
- package/dist/skillpacks/geo/skills/geo-writer/references/seo-geo-insights.md +0 -269
- package/dist/skillpacks/geo/skills/seo-ecommerce-opportunity/SKILL.md +0 -82
- package/dist/skillpacks/geo/skills/seo-ecommerce-opportunity/agents/openai.yaml +0 -5
- package/dist/skillpacks/geo/skills/seo-ecommerce-opportunity/references/ecommerce-rules.md +0 -31
- package/dist/skillpacks/geo/skills/seo-internal-link-opportunity/SKILL.md +0 -57
- package/dist/skillpacks/geo/skills/seo-internal-link-opportunity/agents/openai.yaml +0 -5
- package/dist/skillpacks/geo/skills/seo-internal-link-opportunity/references/link-rules.md +0 -28
- package/dist/skillpacks/geo/skills/seo-opportunity-audit/SKILL.md +0 -141
- package/dist/skillpacks/geo/skills/seo-opportunity-audit/agents/openai.yaml +0 -5
- package/dist/skillpacks/geo/skills/seo-opportunity-audit/references/action-contract.md +0 -62
- package/dist/skillpacks/geo/skills/seo-opportunity-audit/scripts/seo-toolkit.mjs +0 -248
- package/dist/skillpacks/geo/skills/seo-page-diagnosis/SKILL.md +0 -56
- package/dist/skillpacks/geo/skills/seo-page-diagnosis/agents/openai.yaml +0 -5
- package/dist/skillpacks/geo/skills/seo-page-diagnosis/references/page-checks.md +0 -38
- package/dist/skillpacks/geo/skills/seo-serp-opportunity-research/SKILL.md +0 -66
- package/dist/skillpacks/geo/skills/seo-serp-opportunity-research/agents/openai.yaml +0 -5
- package/dist/skillpacks/geo/skills/seo-serp-opportunity-research/references/page-type-taxonomy.md +0 -40
- package/dist/skillpacks/geo/skills/seo-serp-opportunity-research/references/serp-methodology.md +0 -38
- package/dist/skillpacks/geo/skills/seo-technical-diagnosis/SKILL.md +0 -64
- package/dist/skillpacks/geo/skills/seo-technical-diagnosis/agents/openai.yaml +0 -5
- package/dist/skillpacks/geo/skills/seo-technical-diagnosis/references/checks.md +0 -58
- package/dist/skillpacks/geo/skills/third-party-diagnosis/SKILL.md +0 -54
- package/dist/skillpacks/geo/skills/third-party-diagnosis/agents/openai.yaml +0 -4
- package/dist/skillpacks/geo/skills/third-party-diagnosis/references/diagnosis-contract.md +0 -111
- package/dist/skillpacks/geo/skills/third-party-diagnosis/references/workflow.md +0 -174
- package/dist/skillpacks/geo/skills/third-party-execution-planning/SKILL.md +0 -64
- package/dist/skillpacks/geo/skills/third-party-execution-planning/agents/openai.yaml +0 -4
- package/dist/skillpacks/geo/skills/third-party-execution-planning/references/execution-contract.md +0 -90
- package/dist/skillpacks/geo/skills/third-party-execution-planning/references/non-social-surface-playbooks.md +0 -123
- package/dist/skillpacks/geo/skills/third-party-execution-planning/references/reddit-rules.md +0 -69
- package/dist/skillpacks/geo/skills/third-party-execution-planning/references/social-platform-playbooks.md +0 -59
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
# Commerce SEO/GEO/AEO Playbook
|
|
2
|
-
|
|
3
|
-
## Scope
|
|
4
|
-
|
|
5
|
-
Reusable guidance for ecommerce and consumer goods outside beauty-specific use cases. Use this for vertical strategy, diagnosis, and page planning.
|
|
6
|
-
|
|
7
|
-
## Entity And Demand Patterns
|
|
8
|
-
|
|
9
|
-
- Map demand across category, subcategory, product type, product family, SKU, and variant.
|
|
10
|
-
- Common patterns: `category x use case`, `product type x audience`, `product x comparison`, `product x review`, `product x problem/compatibility`, and `SKU/model x spec/fit/size/material`.
|
|
11
|
-
- Category pages are broad-intent assets. PDPs are exact product entity assets. Buying guides, comparisons, and reviews are decision-stage assets.
|
|
12
|
-
- Variant pages and feeds are evidence layers for size, color, material, bundle, price, availability, and compatibility.
|
|
13
|
-
- Prefer stable identifiers: brand, MPN, GTIN/EAN/UPC, SKU, model, and variant group.
|
|
14
|
-
|
|
15
|
-
## Search And AI Surfaces
|
|
16
|
-
|
|
17
|
-
- Web results, product rich results, merchant listings, shopping tabs, image/visual search, local inventory, retailer search, marketplace search, and AI answers that synthesize product and review content.
|
|
18
|
-
- The same product should be understandable from page HTML, structured data, and feed data.
|
|
19
|
-
- AI visibility is indirect and not guaranteed. The safest approach is crawlable, unique, evidence-backed product content plus fresh structured commerce data.
|
|
20
|
-
- Owned pages, feeds, and marketplace/retailer listings should reinforce the same product entity facts.
|
|
21
|
-
|
|
22
|
-
## Asset Plays
|
|
23
|
-
|
|
24
|
-
- Category x use-case pages: pair category terms with real jobs-to-be-done, occasions, constraints, and product routing.
|
|
25
|
-
- PDP upgrades: exact title, core attributes, specs, compatibility, materials, dimensions, images, shipping, returns, price, stock, reviews, and schema.
|
|
26
|
-
- SKU-level evidence: publish model/SKU/GTIN/MPN where available and keep identifiers consistent across owned and syndicated surfaces.
|
|
27
|
-
- Product schema and merchant listings: use Product/Offer data that matches visible content. Use variant grouping for product families.
|
|
28
|
-
- Faceted navigation: control filters, sorts, and parameter URLs. Index only useful, distinct, demand-backed pages.
|
|
29
|
-
- Variant strategy: define single PDP vs variant URL handling, canonicalization, inventory state, and ProductGroup data where appropriate.
|
|
30
|
-
- Product feeds: maintain feed hygiene for large, fast-changing, or high-variant catalogs.
|
|
31
|
-
- Reviews: support customer, expert, and editorial reviews with firsthand evidence, measurements, pros/cons, and best-fit context.
|
|
32
|
-
- Comparison and buying guides: `best for X`, `A vs B`, `best under Y`, and `what to choose if Z`, with clear links to PDPs and category hubs.
|
|
33
|
-
- Images/video: show the actual product, scale, setup, fit, usage, and variant differences.
|
|
34
|
-
|
|
35
|
-
## Evidence And Claim Safety
|
|
36
|
-
|
|
37
|
-
- Prefer verifiable attributes over persuasion copy.
|
|
38
|
-
- Separate fact from marketing language.
|
|
39
|
-
- Only claim specs, compatibility, performance, material, certifications, warranty, or `best for` statements when evidence exists.
|
|
40
|
-
- Regulated or high-risk goods need separate review: supplements, OTC drugs, alcohol, nicotine, medical devices, children’s products, electronics safety, automotive parts, and sustainability claims.
|
|
41
|
-
- Comparisons and guides need measurements, criteria, firsthand observations, and explicit tradeoffs.
|
|
42
|
-
- Keep page, schema, feed, and retailer facts synchronized.
|
|
43
|
-
- Freshness-sensitive facts include price, availability, shipping, returns, sale windows, inventory, policy details, out-of-stock, discontinued, backorder, and promo states.
|
|
44
|
-
- If reviews or comparisons monetize outbound links, keep disclosures and link handling compliant.
|
|
45
|
-
|
|
46
|
-
## Measurement Signals
|
|
47
|
-
|
|
48
|
-
- Indexation and crawl coverage for categories, PDPs, and variant pages.
|
|
49
|
-
- Product rich result and merchant listing eligibility, errors, and warnings.
|
|
50
|
-
- Feed disapprovals, mismatch rates, attribute completeness, and freshness latency.
|
|
51
|
-
- Impressions/clicks by category, use-case, comparison, PDP, and SKU query classes.
|
|
52
|
-
- PDP conversion, add-to-cart, category-to-PDP CTR, and marketplace/retailer share.
|
|
53
|
-
- Review coverage, rating volume, product identifier coverage, and valid schema coverage.
|
|
54
|
-
- AI mention, owned citation, cited source mix, and branded query lift after guide/review publication.
|
|
55
|
-
|
|
56
|
-
## Anti-Patterns
|
|
57
|
-
|
|
58
|
-
- One thin PDP template repeated across many SKUs.
|
|
59
|
-
- Category pages that are only product grids.
|
|
60
|
-
- Query-fanout pages for every wording variation.
|
|
61
|
-
- `Best` or review pages with no firsthand evidence, measurements, or tradeoffs.
|
|
62
|
-
- Variant facts hidden behind JS selectors or collapsed product families.
|
|
63
|
-
- Price, stock, shipping, or return mismatches between page, schema, feed, and retailer.
|
|
64
|
-
- Missing or unstable product identifiers across syndication channels.
|
|
65
|
-
- Treating GEO/AEO as separate from product data quality, crawlability, and evidence.
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
# OTA / Travel SEO/GEO/AEO Playbook
|
|
2
|
-
|
|
3
|
-
## Scope
|
|
4
|
-
|
|
5
|
-
Reusable guidance for OTA, travel marketplace, destination, lodging, tour, and things-to-do businesses. Use this for vertical strategy, diagnosis, and page planning.
|
|
6
|
-
|
|
7
|
-
## Entity And Demand Patterns
|
|
8
|
-
|
|
9
|
-
- Travel demand mixes entity-led planning with date, price, availability, route, and booking-led transactions.
|
|
10
|
-
- Core entities: destination, neighborhood, property, operator, attraction, route, itinerary, traveler type, season, event, availability, price, review, and policy.
|
|
11
|
-
- Durable patterns include `destination x traveler type`, `destination x use case`, `destination x season`, `destination x trip length`, `destination x things-to-do`, `destination x where-to-stay`, and `property/tour x availability + price + review`.
|
|
12
|
-
- Best travel pages connect entities across trip planning, local context, inventory, and booking instead of treating keywords as isolated posts.
|
|
13
|
-
|
|
14
|
-
## Search And AI Surfaces
|
|
15
|
-
|
|
16
|
-
- Web results, maps/local packs, rich results, review surfaces, partner/affiliate listings, tourism boards, and AI travel-planning answers.
|
|
17
|
-
- Travel planning pages should answer: who it is for, when to go, how long to spend, what to do in order, where to stay, cost assumptions, what is included, and what may be unavailable or seasonal.
|
|
18
|
-
- Strong travel content is specific, itinerary-shaped, comparison-friendly, source-aware, and explicit about freshness and uncertainty.
|
|
19
|
-
- Maps/local visibility is part of SEO for physical travel entities, not a separate concern.
|
|
20
|
-
|
|
21
|
-
## Asset Plays
|
|
22
|
-
|
|
23
|
-
- Destination hubs: neighborhoods, attractions, maps, audience fit, seasonality, and links to stays/tours/itineraries.
|
|
24
|
-
- Itinerary pages: common durations, ordered plans, timing, transport, tradeoffs, alternatives, and booking modules.
|
|
25
|
-
- Things-to-do pages: attraction entities with hours, access, cost/free status, location, seasonality, and best-fit traveler types.
|
|
26
|
-
- Where-to-stay pages: neighborhood fit, accommodation types, budget bands, transit access, practical considerations, and inventory links.
|
|
27
|
-
- Property/tour pages: price, availability, amenities, images, geo, cancellation, inclusions, exclusions, and review evidence.
|
|
28
|
-
- Local readiness: name, address, geo, hours, category, business details, review signals, and profile consistency.
|
|
29
|
-
- Partner/affiliate surfaces: keep names, location data, inventory facts, ratings, images, and policies consistent across syndicated listings.
|
|
30
|
-
|
|
31
|
-
## Evidence And Claim Safety
|
|
32
|
-
|
|
33
|
-
- Never publish stale availability or stale prices as if live.
|
|
34
|
-
- Label prices, taxes, mandatory fees, `from` pricing, seasonal ranges, currency, cancellation terms, and uncertain timing clearly.
|
|
35
|
-
- Distinguish live, feed-supplied, estimated, seasonal, and stale facts.
|
|
36
|
-
- Separate evergreen editorial guidance from volatile booking facts.
|
|
37
|
-
- Structured data must match visible page content and page purpose.
|
|
38
|
-
- Do not mark up hidden, fake, misleading, or irrelevant review content.
|
|
39
|
-
- Distinguish editorial recommendation, user review, partner-supplied fact, live feed fact, and estimated itinerary timing.
|
|
40
|
-
- Safety content should use sourced, dated practical considerations. Do not declare areas categorically safe or unsafe without authoritative sourcing and review.
|
|
41
|
-
- Use Google Business Profile, VacationRental, and things-to-do markup/feed concepts only when the tenant is eligible and the data matches visible content.
|
|
42
|
-
- Freshness-sensitive facts include availability, hours, closures, seasonal access, review dates, policy changes, taxes, fees, inclusions, and cancellation terms.
|
|
43
|
-
|
|
44
|
-
## Measurement Signals
|
|
45
|
-
|
|
46
|
-
- Destination, itinerary, things-to-do, and where-to-stay impressions.
|
|
47
|
-
- Indexation and rich-result coverage for key entity pages.
|
|
48
|
-
- Booking conversion, inventory clickthrough, partner outbound CTR, and assisted conversions.
|
|
49
|
-
- Map/profile visibility, direction/call/website actions, review volume, rating, and reply rate.
|
|
50
|
-
- Freshness coverage for price, availability, hours, and policy fields.
|
|
51
|
-
- AI mention, owned citation, itinerary answer inclusion, and cited source mix.
|
|
52
|
-
|
|
53
|
-
## Anti-Patterns
|
|
54
|
-
|
|
55
|
-
- Thin `best things to do` pages with no entity depth.
|
|
56
|
-
- Destination pages with no traveler, season, or use-case segmentation.
|
|
57
|
-
- Generic itinerary copy reused across destinations.
|
|
58
|
-
- Mixing evergreen advice with stale booking facts.
|
|
59
|
-
- Schema that does not match visible content.
|
|
60
|
-
- Review markup without trustworthy visible reviews.
|
|
61
|
-
- Hiding fees, blackout periods, closures, or booking constraints.
|
|
62
|
-
- Contradictory partner and first-party listings.
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
# SaaS SEO/GEO/AEO Playbook
|
|
2
|
-
|
|
3
|
-
## Scope
|
|
4
|
-
|
|
5
|
-
Reusable guidance for B2B SaaS and software-led subscription businesses. Use this for vertical strategy, diagnosis, and page planning. Keep tenant-specific positioning and bets in `agent/STRATEGY.md`.
|
|
6
|
-
|
|
7
|
-
## Entity And Demand Patterns
|
|
8
|
-
|
|
9
|
-
- SaaS demand is entity-led: category, problem, role, workflow, use case, feature, integration, competitor, pricing model, security standard, and deployment model.
|
|
10
|
-
- Map demand by buying stage: problem, use case, workflow, integration, evaluation, validation, implementation, and support.
|
|
11
|
-
- Common patterns: `role x problem`, `workflow x tool`, `integration x integration`, `feature x use case`, `competitor x alternative`, `category x industry`.
|
|
12
|
-
- Treat docs, integrations, trust pages, and comparisons as demand capture assets, not only support material.
|
|
13
|
-
- Build pages that stand alone for users and search systems: clear scope, crawlable text, explicit product facts, stable terminology, self-contained answers, and proof near claims.
|
|
14
|
-
|
|
15
|
-
## Search And AI Surfaces
|
|
16
|
-
|
|
17
|
-
- Web search, AI answer surfaces, Bing/Copilot-style citation layers, review platforms, docs, help centers, changelogs, trust centers, and status/security pages.
|
|
18
|
-
- Review platforms such as G2, Capterra, TrustRadius, and analyst-style marketplaces influence validation and external authority.
|
|
19
|
-
- Documentation can capture high-intent implementation queries and assist activation when it links to product value and next steps.
|
|
20
|
-
- AI search experiences may synthesize information from multiple indexed sources. Make product facts crawlable, current, and unambiguous, but do not assume any specific page type will be cited.
|
|
21
|
-
|
|
22
|
-
## Asset Plays
|
|
23
|
-
|
|
24
|
-
- Category pages: define the category, who it is for, differentiation, proof, pricing path, and links to deeper assets.
|
|
25
|
-
- Problem pages: explain pain, root causes, measurable outcomes, and product fit. Avoid generic thought leadership.
|
|
26
|
-
- Use-case pages: role, industry, scenario, inputs, outputs, success metrics, and examples.
|
|
27
|
-
- Workflow pages: before/after process, systems touched, time/risk savings, and fit constraints.
|
|
28
|
-
- Integration pages: what connects, triggers/actions, setup path, limitations, related docs, and adjacent integrations.
|
|
29
|
-
- Alternative/comparison pages: objective criteria, current facts, tradeoffs, methodology, and buyer-help framing.
|
|
30
|
-
- Docs-assisted activation: prerequisites, architecture notes, examples, demos, templates, and product pathways.
|
|
31
|
-
- Trust pages: verified security, privacy, compliance, and admin-control facts with artifact paths. Do not list controls or certifications unless currently supported.
|
|
32
|
-
- Proof assets: case studies, testimonials, review profiles, benchmarks, analyst mentions, and compliant review coverage/recency.
|
|
33
|
-
|
|
34
|
-
## Evidence And Claim Safety
|
|
35
|
-
|
|
36
|
-
- Attribute substantive claims to first-party product facts, public docs, customer evidence, third-party reviews, benchmarks, or trust artifacts.
|
|
37
|
-
- Separate product facts from positioning. `Supports SAML SSO` is not the same as `best enterprise security`.
|
|
38
|
-
- Comparison claims must be truthful, current, non-deceptive, and clear about methodology.
|
|
39
|
-
- Do not imply certifications, integrations, customer logos, uptime, ROI, feature parity, or compliance posture without proof.
|
|
40
|
-
- Security, compliance, privacy, and regulated-industry claims need an artifact path: trust center, policy page, release note, support doc, or certification.
|
|
41
|
-
- Do not claim AI capability, autonomy, accuracy, compliance suitability, legal/medical/security adequacy, or productivity gains without product evidence and disclaimers.
|
|
42
|
-
- Pricing, plan limits, edition availability, API limits, add-ons, and enterprise-only capabilities must match product docs and pricing pages.
|
|
43
|
-
- Use careful ROI language. Prefer scenarios, ranges, and case-backed examples over universal promises.
|
|
44
|
-
- AI-assisted content needs human editorial control; scaled low-value SaaS pages are a quality risk.
|
|
45
|
-
|
|
46
|
-
## Measurement Signals
|
|
47
|
-
|
|
48
|
-
- Indexation and crawl health by page type.
|
|
49
|
-
- Non-brand impressions and rankings for category, problem, integration, workflow, and comparison intents.
|
|
50
|
-
- AI citation, supporting-link appearance, and answer inclusion for tracked prompts.
|
|
51
|
-
- Demo/trial starts, product-qualified signups, qualified pipeline, and win-rate influence.
|
|
52
|
-
- Docs-to-signup assists, docs-to-demo assists, docs CTA CTR, and activation by doc cluster.
|
|
53
|
-
- Review-platform completeness, rating, review coverage, recency, representativeness, and compliant solicitation.
|
|
54
|
-
- Trust-page engagement and enterprise conversion assists.
|
|
55
|
-
|
|
56
|
-
## Anti-Patterns
|
|
57
|
-
|
|
58
|
-
- Thin `best X`, industry, or city pages with no real differentiation.
|
|
59
|
-
- Treating GEO as separate from crawlability, canonical hygiene, and helpful content.
|
|
60
|
-
- Hiding product facts behind JS, login walls, PDFs, or vague marketing copy.
|
|
61
|
-
- Attack-style comparison pages.
|
|
62
|
-
- Docs that rank but never route users to activation.
|
|
63
|
-
- Security or compliance claims without proof paths.
|
|
64
|
-
- Schema, AI text generation, or review widgets used as shortcuts to trust.
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: brand-owned-diagnosis
|
|
3
|
-
description: Use when diagnosing customer-owned discovered pages for GEO strategy actions, owned-site visibility gaps, content coverage issues, or technical page fixes.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Brand-Owned Diagnosis
|
|
7
|
-
|
|
8
|
-
Use this skill for customer-owned pages that are not Anymorph-generated GEO pages.
|
|
9
|
-
|
|
10
|
-
The output is a compact diagnosis plus action candidates for `assetType="brand_owned"`.
|
|
11
|
-
|
|
12
|
-
## Scope
|
|
13
|
-
|
|
14
|
-
Diagnose:
|
|
15
|
-
|
|
16
|
-
- Existing brand-owned page coverage.
|
|
17
|
-
- Content clarity, proof, comparison, and entity gaps.
|
|
18
|
-
- Technical or crawl blockers on customer-owned pages.
|
|
19
|
-
- GSC, SERP, AI response, and competitor gaps tied to a known owned URL.
|
|
20
|
-
|
|
21
|
-
Do not propose:
|
|
22
|
-
|
|
23
|
-
- Generated GEO page work.
|
|
24
|
-
- Third-party outreach or external profile work.
|
|
25
|
-
- New page generation when an existing generated GEO page is the right surface.
|
|
26
|
-
|
|
27
|
-
## Workflow
|
|
28
|
-
|
|
29
|
-
Read these references before producing proposals:
|
|
30
|
-
|
|
31
|
-
- `references/workflow.md` for the full brand-owned product workflow, candidate rules, root causes, action families, scoring, and no-action cases.
|
|
32
|
-
- `references/diagnosis-contract.md` for the exact runtime diagnosis contract and artifact submission shape.
|
|
33
|
-
|
|
34
|
-
1. Read shared run context and the brand-owned candidate slice.
|
|
35
|
-
2. Use `list_brand_owned_candidates` before broad SQL.
|
|
36
|
-
3. Use `get_geo_intent_diagnostic` for intent-level explanation.
|
|
37
|
-
4. Read page content or source only when the recommendation depends on the body or technical implementation.
|
|
38
|
-
5. Return accepted proposals, rejected candidates, and no-action rationale.
|
|
39
|
-
|
|
40
|
-
## Output Contract
|
|
41
|
-
|
|
42
|
-
Return proposals that can be merged into final GEO actions.
|
|
43
|
-
|
|
44
|
-
Each proposal should include:
|
|
45
|
-
|
|
46
|
-
- intent or proposed intent.
|
|
47
|
-
- existing page URL or page id when known.
|
|
48
|
-
- root cause.
|
|
49
|
-
- operation family.
|
|
50
|
-
- priority and confidence.
|
|
51
|
-
- evidence references.
|
|
52
|
-
- concise change brief.
|
|
53
|
-
|
|
54
|
-
Use no action when the owned page is not the bottleneck.
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
# GEO Strategy: Brand-Owned Diagnosis
|
|
2
|
-
|
|
3
|
-
You diagnose customer-owned discovered pages.
|
|
4
|
-
|
|
5
|
-
## Scope
|
|
6
|
-
|
|
7
|
-
Work only on pages where the tenant/customer site owns the page and the page is not an Anymorph-generated GEO page.
|
|
8
|
-
|
|
9
|
-
Cases:
|
|
10
|
-
|
|
11
|
-
- page exists but visibility is low
|
|
12
|
-
- page is cited but the brand is not mentioned
|
|
13
|
-
- brand is mentioned but not recommended
|
|
14
|
-
|
|
15
|
-
Do not propose GEO page generation unless the orchestrator explicitly asks you to compare update-vs-create.
|
|
16
|
-
|
|
17
|
-
## Evidence Order
|
|
18
|
-
|
|
19
|
-
Use the cheapest sufficient evidence.
|
|
20
|
-
|
|
21
|
-
1. Common run context and candidate rows from the orchestrator.
|
|
22
|
-
2. `list_brand_owned_candidates` for the first brand-owned candidate slice.
|
|
23
|
-
3. `get_geo_intent_diagnostic` for one intent before deeper checks.
|
|
24
|
-
4. `get_page_insights` default compact mode for page decision evidence; use `mode: "full"`, `get_page_visibility`, or `list_ai_responses` only when raw evidence changes the recommendation.
|
|
25
|
-
5. `get_page_content` only when content or technical diagnosis depends on the page body.
|
|
26
|
-
6. `web_scrape` only for a specific competitor URL that changes the recommendation.
|
|
27
|
-
|
|
28
|
-
Do not scrape broadly.
|
|
29
|
-
|
|
30
|
-
## Root Cause Buckets
|
|
31
|
-
|
|
32
|
-
Allowed buckets:
|
|
33
|
-
|
|
34
|
-
- `intent_coverage_gap`
|
|
35
|
-
- `content_depth_gap`
|
|
36
|
-
- `entity_clarity_gap`
|
|
37
|
-
- `generic_content_gap`
|
|
38
|
-
- `proof_gap`
|
|
39
|
-
- `comparison_gap`
|
|
40
|
-
- `technical_issue`
|
|
41
|
-
- `authority_gap`
|
|
42
|
-
- `prompt_mismatch`
|
|
43
|
-
- `not_a_problem`
|
|
44
|
-
- `insufficient_evidence`
|
|
45
|
-
|
|
46
|
-
Use `authority_gap` only with external citation evidence or repeated competitor recommendation reasons.
|
|
47
|
-
|
|
48
|
-
## Action Families
|
|
49
|
-
|
|
50
|
-
Allowed families:
|
|
51
|
-
|
|
52
|
-
- `update_existing_page`
|
|
53
|
-
- `retarget_existing_page`
|
|
54
|
-
- `merge_or_redirect_page`
|
|
55
|
-
- `no_action`
|
|
56
|
-
|
|
57
|
-
Keep specific fixes such as proof, entity clarity, comparison coverage, and technical repairs in `rootCauses` and `operations`, not as separate action families.
|
|
58
|
-
|
|
59
|
-
## Output
|
|
60
|
-
|
|
61
|
-
Produce one `brand_owned` diagnosis object in this shape.
|
|
62
|
-
|
|
63
|
-
Do not write intermediate diagnosis JSON files directly.
|
|
64
|
-
|
|
65
|
-
Do not include `workspaceId`, `runId`, `channel`, final action id, or final `assetType`; the orchestrator can derive them.
|
|
66
|
-
|
|
67
|
-
Use this shape:
|
|
68
|
-
|
|
69
|
-
```json
|
|
70
|
-
{
|
|
71
|
-
"summary": "Short diagnosis.",
|
|
72
|
-
"proposals": [
|
|
73
|
-
{
|
|
74
|
-
"intentId": "intent_123",
|
|
75
|
-
"candidateType": "page_exists_low_visibility",
|
|
76
|
-
"target": { "pageId": "page_123", "url": "https://example.com/page" },
|
|
77
|
-
"rootCauses": [
|
|
78
|
-
{ "bucket": "proof_gap", "confidence": 0.72, "evidence": ["Specific evidence summary"] }
|
|
79
|
-
],
|
|
80
|
-
"actionFamily": "update_existing_page",
|
|
81
|
-
"operations": ["Add customer proof near the answer block"],
|
|
82
|
-
"priority": "high",
|
|
83
|
-
"confidence": "medium",
|
|
84
|
-
"evidence": [
|
|
85
|
-
{ "type": "signal", "ref": "geo_recommendation_quadrants:intent_123", "summary": "Mentioned but not recommended dominates." }
|
|
86
|
-
],
|
|
87
|
-
"whyNow": "Why this matters this week.",
|
|
88
|
-
"risks": ["Uncertainty or dependency"]
|
|
89
|
-
}
|
|
90
|
-
],
|
|
91
|
-
"rejected": [
|
|
92
|
-
{ "ref": "intent_456", "reason": "Suppressed by recent action mask." }
|
|
93
|
-
]
|
|
94
|
-
}
|
|
95
|
-
```
|
|
@@ -1,194 +0,0 @@
|
|
|
1
|
-
# Brand-Owned Diagnosis Workflow
|
|
2
|
-
|
|
3
|
-
## Role
|
|
4
|
-
|
|
5
|
-
The `brand_owned` channel diagnosis diagnoses and proposes actions for customer-owned discovered pages.
|
|
6
|
-
|
|
7
|
-
It works on pages where:
|
|
8
|
-
|
|
9
|
-
- `source = discovered`
|
|
10
|
-
- the page belongs to the tenant/customer site
|
|
11
|
-
- the action would improve an existing natural page or recommend a customer-site content action
|
|
12
|
-
|
|
13
|
-
## Non-Goals
|
|
14
|
-
|
|
15
|
-
- Do not iterate generated GEO pages.
|
|
16
|
-
- Do not decide final routes for generated pages.
|
|
17
|
-
- Do not propose third-party outreach.
|
|
18
|
-
- Do not perform deep URL tree planning in MVP.
|
|
19
|
-
- Do not require `PageContentLabel`.
|
|
20
|
-
|
|
21
|
-
## Inputs
|
|
22
|
-
|
|
23
|
-
- candidate rows routed by the orchestrator
|
|
24
|
-
- tenant `agent/BRAND.md`
|
|
25
|
-
- tenant `agent/STRATEGY.md`
|
|
26
|
-
- tenant `agent/LEARNINGS.md`
|
|
27
|
-
- relevant rows from:
|
|
28
|
-
- `geo_pages`
|
|
29
|
-
- `geo_intent_coverage`
|
|
30
|
-
- `geo_recommendation_quadrants`
|
|
31
|
-
- `geo_page_intent_visibility_gaps`
|
|
32
|
-
- `geo_page_performance`
|
|
33
|
-
- `geo_strategy_actions_recent`
|
|
34
|
-
- page scrape when needed
|
|
35
|
-
- AI answer samples when needed
|
|
36
|
-
- competitor page scrape when needed
|
|
37
|
-
|
|
38
|
-
## Workflow
|
|
39
|
-
|
|
40
|
-
### 1. Filter Candidates
|
|
41
|
-
|
|
42
|
-
Keep candidates where:
|
|
43
|
-
|
|
44
|
-
- page source is `discovered`
|
|
45
|
-
- page has an intent
|
|
46
|
-
- intent is weak, or quadrant state indicates a fixable issue
|
|
47
|
-
|
|
48
|
-
Drop candidates when:
|
|
49
|
-
|
|
50
|
-
- page is not indexable and the tenant strategy forbids technical page edits
|
|
51
|
-
- recent action mask suppresses the same action
|
|
52
|
-
- evidence is too thin to justify an action
|
|
53
|
-
|
|
54
|
-
### 2. Classify Candidate Case
|
|
55
|
-
|
|
56
|
-
Assign one primary case.
|
|
57
|
-
|
|
58
|
-
#### A. Page Exists But Visibility Is Low
|
|
59
|
-
|
|
60
|
-
Use when:
|
|
61
|
-
|
|
62
|
-
- discovered page exists
|
|
63
|
-
- `current_visibility` is low
|
|
64
|
-
- quadrant is mostly `absent`, `cited_unnamed`, or `mentioned_not_recommended`
|
|
65
|
-
|
|
66
|
-
Diagnosis questions:
|
|
67
|
-
|
|
68
|
-
1. Does the page directly answer the intent?
|
|
69
|
-
2. Is coverage deep enough for representative prompts?
|
|
70
|
-
3. Is the writing weaker than the most-cited or most-recommended competitor page?
|
|
71
|
-
4. Is there a visible technical issue?
|
|
72
|
-
5. Is authority the likely bottleneck, or only a weak hypothesis?
|
|
73
|
-
|
|
74
|
-
#### B. Cited But Not Mentioned
|
|
75
|
-
|
|
76
|
-
Use when:
|
|
77
|
-
|
|
78
|
-
- our page/source is cited
|
|
79
|
-
- brand is not clearly mentioned
|
|
80
|
-
|
|
81
|
-
Diagnosis questions:
|
|
82
|
-
|
|
83
|
-
1. Is the page clearly tied to the tenant brand?
|
|
84
|
-
2. Do title, H1, intro, byline, publisher, schema, and about/proof signals make the entity clear?
|
|
85
|
-
3. Is the content too generic to make the brand worth mentioning?
|
|
86
|
-
|
|
87
|
-
#### C. Mentioned But Not Recommended
|
|
88
|
-
|
|
89
|
-
Use when:
|
|
90
|
-
|
|
91
|
-
- tenant brand is mentioned
|
|
92
|
-
- competitors are recommended more often
|
|
93
|
-
|
|
94
|
-
Diagnosis questions:
|
|
95
|
-
|
|
96
|
-
1. Which brands were recommended?
|
|
97
|
-
2. What reasons did the AI answer give or imply?
|
|
98
|
-
3. What content-level weakness exists on the tenant page?
|
|
99
|
-
|
|
100
|
-
### 3. Gather Evidence
|
|
101
|
-
|
|
102
|
-
Use the cheapest sufficient evidence.
|
|
103
|
-
|
|
104
|
-
Default evidence:
|
|
105
|
-
|
|
106
|
-
- view rows
|
|
107
|
-
- page title/H1/path/status
|
|
108
|
-
- quadrant rates
|
|
109
|
-
- page performance summary
|
|
110
|
-
- AI answer excerpt
|
|
111
|
-
|
|
112
|
-
Fetch page scrape when:
|
|
113
|
-
|
|
114
|
-
- diagnosis depends on content coverage, proof, comparison, or entity clarity
|
|
115
|
-
|
|
116
|
-
Fetch competitor page scrape when:
|
|
117
|
-
|
|
118
|
-
- the answer repeatedly recommends or cites a competitor page
|
|
119
|
-
- the proposed action depends on competitor comparison
|
|
120
|
-
|
|
121
|
-
Do not scrape everything.
|
|
122
|
-
|
|
123
|
-
### 4. Pick Root Cause Buckets
|
|
124
|
-
|
|
125
|
-
Allowed buckets:
|
|
126
|
-
|
|
127
|
-
- `intent_coverage_gap`
|
|
128
|
-
- `content_depth_gap`
|
|
129
|
-
- `entity_clarity_gap`
|
|
130
|
-
- `generic_content_gap`
|
|
131
|
-
- `proof_gap`
|
|
132
|
-
- `comparison_gap`
|
|
133
|
-
- `technical_issue`
|
|
134
|
-
- `authority_gap`
|
|
135
|
-
- `prompt_mismatch`
|
|
136
|
-
- `not_a_problem`
|
|
137
|
-
- `insufficient_evidence`
|
|
138
|
-
|
|
139
|
-
Use `authority_gap` only when supported by external citation evidence or repeated competitor recommendation reasons.
|
|
140
|
-
|
|
141
|
-
### 5. Route Action
|
|
142
|
-
|
|
143
|
-
Allowed action families:
|
|
144
|
-
|
|
145
|
-
- `update_existing_page`
|
|
146
|
-
- `retarget_existing_page`
|
|
147
|
-
- `merge_or_redirect_page`
|
|
148
|
-
- `no_action`
|
|
149
|
-
|
|
150
|
-
Use `update_existing_page` when the owned page is the right surface and needs content, proof, entity clarity, comparison coverage, internal linking, or technical fixes.
|
|
151
|
-
|
|
152
|
-
Use `retarget_existing_page` when the page is a useful owned surface but should target a different intent or query cluster than the one being evaluated.
|
|
153
|
-
|
|
154
|
-
Use `merge_or_redirect_page` when the page should not remain an independent surface because it duplicates, cannibalizes, or conflicts with a stronger owned page.
|
|
155
|
-
|
|
156
|
-
Prefer owned-page updates over generated GEO page creation when an existing discovered page clearly owns the intent.
|
|
157
|
-
|
|
158
|
-
### 6. Output
|
|
159
|
-
|
|
160
|
-
Return a compact diagnosis for each accepted action:
|
|
161
|
-
|
|
162
|
-
- candidate type
|
|
163
|
-
- page URL/pageId
|
|
164
|
-
- intentId
|
|
165
|
-
- root cause buckets with confidence
|
|
166
|
-
- recommended action family
|
|
167
|
-
- concrete operations
|
|
168
|
-
- evidence references
|
|
169
|
-
- why other actions were rejected
|
|
170
|
-
|
|
171
|
-
## Examples
|
|
172
|
-
|
|
173
|
-
### Covered But Weak
|
|
174
|
-
|
|
175
|
-
If a discovered page exists, visibility is low, and the page only gives generic education while competitor pages provide comparison criteria and proof:
|
|
176
|
-
|
|
177
|
-
- root cause: `comparison_gap`, `proof_gap`
|
|
178
|
-
- action family: `update_existing_page`
|
|
179
|
-
- operation: add comparison criteria and customer proof to the existing page
|
|
180
|
-
|
|
181
|
-
### Cited But Not Mentioned
|
|
182
|
-
|
|
183
|
-
If the page is cited but the AI answer does not name the tenant brand:
|
|
184
|
-
|
|
185
|
-
- root cause: `entity_clarity_gap`
|
|
186
|
-
- action family: `update_existing_page`
|
|
187
|
-
- operation: strengthen brand naming, publisher schema, and product/company relationship in the answer block
|
|
188
|
-
|
|
189
|
-
## Guardrails
|
|
190
|
-
|
|
191
|
-
- Do not propose creating a generated GEO page from this channel diagnosis unless the orchestrator explicitly routes no-page candidates here.
|
|
192
|
-
- Do not over-index on page type labels.
|
|
193
|
-
- Do not call content "thin" without page scrape or word-count/section evidence.
|
|
194
|
-
- Do not diagnose authority from low visibility alone.
|