Skip to content
Agentmart
Submit a tool

add-competitor

Add a new competitor to the AI Visibility Tool Directory — researches the tool, generates data, takes a screenshot, and inserts into the codebase

Skill by EthanYoQ

IndexedMIT★ 11
Write a review

Chalk Labs

Need help deploying add-competitor?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/ethanyoq-add-competitor

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Add a new competitor to the AI Visibility Tool Directory — researches the tool, generates data, takes a screenshot, and inserts into the codebase

Use cases: data

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md and code. Checked Nov 1, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/add-competitor

What's inside

Skill name
add-competitor
Description
Add a new competitor to the AI Visibility Tool Directory — researches the tool, generates data, takes a screenshot, and inserts into the codebase
License
MIT
Instructions
149 lines in SKILL.md · view on GitHub

Before installing

  • Instructions call the network

Files (1)

  • SKILL.md

SKILL.md (first lines)

Add a new competitor to the AI visibility tool directory at `apps/www/src/lib/competitors/data.ts`.

The user will provide a URL. Follow these steps:

**Important: Write objective, factual descriptions.** Do not use marketing language, exaggerations, or the competitor's own promotional claims at face value. Describe what the tool does and how it works in neutral terms. Avoid superlatives like "industry-leading", "best-in-class", "revolutionary", etc. Stick to verifiable facts — features offered, platforms tracked, pricing tiers. Highlights should be factual differentiators, not praise.

## 1. Research the competitor

Use WebFetch to read the competitor's website at `$ARGUMENTS`. Gather:
- Product name
- Domain
- What the tool does (tagline + longer description)
- Which category it fits: `tracking`, `content`, `api-developer`, `ecommerce`, `seo-traditional`, `open-source`, or `other`
- Pricing info (free tier? starting price? enterprise?)
- Status: `active`, `shutting-down`, `acquired`, or `beta`
- 3 highlights (short bullet points about what makes it notable)

## 2. Determine feature flags

Read the feature definitions in `apps/www/src/lib/competitors/types.ts` (the `FEATURE_CATEGORIES` constant). Based on your research, determine which features the competitor supports. Set each to `true` or omit it (defaults to `false`). The features are:

- `multiLlmTracking` — tracks across multiple AI platforms (ChatGPT, Claude, Gemini, etc.)
- `visibilityScore` — provides an aggregate AI visibility score
- `citationAnalytics` — tracks citation sources in AI responses
- `competitorBenchmarking` — compare visibility against competitors
- `brandMentionTracking` — monitor brand mentions in AI responses
- `promptVolumeEstimates` — estimated search/prompt volumes
- `sentimentAnalysis` — brand sentiment in AI responses
- `crawlerAnalytics` — track AI bot visits to your site
- `geographicTracking` — visibility by region/country
- `socialMediaTracking` — Reddit and social platform monitoring
- `shoppingTracking` — product visibility in AI shopping
- `multiLanguage` — multi-language support
- `actionRecommendations` — prioritized action items
- `contentGapAnalysis` — detect content gaps vs competitors
- `siteAudits` — AI site readiness audits
- `keywordResearch` — AI keyword/prompt discovery
- `emailAlerts` — automated alerts
- `dataExportApi` — CSV export or API access
- `biConnectors` — Looker Studio, NinjaCat, etc.
- `whiteLabelAgency` — white-label or agency features
- `openSource` — source code available
- `contentGeneration` — AI content creation

Be conservative — only mark features as `true` if you can confirm them from the website.

## 3. Fetch the domain rating

Extract the domain from the URL (e.g. `https://www.example.com/foo` → `example.com`). Then run:
```bash
cd apps/www && node scripts/fetch-domain-rating.mjs "<domain>"
```

This returns JSON with `ahrefsDR`, from Ahrefs' free public API (no API key required). Use it for the competitor entry.

## 4. Generate the slug

Create a URL-friendly slug from the product name (lowercase, hyphens, no special chars). For example: "Otterly.ai" → "otterly", "SE Ranking" → "se-ranking".

## 5. Take the screenshot and upload

Run the screenshot script:
```bash
cd apps/www && node scripts/screenshot-competitor.mjs "<slug>" "<url>"
```

This requires `SCREENSHOT_ONE_ACCESS_KEY` and `BLOB_READ_WRITE_TOKEN` in `apps/www/.env`.

If the script fails, inform the user and continue with the data entry — the screenshot can be added later.

**Verify the capture — don't trust it blindly.** ScreenshotOne uploads whatever the site serves, and sites with bot protection (Cloudflare, etc.) frequently return a captcha or block page to the headless browser, which then gets stored as the "screenshot." After a successful upload, download the blob URL the script printed and actually view the image:

```bash
curl -s -o /tmp/<slug>.jpg "<blob URL printed by the script>"
```

Open `/tmp/<slug>.jpg` and confirm it's genuinely the competitor's homepage/product — **not** a bot challenge ("Checking your browser…", "Select all squares with…", "verify you are human"), an access-denied / 403 page, or a blank/error page. If it's a challenge or error page, do NOT keep it: tell the user automated capture was blocked and ask them to send a real screenshot to upload manually (the script sets `allowOverwrite: true`, so re-uploading replaces the bad image).

## 6. Insert into data.ts

Read `apps/www/src/lib/competitors/data.ts` and insert the new `Competitor` object into the `competitors` array (position in this array doesn't matter for display order).

Use the same code style as the existing entries. Example entry:

```typescript
{
    slug: "example-tool",
    name: "Example Tool",
    domain: "example.com",
    url: "https://example.com",
    tagline: "Short one-line description of what they do",
    description:
        "Longer 2-3 sentence description of the tool, its approach, and what makes it notable.",
    category: "tracking",
    ahrefsDR: 55,
    status: "active",
    features: {
        multiLlmTracking: true,
        visibilityScore: true,
        citationAnalytics: true,
    },
    pricing: { hasFree: true, startingPrice: "$49/mo", hasEnterprise: false },
    highlights: [
        "First highlight",
        "Second highlight",
        "Third highlight",
    ],
},
```

## 7. Add to AEO popularity ranking

In the same file (`data.ts`), find the `aeoPopularityRanking` array. This is a hardcoded list of slugs ordered from most popular to least popular **as an AEO tool specifically**. It determines both the display order in the directory and the A–F popularity grade.

Insert the new tool's slug at the appropriate position based on these criteria (in priority order):

1. **Is AI visibility / AEO the tool's PRIMARY product?** Pure AEO trackers rank above SEO suites or content platforms that bolted on AEO features.
2. **Market traction as an AEO tool** — funding rounds, notable enterprise customers, press coverage (Fortune, WSJ, TechCrunch, etc.), user counts, industry recognition (G2, Gartner, etc.).
3. **Feature depth in core AEO capabilities** — multi-LLM tracking, visibility scores, citation analytics, competitor benchmarking, brand mention tracking.

From EthanYoQ/Skill-hub, MIT.

More from EthanYoQ/Skill-hub

Signals

Stars
11
Forks
4
Open issues
0
Last commit (this folder)
Sep 19, 2026 (1 month ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from EthanYoQ

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get add-competitor running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying add-competitor?

CallGet help
Cite this page

add-competitor skill. Agent Mart. https://agentmart.dev/skills/ethanyoq-add-competitor (last updated 2026-10-24)