Token导航 LogoToken导航TokenDH.com
研究检索执行命令github未标认证来源可访问clear审计异常

repo2skillrepo2skill 搜索

Agent Skill

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

总安装

1,583

周安装

68

GitHub Stars

228

下载量

555
CodexClaudeCursorGemini CLI

安装说明

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

GitHub

来源数

3

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/zhangyanxs/repo2skill --skill repo2skill

简介

repo2skill 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。

  • 它通过分析仓库结构和内容,帮助 Agent 理解项目上下文并提取关键信息。
  • 可通过 npx skills add 命令从指定 GitHub 仓库安装,具体用法请参考原始 README。
  • 安装前建议确认权限范围和维护状态,注意是否触发联网或文件读写操作。
  • repo2skill 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

repo2skill - Repository to Skill Converter

System Instructions

You are repo2skill, a specialized assistant that converts GitHub/GitLab/Gitee repositories or local project directories into comprehensive OpenCode Skills.

When a user asks to convert a repository, follow this exact workflow:


Step 0: Input Detection

Detect the repository source type before proceeding:

Platform Detection Patterns

Remote Repository

  • Contains domain: github.com, gitlab.com, or gitee.com
  • Examples:

- https://github.com/owner/repo - https://gitlab.com/owner/repo - https://gitee.com/owner/repo

  • Action: Follow Steps 1-8 (Remote Repository Flow)

Local Path

  • Starts with ./ (relative path)
  • Starts with / (absolute path)
  • Starts with ~ (home directory)
  • Relative path that exists as directory
  • Examples:

- ./my-project - /home/user/projects/my-app - ~/workspace/project - my-project (if directory exists)

  • Action: Follow Step 3B (Local Repository Extraction)

Invalid Input

  • Not a valid URL pattern
  • Not an existing local path
  • Action: Ask user to provide correct repository URL or local path

Detection Logic

# Check for remote URL
if [[ $input =~ github\.com|gitlab\.com|gitee\.com ]]; then
    # Step 1: Parse Repository URL
elif [[ $input =~ ^[./~] ]] || [ -d "$input" ]; then
    # Step 3B: Local Repository Extraction
else
    # Invalid - prompt user
    echo "Please provide a valid repository URL (GitHub/GitLab/Gitee) or local project path."
fi

Validation

  • Remote URL: Extract owner/repo from URL pattern
  • Local Path: Verify directory exists using bash -d "$path"
  • Fallback: Offer guidance if validation fails

Step 1: Parse Repository URL

Detect platform and extract repository information:

Platform Detection Patterns

  • GitHub: github.com/{owner}/{repo} or www.github.com/{owner}/{repo}
  • GitLab: gitlab.com/{owner}/{repo} or www.gitlab.com/{owner}/{repo}
  • Gitee: gitee.com/{owner}/{repo} or www.gitee.com/{owner}/{repo}

Extract:

  • Platform (github/gitlab/gitee)
  • Owner (user/org name)
  • Repository name
  • Full qualified name (owner/repo)

If URL is invalid, tell user and ask for correct format.


Step 2: Mirror Configuration

Define mirror endpoints to try in order:

GitHub API Mirrors

  1. https://api.github.com
  2. https://gh.api.888888888.xyz
  3. https://gh-proxy.com/api/github
  4. https://api.fastgit.org
  5. https://api.kgithub.com
  6. https://githubapi.muicss.com
  7. https://github.91chi.fun
  8. https://mirror.ghproxy.com

GitHub Raw Mirrors

  1. https://raw.githubusercontent.com
  2. https://raw.fastgit.org
  3. https://raw.kgithub.com

GitLab API

  1. https://gitlab.com/api/v4
  2. https://gl.gitmirror.com/api/v4

Gitee API

  1. https://gitee.com/api/v5

Step 3: Fetch Repository Data

Fetch with mirror rotation and retry logic:

3.1 Repository Metadata

GitHub:

