Token导航 LogoToken导航TokenDH.com
研究检索敏感数据github未标认证来源可访问clear审计未展示

octolensoctolens 分析

Agent Skill

octolens 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

465

周安装

19

GitHub Stars

公开资料未说明

下载量

149
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:octolens(octolens 分析)
来源仓库:https://github.com/octolens/skill
仓库路径:skills/octolens
安装命令:
npx skills add octolens/skill --skill "octolens"
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

AgentSkills.tonpx skills
npx skills add octolens/skill --skill "octolens"

简介

octolens 提供 AI 技能搜索与安装功能,支持多宿主平台。

  • 适合在开发过程中快速获取所需工具或插件。
  • 通过 npx 从 GitHub 安装,依赖网络连接。
  • 使用前应检查技能来源可靠性及权限需求。适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。
  • octolens 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Octolens API Skill

When to use this skill

Use this skill when the user needs to:

  • Fetch brand mentions from social media and other platforms
  • Filter mentions by source (Twitter, Reddit, GitHub, LinkedIn, YouTube, HackerNews, DevTO, StackOverflow, Bluesky, newsletters, podcasts)
  • Analyze sentiment (positive, neutral, negative)
  • Filter by author follower count or engagement
  • Search for specific keywords or tags
  • Query mentions by date range
  • List available keywords or saved views
  • Apply complex filtering logic with AND/OR conditions

API Authentication

The Octolens API requires a Bearer token for authentication. The user should provide their API key, which you'll use in the Authorization header:

Authorization: Bearer YOUR_API_KEY

Important: Always ask the user for their API key before making any API calls. Store it in a variable for subsequent requests.

Base URL

All API endpoints use the base URL: https://app.octolens.com/api/v1

Rate Limits

  • Limit: 500 requests per hour
  • Check headers: X-RateLimit-* headers indicate current usage

Available Endpoints

1. POST /mentions

Fetch mentions matching keywords with optional filtering. Returns posts sorted by timestamp (newest first).

Key Parameters:

  • limit (number, 1-100): Maximum results to return (default: 20)
  • cursor (string): Pagination cursor from previous response
  • includeAll (boolean): Include low-relevance posts (default: false)
  • view (number): View ID to use for filtering
  • filters (object): Filter criteria (see filtering section)

Example Response:

{
  "data": [
    {
      "id": "abc123",
      "url": "https://twitter.com/user/status/123",
      "body": "Just discovered @YourProduct - this is exactly what I needed!",
      "source": "twitter",
      "timestamp": "2024-01-15T10:30:00Z",
      "author": "user123",
      "authorName": "John Doe",
      "authorFollowers": 5420,
      "relevance": "relevant",
      "sentiment": "positive",
      "language": "en",
      "tags": ["feature-request"],
      "keywords": [{ "id": 1, "keyword": "YourProduct" }],
      "bookmarked": false,
      "engaged": false
    }
  ],
  "cursor": "eyJsYXN0SWQiOiAiYWJjMTIzIn0="
}

2. GET /keywords

List all keywords configured for the organization.

Example Response:

{
  "data": [
    {
      "id": 1,
      "keyword": "YourProduct",
      "platforms": ["twitter", "reddit", "github"],
      "color": "#6366f1",
      "paused": false,
      "context": "Our main product name"
    }
  ]
}

3. GET /views

List all saved views (pre-configured filters).

Example Response:

{
  "data": [
    {
      "id": 1,
      "name": "High Priority",
      "icon": "star",
      "filters": {
        "sentiment": ["positive", "negative"],
        "source": ["twitter"]
      },
      "createdAt": "2024-01-01T00:00:00Z"
    }
  ]
}

Filtering Mentions

The /mentions endpoint supports powerful filtering with two modes:

Simple Mode (Implicit AND)

Put fields directly in filters. All conditions are ANDed together.

{
  "filters": {
    "source": ["twitter", "linkedin"],
    "sentiment": ["positive"],
    "minXFollowers": 1000
  }
}

source IN (twitter, linkedin) AND sentiment = positive AND followers ≥ 1000

Exclusions

Prefix any array field with! to exclude values:

{
  "filters": {
    "source": ["twitter"],
    "!keyword": [5, 6]
  }
}

source = twitter AND keyword NOT IN (5, 6)

Advanced Mode (AND/OR Groups)

Use operator and groups for complex logic:

{
  "filters": {
    "operator": "AND",
    "groups": [
      {
        "operator": "OR",
        "conditions": [
          { "source": ["twitter"] },
          { "source": ["linkedin"] }
        ]
      },
      {
        "operator": "AND",
        "conditions": [
          { "sentiment": ["positive"] },
          { "!tag": ["spam"] }
        ]
      }
    ]
  }
}

(source = twitter OR source = linkedin) AND (sentiment = positive AND tag ≠ spam)

Available Filter Fields

FieldTypeDescription
sourcestring[]Platforms: twitter, reddit, github, linkedin, youtube, hackernews, devto, stackoverflow, bluesky, newsletter, podcast
sentimentstring[]Values: positive, neutral, negative
keywordstring[]Keyword IDs (get from /keywords endpoint)
languagestring[]ISO 639-1 codes: en, es, fr, de, pt, it, nl, ja, ko, zh
tagstring[]Tag names
bookmarkedbooleanFilter bookmarked (true) or non-bookmarked (false) posts
engagedbooleanFilter engaged (true) or non-engaged (false) posts
minXFollowersnumberMinimum Twitter follower count
maxXFollowersnumberMaximum Twitter follower count
startDatestringISO 8601 format (e.g., "2024-01-15T00:00:00Z")
endDatestringISO 8601 format

Using the Bundled Scripts

