influencer-db

📁 shalomma/social-media-research 📅 9 days ago
1
总安装量
1
周安装量
#52446
全站排名
安装命令
npx skills add https://github.com/shalomma/social-media-research --skill influencer-db

Agent 安装分布

kilo 1
windsurf 1
cline 1
opencode 1
cursor 1
continue 1

Skill 文档

Israeli Tech Nano-Influencers Database

A SQLite database with direct sqlite3 command-line access for managing Israeli tech nano-influencer data. Pure SQL with no abstractions.

Features

  • Direct sqlite3 Access: Execute any SQL query using the sqlite3 CLI
  • Schema Inspection: View database schema and table structures
  • Flexible: Craft any query you need with full SQL power
  • Version Controlled: Database file is tracked in git for easy collaboration

Database Schema

Tables

influencers – Single table for all influencers (active and excluded)

Profile & Identity:

  • twitter_handle (TEXT PRIMARY KEY) – Twitter/X username
  • name (TEXT NOT NULL) – Full name
  • role (TEXT) – Professional role/title
  • focus (TEXT) – Areas of expertise or interest
  • background (TEXT) – Professional background
  • profile_url (TEXT) – Link to Twitter/X profile

Engagement & Activity:

  • recent_activity (TEXT) – Description of recent posts/activity
  • engagement_potential (TEXT) – Assessment of engagement value (HIGH/MEDIUM/LOW)
  • last_tweet_date (TEXT) – Date of most recent tweet
  • last_reply_date (TEXT) – Date of most recent reply

Location & Language:

  • location (TEXT) – Geographic location
  • language (TEXT) – Languages used in content
  • hebrew_writer (BOOLEAN) – Whether they write in Hebrew (0/1)

X API Metrics (matching UserInfoResponse model):

  • followers (INTEGER) – Number of followers
  • following (INTEGER) – Number of accounts they follow
  • statuses_count (INTEGER) – Total number of tweets/statuses
  • media_count (INTEGER) – Total media items posted

Discovery & Tracking:

  • discovery_path (TEXT) – How the influencer was discovered/found (e.g., web search query, xai-grok search, website URL, referral path, Twitter list, recommendation from another influencer, etc.)
  • rationale (TEXT) – Why this influencer was added to the database (e.g., specific expertise, notable projects, unique perspective, community influence, content quality, etc.)
  • added_date (TEXT NOT NULL) – Date added to database (ISO 8601 format)
  • last_verified_date (TEXT) – Date profile was last verified (ISO 8601 format)

Exclusion Management:

  • excluded (BOOLEAN DEFAULT 0) – Whether excluded from active list (0=active, 1=excluded)
  • excluded_date (TEXT) – Date of exclusion (ISO 8601 format, nullable)
  • exclusion_reason (TEXT) – Reason for exclusion (nullable)

Metadata:

  • notes (TEXT) – Additional notes or observations
  • created_at (TIMESTAMP DEFAULT CURRENT_TIMESTAMP) – Record creation timestamp
  • updated_at (TIMESTAMP DEFAULT CURRENT_TIMESTAMP) – Last update timestamp (auto-updated)

Indexes:

  • idx_influencers_location – Fast queries by location
  • idx_influencers_hebrew_writer – Fast queries by language
  • idx_influencers_followers – Fast queries by follower count
  • idx_influencers_excluded – Fast queries for active vs excluded

Using sqlite3

The database is accessed using the sqlite3 command-line tool (pre-installed on most systems).

Basic Usage

# Open database in interactive mode
sqlite3 influencers.db

# Execute a single query
sqlite3 influencers.db "SELECT * FROM influencers LIMIT 5"

# Get JSON output
sqlite3 influencers.db ".mode json" "SELECT * FROM influencers LIMIT 5"

Common sqlite3 Commands

Meta commands (start with .):

.tables                    # List all tables
.schema influencers        # Show table schema
.mode json                 # Set output to JSON format
.mode column               # Set output to column format
.headers on                # Show column headers
.quit                      # Exit sqlite3

SQL Query Examples

SELECT Queries

# Get all influencers
sqlite3 influencers.db "SELECT * FROM influencers"

# Get specific influencer
sqlite3 influencers.db "SELECT * FROM influencers WHERE twitter_handle = 'oriSomething'"

# Get with JSON output
sqlite3 influencers.db -json "SELECT * FROM influencers WHERE location LIKE '%Tel Aviv%'"

# Count by location
sqlite3 influencers.db "SELECT location, COUNT(*) as count FROM influencers GROUP BY location"

INSERT Queries

# Add new influencer
sqlite3 influencers.db "INSERT INTO influencers (twitter_handle, name, location, followers, hebrew_writer, added_date, last_verified_date) VALUES ('test_user', 'Test User', 'Tel Aviv', 1500, 1, '2025-10-26', '2025-10-26')"

# Add with more fields
sqlite3 influencers.db "INSERT INTO influencers (twitter_handle, name, role, focus, location, language, followers, following, statuses_count, media_count, hebrew_writer, engagement_potential, discovery_path, added_date) VALUES ('example', 'Example User', 'Developer', 'AI/ML', 'Israel', 'Hebrew, English', 2000, 500, 1500, 300, 1, 'HIGH', 'web search: Israeli AI developers', '2025-10-26')"

UPDATE Queries

# Update follower count
sqlite3 influencers.db "UPDATE influencers SET followers = 2000 WHERE twitter_handle = 'test_user'"

# Update multiple X API metrics
sqlite3 influencers.db "UPDATE influencers SET followers = 2500, following = 600, statuses_count = 2000, media_count = 400 WHERE twitter_handle = 'test_user'"

DELETE Queries

# Delete specific influencer
sqlite3 influencers.db "DELETE FROM influencers WHERE twitter_handle = 'test_user'"

Architecture

.claude/skills/influencer-db/
├── SKILL.md              # This documentation
└── src/
    └── schema.sql       # Database schema (for reference)
influencers.db           # SQLite database (version controlled in git)

Tips for Agents

  • Use JSON output: Add -json flag for JSON output: sqlite3 influencers.db -json "SELECT ..."
  • Use transactions: For multiple operations, wrap in transaction (BEGIN/COMMIT)
  • Check constraints: twitter_handle is PRIMARY KEY – handle conflicts gracefully
  • Use indexes: location, followers, hebrew_writer, and excluded are indexed for fast queries
  • Track discovery: Always populate discovery_path (how found) and rationale (why added) when adding new influencers to track sourcing and decision-making