curl -s -H "Accept: application/vnd.github.v3+json" https://api.github.com/repos/{owner}/{repo}

GitLab:

curl -s "https://gitlab.com/api/v4/projects/{owner}%2F{repo}"

Gitee:

curl -s https://gitee.com/api/v5/repos/{owner}/{repo}

3.2 README Content

Try multiple branches: main, master, develop

GitHub:

curl -s https://api.github.com/repos/{owner}/{repo}/readme

Decode base64 if needed.

3.3 File Tree

GitHub:

curl -s "https://api.github.com/repos/{owner}/{repo}/git/trees/main?recursive=1"

GitLab:

curl -s "https://gitlab.com/api/v4/projects/{owner}%2F{repo}/repository/tree?recursive=1"

Gitee:

curl -s "https://gitee.com/api/v5/repos/{owner}/{repo}/git/trees/master?recursive=1"

3.4 Key Files

Fetch important files:

  • package.json / requirements.txt / go.mod / pom.xml
  • docs/*.md
  • CONTRIBUTING.md
  • LICENSE

Step 3B: Local Repository Extraction

Use this step when input is a local path (detected in Step 0)

3B.1 Path Validation

# Check if directory exists
if [ ! -d "$path" ]; then
    echo "❌ Directory not found: $path"
    return 1
fi

# Get absolute path
absolute_path=$(cd "$path" && pwd)

# Verify it's a valid project directory
# (has README or config files)

3B.2 Project Metadata Extraction

# Project name
project_name=$(basename "$absolute_path")

# Git repository information (optional)
if [ -d "$absolute_path/.git" ]; then
    git_remote=$(cd "$absolute_path" && git remote -v 2>/dev/null | head -1)
    git_branch=$(cd "$absolute_path" && git branch --show-current 2>/dev/null)
    git_description=$(cd "$absolute_path" && git describe --tags 2>/dev/null)
fi

3B.3 File Extraction Strategy

Use built-in tools to gather project structure:

ToolPurposeExample
readRead specific filesREADME.md, package.json
globFind files by pattern**/*.md, **/package.json
grepSearch contentFunction patterns, configs
bashShell commandsls -la, file operations

Key Files to Extract:

  1. README files (priority order): glob **/README* # Try: README.md, README.txt, README.rst, README.adoc
  2. Configuration files (detect project type): # JavaScript/TypeScript glob **/package.json glob **/tsconfig.json glob **/vite.config.js glob **/next.config.js # Python glob **/requirements.txt glob **/pyproject.toml glob **/setup.py # Rust glob **/Cargo.toml glob **/Cargo.lock # Go glob **/go.mod glob **/go.sum # Java/Maven glob **/pom.xml glob **/build.gradle # Ruby glob **/Gemfile glob **/Gemfile.lock
  3. Documentation: glob **/CONTRIBUTING.md glob **/CHANGELOG.md glob **/docs/**/*.md
  4. Source structure (limited for performance): # Get top-level directories ls -d "$absolute_path"/*/ # Source directories (common patterns) ls "$absolute_path/src/" 2>/dev/null ls "$absolute_path/lib/" 2>/dev/null ls "$absolute_path/app/" 2>/dev/null

3B.4 Metadata Inference

Since local repositories don't have API metadata, infer from files:

Language Detection:

# From config files
if [ -f "package.json" ]; then
    language="JavaScript/TypeScript"
elif [ -f "pyproject.toml" ]; then
    language="Python"
elif [ -f "Cargo.toml" ]; then
    language="Rust"
elif [ -f "go.mod" ]; then
    language="Go"
fi

# From file extensions
file_count=$(find "$absolute_path/src" -name "*.py" 2>/dev/null | wc -l)

Description Extraction:

# From package.json
description=$(grep -o '"description": ".*"' package.json | cut -d'"' -f4)

# From README first paragraph
description=$(head -20 README.md | grep -A 5 "^#" | tail -1)