This skill includes helper scripts for common operations. Use them to quickly interact with the API:

Fetch Mentions

node scripts/fetch-mentions.js YOUR_API_KEY [limit] [includeAll]

List Keywords

node scripts/list-keywords.js YOUR_API_KEY

List Views

node scripts/list-views.js YOUR_API_KEY

Custom Filter Query

node scripts/query-mentions.js YOUR_API_KEY '{"source": ["twitter"], "sentiment": ["positive"]}' [limit]

Advanced Query

node scripts/advanced-query.js YOUR_API_KEY [limit]

Best Practices

  1. Always ask for the API key before making requests
  2. Use views when possible to leverage pre-configured filters
  3. Start with simple filters and add complexity as needed
  4. Check rate limits in response headers (X-RateLimit-*)
  5. Use pagination with cursor for large result sets
  6. Dates must be ISO 8601 format (e.g., "2024-01-15T00:00:00Z")
  7. Get keyword IDs from /keywords endpoint before filtering by keyword
  8. Use exclusions (!) to filter out unwanted content
  9. Combine includeAll=false with relevance filtering for quality results

Common Use Cases

Find positive Twitter mentions with high followers

{
  "limit": 20,
  "filters": {
    "source": ["twitter"],
    "sentiment": ["positive"],
    "minXFollowers": 1000
  }
}

Exclude spam and get Reddit + GitHub mentions

{
  "limit": 50,
  "filters": {
    "source": ["reddit", "github"],
    "!tag": ["spam", "irrelevant"]
  }
}

Complex query: (Twitter OR LinkedIn) AND positive sentiment, last 7 days

{
  "limit": 30,
  "filters": {
    "operator": "AND",
    "groups": [
      {
        "operator": "OR",
        "conditions": [
          { "source": ["twitter"] },
          { "source": ["linkedin"] }
        ]
      },
      {
        "operator": "AND",
        "conditions": [
          { "sentiment": ["positive"] },
          { "startDate": "2024-01-20T00:00:00Z" }
        ]
      }
    ]
  }
}

Error Handling

StatusErrorDescription
401unauthorizedMissing or invalid API key
403forbiddenValid key but no permission
404not_foundResource (e.g., view ID) not found
429rate_limit_exceededToo many requests
400invalid_requestMalformed request body
500internal_errorServer error, retry later

Step-by-Step Workflow

When a user asks to query Octolens data:

  1. Ask for API key if not already provided
  2. Understand the request: What are they looking for?
  3. Determine filters needed: Source, sentiment, date range, etc.
  4. Check if a view applies: List views first if user mentions saved filters
  5. Build the query: Use simple mode first, advanced mode for complex logic
  6. Execute the request: Use bundled Node.js scripts or fetch API directly
  7. Parse results: Extract key information (author, body, sentiment, source)
  8. Handle pagination: If more results needed, use cursor from response
  9. Present findings: Summarize insights, highlight patterns

Examples

Example 1: Simple Query

User: "Show me positive mentions from Twitter in the last 7 days"

Action (using bundled script):

node scripts/query-mentions.js YOUR_API_KEY '{"source": ["twitter"], "sentiment": ["positive"], "startDate": "2024-01-20T00:00:00Z"}'

Alternative (using fetch API directly):

const response = await fetch('https://app.octolens.com/api/v1/mentions', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    limit: 20,
    filters: {
      source: ['twitter'],
      sentiment: ['positive'],
      startDate: '2024-01-20T00:00:00Z',
    },
  }),
});
const data = await response.json();

Example 2: Advanced Query

User: "Find mentions from Reddit or GitHub, exclude spam tag, with positive or neutral sentiment"

Action (using bundled script):

node scripts/query-mentions.js YOUR_API_KEY '{"operator": "AND", "groups": [{"operator": "OR", "conditions": [{"source": ["reddit"]}, {"source": ["github"]}]}, {"operator": "OR", "conditions": [{"sentiment": ["positive"]}, {"sentiment": ["neutral"]}]}, {"operator": "AND", "conditions": [{"!tag": ["spam"]}]}]}'

Alternative (using fetch API directly):

const response = await fetch('https://app.octolens.com/api/v1/mentions', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    limit: 30,
    filters: {
      operator: 'AND',
      groups: [
        {
          operator: 'OR',
          conditions: [
            { source: ['reddit'] },
            { source: ['github'] },
          ],
        },
        {
          operator: 'OR',
          conditions: [
            { sentiment: ['positive'] },
            { sentiment: ['neutral'] },
          ],
        },
        {
          operator: 'AND',
          conditions: [
            { '!tag': ['spam'] },
          ],
        },
      ],
    },
  }),
});
const data = await response.json();

Example 3: Get Keywords First

User: "Show mentions for our main product keyword"

Actions:

  1. First, list keywords:
node scripts/list-keywords.js YOUR_API_KEY
  1. Then query mentions with the keyword ID:
node scripts/query-mentions.js YOUR_API_KEY '{"keyword": [1]}'

Tips for Agents

  • Use bundled scripts: The Node.js scripts handle JSON parsing automatically
  • Cache keywords: After fetching keywords once, remember them for the session
  • Explain filters: When using complex filters, explain the logic to the user
  • Show examples: When users are unsure, show example filter structures
  • Paginate wisely: Ask if user wants more results before fetching next page
  • Summarize insights: Don't just dump data, provide analysis (sentiment trends, top authors, platform distribution)

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

04

需要参考平台分布和安装热度时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

clawdbot

32.3%
按下载量换算48

Cursor

25.71%
按下载量换算38

Codex

15.91%
按下载量换算24

roo

10.81%
按下载量换算16

Claude Code

4.22%
按下载量换算6

安全审计

暂无安全审计结果可展示。

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills