Skynet Score
Use {skillDir}/scripts/skynet_score.py to inspect project score search results with the CertiK public project API.
Use this skill when the user wants to look up a blockchain project's CertiK Skynet score or needs help integrating the public project score API.
When to use this skill
- - Search projects by keyword or approximate project name
- Return a project's overall score, tier, and last update time
- Explain the score breakdown fields
- Show how to query the public endpoint from code or INLINECODE1
Workflow
- 1. Extract the project keyword from the user request.
- Prefer the bundled Python script for execution.
- If Python is unavailable, use the documented
curl fallback. - If multiple projects match, list the best candidates instead of guessing.
- When a clear match exists, summarize:
- project name
- overall Skynet score
- tier
- last updated time
- score breakdown fields that matter to the user's question
- 6. If the user asks for implementation details, provide a minimal request example and note rate limits.
Execution
Prefer Python first:
CODEBLOCK0
If Python is unavailable, use curl:
CODEBLOCK1
Output guidance
- - Do not invent a score when no project match is returned.
- If there are several close matches, ask the user to confirm which project they mean.
- When explaining the result, keep the overall score first and the component scores second.
- If the user asks for raw payloads or integration help, include the response shape below.
Public API
- - Base URL: INLINECODE4
- Endpoint: INLINECODE5
- Query parameter:
keyword (required)
Example:
CODEBLOCK2
Important score fields:
- -
score: overall Skynet score - INLINECODE8 : code security score
- INLINECODE9 : community score
- INLINECODE10 : fundamentals score
- INLINECODE11 : governance score
- INLINECODE12 : market score
- INLINECODE13 : operations score
- INLINECODE14 : score tier
- INLINECODE15 : last update time
Limits and errors
- - Rate limit: 50 requests per 60-second window per IP
- Headers:
-
X-RateLimit-Limit
-
X-RateLimit-Remaining
-
X-RateLimit-Reset
-
Retry-After on INLINECODE20
Error payload:
CODEBLOCK3
Common status codes:
- -
400: missing or invalid parameters - INLINECODE22 : rate limit exceeded
- INLINECODE23 : server-side failure
Skynet 评分
使用 {skillDir}/scripts/skynet_score.py 通过 CertiK 公共项目 API 检查项目评分搜索结果。
当用户想要查询区块链项目的 CertiK Skynet 评分或需要帮助集成公共项目评分 API 时,使用此技能。
何时使用此技能
- - 通过关键词或近似项目名称搜索项目
- 返回项目的总体评分、等级和最后更新时间
- 解释评分细分字段
- 展示如何从代码或 curl 查询公共端点
工作流程
- 1. 从用户请求中提取项目关键词。
- 优先使用捆绑的 Python 脚本执行。
- 如果 Python 不可用,使用文档中记录的 curl 备用方案。
- 如果匹配到多个项目,列出最佳候选项目而非猜测。
- 当存在明确匹配时,总结:
- 项目名称
- 总体 Skynet 评分
- 等级
- 最后更新时间
- 与用户问题相关的评分细分字段
- 6. 如果用户询问实现细节,提供最小请求示例并注明速率限制。
执行
优先使用 Python:
bash
python3 scripts/skynet_score.py --keyword uniswap
如果 Python 不可用,使用 curl:
bash
curl -sG https://open.api.certik.com/projects \
-H Accept: application/json, text/plain, / \
--data-urlencode keyword=uniswap
输出指南
- - 当没有返回项目匹配时,不要虚构评分。
- 如果有多个接近的匹配,请用户确认他们指的是哪个项目。
- 解释结果时,先展示总体评分,再展示各组件评分。
- 如果用户询问原始数据或集成帮助,请包含下面的响应格式。
公共 API
- - 基础 URL:https://open.api.certik.com
- 端点:GET /projects
- 查询参数:keyword(必需)
示例:
bash
curl -sG https://open.api.certik.com/projects \
-H Accept: application/json, text/plain, / \
--data-urlencode keyword=uniswap
重要评分字段:
- - score:总体 Skynet 评分
- scoreCodeSecurity:代码安全评分
- scoreCommunity:社区评分
- scoreFundamental:基本面评分
- scoreGovernance:治理评分
- scoreMarket:市场评分
- scoreOperation:运营评分
- tier:评分等级
- updatedAt:最后更新时间
限制与错误
- - 速率限制:每个 IP 每 60 秒窗口 50 次请求
- 请求头:
- X-RateLimit-Limit
- X-RateLimit-Remaining
- X-RateLimit-Reset
- Retry-After(在 429 响应中)
错误响应:
json
{
error: 人类可读的错误消息
}
常见状态码:
- - 400:缺少或无效参数
- 429:超出速率限制
- 500:服务器端故障