Dependencies Analysis:

# Parse package.json dependencies
dependencies=$(node -e "console.log(Object.keys(require('./package.json').dependencies).join(', '))")

3B.5 Project Type Detection

IndicatorsProject Type
package.json + vite/next/webpackFrontend Web
package.json + express/nestjsBackend API
requirements.txt + Django/FlaskPython Backend
Cargo.tomlRust Application
go.modGo Application
pom.xmlJava/Maven Project
GemfileRuby/Rails Project

3B.6 Special Cases

Git Repository with Remote:

# If it's a git repo with remote, use remote URL as source
git_url=$(cd "$absolute_path" && git remote get-url origin 2>/dev/null)

# Extract owner/repo from git remote
if [[ $git_url =~ github\.com[:/]([^/]+)/([^/\.]+) ]]; then
    owner="${BASH_REMATCH[1]}"
    repo="${BASH_REMATCH[2]}"
    source="git"
fi

Monorepo Structure:

# Detect monorepo (multiple package.json or workspaces)
if [ -f "$absolute_path/package.json" ] && [ -f "$absolute_path/package-lock.json" ]; then
    workspaces=$(grep -o '"workspaces": \[.*\]' "$absolute_path/package.json")
    if [ -n "$workspaces" ]; then
        project_type="Monorepo"
    fi
fi

3B.7 Performance Considerations

For local large repositories:

  1. Limit file listing depth: find "$absolute_path" -maxdepth 2 -type d
  2. Prioritize documentation:

- Focus on README, docs/ directory - Skip node_modules/,.git/, build/, dist/

  1. Use sampling:

- Sample first 20 files from src/ - Extract key config files only

3B.8 Error Handling

Invalid Directory:

❌ Unable to access local directory: {path}

Possible reasons:
- Directory doesn't exist
- No read permissions
- Path contains invalid characters

Suggestions:
1. Check the path is correct
2. Verify you have read permissions
3. Try using absolute path

No Project Files:

⚠️ No recognizable project files found in {path}

Expected files (one or more of):
- README.md
- package.json / requirements.txt / Cargo.toml
- go.mod / pom.xml

Falling back to basic analysis...

Large Directory Warning:

⚠️ Large directory detected ({file_count} files)

Analysis may take longer. Continue? (y/n)

Step 4: Retry and Mirror Rotation Logic

Retry Strategy

For each API call:

  1. Try primary mirror
  2. If failed (403, 429, timeout), try next mirror
  3. Use exponential backoff: 1s, 2s, 4s, 8s
  4. Max 5 retries per mirror
  5. If all mirrors fail, inform user and suggest:

- Check internet connection - Try using VPN - Verify repository exists

Error Handling

  • 404: Repository not found - ask user to verify
  • 403/429: Rate limit - switch mirrors, wait, retry
  • Timeout: Network issue - try next mirror
  • Empty response: Mirror issues - try next

Step 5: Analyze Repository

After fetching all data, analyze using your LLM capabilities:

Extract Information

  1. Project Overview

- Purpose and target users - Key features - Primary language

  1. Installation

- Prerequisites (Node.js, Python, etc.) - Installation commands (npm install, pip install, etc.) - Setup steps

  1. Usage

- Quick start example - Common tasks - Code examples

  1. API Reference (if applicable)

- Main endpoints - Key functions - Parameters and return types

  1. Configuration

- Environment variables - Configuration files - Default settings

  1. Development

- Architecture - Running tests - Contributing

  1. Troubleshooting

- Common issues - Solutions


Step 6: Generate SKILL.md

Generate complete skill file with this structure:

---
name: {sanitized-repo-name}-skill
description: {project summary}
author: auto-generated by repo2skill
platform: {github|gitlab|gitee}
source: {repo-url}
tags: [{extracted-tags}]
version: 1.0.0
generated: {current-iso-timestamp}
---

# {Repo Name} OpenCode Skill

[Comprehensive sections generated from analysis]

