notion

Store and manage competitor research results in a Notion database

$ 설치

git clone https://github.com/vm0-ai/vm0-cookbooks /tmp/vm0-cookbooks && cp -r /tmp/vm0-cookbooks/208-competitor-research/claude-competitor-research/skills/notion ~/.claude/skills/vm0-cookbooks

// tip: Run this command in your terminal to install the skill


name: notion description: Store and manage competitor research results in a Notion database

Notion Skill

This skill manages competitor research data in Notion databases. It can add new competitor entries, update existing records, and query the database.

When to Use

Use this skill when:

  • You need to store competitor research results
  • You want to update an existing competitor record
  • You need to check what competitors have already been analyzed
  • You want to add structured data with formatted content blocks

How to Use

Prerequisites

  • NOTION_API_KEY environment variable must be set
  • The Notion database must be shared with your integration
  • The database should have the required properties (see Database Schema below)

Basic Usage

# Add a new competitor
add-competitor.sh "DATABASE_ID" "competitor_data.json"

# Query existing entries
query-database.sh "DATABASE_ID"

Database Schema

Your Notion database should have these properties:

PropertyTypeDescription
NameTitleCompany name (primary)
FoundedRich TextYear founded
Funding StatusRich Texte.g., "Series B", "Public"
Money RaisedRich Texte.g., "$50M"
Positive Reviews (%)Rich Texte.g., "85%"
ProsRich TextComma-separated list of pros
ConsRich TextComma-separated list of cons

Examples

# Add a competitor to the database
add-competitor.sh "2d1c3c72-6e8e-42f3-aece-c6338fd24333" "/tmp/data/competitor.json"

# Query existing competitors
query-database.sh "2d1c3c72-6e8e-42f3-aece-c6338fd24333"

Competitor JSON Format

{
  "company_name": "Competitor Inc",
  "company_website": "https://competitor.com",
  "year_founded": "2015",
  "founders": [{"name": "John Doe", "linkedIn": "linkedin.com/in/johndoe"}],
  "ceo": [{"name": "Jane Smith", "linkedIn": "linkedin.com/in/janesmith"}],
  "employees": [],
  "open_jobs": [],
  "offices": [{"address": "123 Main St", "city": "San Francisco"}],
  "money_raised": "$50M",
  "funding_status": "Series B",
  "investors": [],
  "customers": [],
  "latest_articles": [],
  "features": [{"name": "Feature 1", "description": "Description"}],
  "pricing_plans": [{"name": "Pro", "price": "$10/mo", "tier": "Mid"}],
  "number_of_reviews": 100,
  "positive_mentions_%": "85",
  "negative_mentions_%": "15",
  "top_pros": ["Easy to use", "Great support"],
  "top_cons": ["Expensive", "Limited integrations"]
}

Output

add-competitor.sh

Prints the created page ID and confirmation:

Created Notion page: abc123-def456-...
Competitor 'Competitor Inc' added to database

query-database.sh

Results are saved to /tmp/data/notion_query_[timestamp].json:

{
  "results": [
    {
      "id": "page-id-123",
      "properties": {
        "Name": {"title": [{"text": {"content": "Competitor Inc"}}]}
      }
    }
  ]
}

Guidelines

  1. Ensure the database is shared with your Notion integration
  2. Use the correct database ID (found in the Notion URL)
  3. All properties in the JSON should match the database schema
  4. The page body includes formatted sections for all research data

Error Handling

  • 401 Unauthorized: Check that NOTION_API_KEY is set correctly
  • 404 Not Found: The database ID may be incorrect or not shared
  • 400 Bad Request: Check that the JSON data matches the expected schema
  • Property not found: Ensure the database has all required properties

Repository

vm0-ai
vm0-ai
Author
vm0-ai/vm0-cookbooks/208-competitor-research/claude-competitor-research/skills/notion
4
Stars
1
Forks
Updated2d ago
Added6d ago