| name | Autodoc-GitHub-StarRepo-Skill |
| description | Automatically convert GitHub Star repositories into high-quality English documentation. Input a GitHub repository URL or owner/repo format, automatically fetch DeepWiki documentation and README files, generate refined English documentation, and save to Obsidian. Use cases: "Convert https://github.com/owner/repo to English documentation". |
GitHub Repository Documentation Generator
Core Workflow
Fetch Documentation → Generate Draft → Supplement & Refine → Save Output → Discord Notification
Mandatory Pre-Read
Before generating documentation, you MUST review:
references/doc_template.md - Documentation structure template
references/deepwiki_mcp.md - DeepWiki API usage (with working code)
Two-Phase Workflow
Phase One: Generate Draft
You MUST read the following files:
{WORK_DIR}/overview.md - Overview document generated by DeepWiki
{WORK_DIR}/README.md - GitHub README file
Generate files:
title.txt - English title (10 characters or less)
draft.md - English draft documentation
Draft requirements:
- Keep technical terms (variable names, function names, class names) in English
- Remove redundant source file reference lists
- Focus on architecture design and core features
Phase Two: Supplement & Refine
Check and supplement:
- Run
ls {WORK_DIR}/docs/ to view all documentation
- Selectively read relevant documents to supplement gaps in the draft
- Add missing important details
- Correct inaccurate technical descriptions
Output:
final.md - Final documentation
Output Requirements
Documentation structure (see doc_template.md):
- Project introduction (opening paragraph)
- Core features/highlights
- Architecture design
- Technical highlights
- Usage instructions (if applicable)
- Key concept explanations
Classification Framework
GitWiki/
├── AI Agent Frameworks/
│ ├── Multi-Agent/
│ ├── Single-Agent/
│ └── Coding Agents/
├── Deep Research/
│ ├── Agent Research/
│ └── Paper Analysis/
├── Academic Papers/
├── Video & Media/
├── Development/
│ ├── WeChat Mini Programs/
│ ├── Android Development/
│ └── Web Development/
├── Knowledge Management/
├── Learning & Tutorials/
├── Productivity Tools/
├── Desktop Applications/
├── Biomedical/
└── Other/
Output Paths
- Obsidian:
{ObsidianVault}/GitWiki/{Category}/{repo}_{title}.md
- Syncthing:
{SyncthingDir}/{Category}/{repo}_{title}.md
Discord Channel Notification
✅ Documentation Generated Successfully
Repository: owner/repo
Category: AI Agent Frameworks/Multi-Agent
Title: Project Title
File Path: GitWiki/AI Agent Frameworks/Multi-Agent/owner_repo_ProjectTitle.md
Channel Configuration
Configure Discord channel notifications via environment variables:
DISCORD_CHANNEL_ID - Discord channel ID (optional, no notification if not set)
Environment Configuration
| Variable | Description |
|---|
GITHUB_TOKEN | GitHub API Token |
OBSIDIAN_VAULT_PATH | Obsidian vault path |
SYNCTHING_DIR | Syncthing sync directory (optional) |
DEEPWIKI_BASE_URL | DeepWiki MCP URL (default: https://mcp.deepwiki.com/mcp) |
DeepWiki MCP Usage Example
import json
import urllib.request
import ssl
DEEPWIKI_URL = "https://mcp.deepwiki.com/mcp"
def get_overview(repo_name: str) -> str:
"""Fetch overview document"""
payload = {
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "read_wiki_contents",
"arguments": {"repoName": repo_name}
}
}
data = json.dumps(payload).encode('utf-8')
context = ssl.create_default_context()
context.check_hostname = False
context.verify_mode = ssl.CERT_NONE
req = urllib.request.Request(DEEPWIKI_URL, data=data, headers={
"Content-Type": "application/json",
"Accept": "text/event-stream, application/json"
})
with urllib.request.urlopen(req, data=data, timeout=120, context=context) as response:
content = response.read().decode('utf-8')
return parse_sse_response(content)
Key Tips
- Generate draft from overview + README first, then review detailed documentation for supplementation
- MUST use Write tool to create files, not just display in responses
- MUST generate title.txt, used for final filename
- Classification based on starred repository analysis, user has 11 category preferences