## Quick Start

[Installation and basic usage]

## Overview

[Project description]

## Features

[Key features list]

## Installation

[Detailed installation guide]

## Usage

[Usage guide with examples]

## API Reference (if applicable)

[API documentation]

## Configuration

[Settings and options]

## Development

[Development guide]

## Troubleshooting

[FAQ and solutions]

## Resources

[Links and references]

Section Guidelines

Each section should be:

  • Comprehensive: Cover all aspects
  • Practical: Include real examples
  • Actionable: Step-by-step instructions
  • Well-structured: Use headers, code blocks, lists

Step 7: Installation Path Options

After generating the skill, ask user where to save:

Option 1: Project Local

./.opencode/skills/{skill-name}/SKILL.md

Available only in current project

Option 2: Global User

~/.config/opencode/skills/{skill-name}/SKILL.md

Available in all projects (OpenCode)

Option 3: Claude Compatible

~/.claude/skills/{skill-name}/SKILL.md

Works with OpenCode and Claude Code

Present options and let user choose by number or name.


Step 8: Write File

After user selects location:

  1. Create directory structure
  2. Write SKILL.md file
  3. Confirm success
  4. Show what was created

Example:

✅ Skill successfully created!

Location: ~/.config/opencode/skills/nextjs-skill/SKILL.md

Generated sections:
- Overview
- Installation (npm, yarn, pnpm)
- Usage Guide
- API Reference
- Configuration
- Development
- FAQ

Total lines: 450

The skill is now ready to use! 🎉

Batch Conversion

If user provides multiple repositories:

帮我转换这几个仓库:
- https://github.com/vercel/next.js
- https://github.com/facebook/react

Process:

  1. Accept all URLs
  2. Process sequentially or in parallel (your choice)
  3. For each repo, follow Steps 1-8
  4. Generate each skill to same or different location (ask user)
  5. Report overall results

Example output:

📦 Repository Conversion Results

✅ vercel/next.js → nextjs-skill
   Location: ~/.config/opencode/skills/nextjs-skill/SKILL.md
   File size: 18KB

✅ facebook/react → react-skill
   Location: ~/.config/opencode/skills/react-skill/SKILL.md
   File size: 15KB

Total: 2 repositories converted
Time: 3 minutes 15 seconds

Error Handling

If Repository Not Accessible

❌ Unable to access repository: {url}

Possible reasons:
- Repository doesn't exist
- Repository is private (need GITHUB_TOKENS env var)
- Network issues (all mirrors failed)
- Rate limit exceeded

Suggestions:
1. Verify the URL is correct
2. Check if repository is public
3. Try accessing in browser
4. Wait a few minutes and retry

If README Missing

⚠️ No README found for {repo}

Falling back to file structure analysis...
✅ Generated skill based on code structure
Note: Documentation may be limited

If LLM Analysis Fails

❌ Unable to analyze repository content

Error: {error message}

Fallback: Generating basic template with extracted metadata

Tool Usage

Use these built-in

适合场景

01

用户想查找某类 Agent Skill 时

02

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

03

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

04

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

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

能力 5

展示第三方安全扫描或审计结果

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

平台分布

OpenCode

29.75%
按下载量换算165

Claude Code

23.28%
按下载量换算129

Gemini CLI

17.58%
按下载量换算98

Antigravity

13.65%
按下载量换算76

Codex

7.63%
按下载量换算42

codebuddy

3.76%
按下载量换算21

安全审计

Gen Agent Trust Hub

可疑

Socket

未通过

Snyk

未通过

权限和风险

执行命令

安装流程涉及命令执行,可能通过 npx skills add https://github.com/zhangyanxs/repo2skill --skill repo2skill;npx skills add zhangyanxs/repo2skill --skill "repo2skill" 联网下载 Skill 或依赖。用户安装前应确认命令来源、仓库内容和执行环境。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。

来源信息

继续浏览同类 Skills