GitHub Repository Reader
Analyze repository internals and produce professional project pages suitable for hiring packets, portfolio sites, and technical reviews.
Output Contract
Create one separate deliverable per project.
Enforce the page limit:
- Maximum 1 page per project for PDF-oriented output.
- For Markdown and HTML, keep the content equivalent to a one-page brief.
Always include:
- Project title and one-line value statement.
- Prominent repository URL.
- Core tech stack (language, framework, tooling).
- 3 to 5 key capabilities.
- 2 to 3 code snippets (10 to 20 lines each, with short commentary).
- Architecture summary.
- Metrics (stars, forks, contributors, activity, tests, or other measurable evidence).
Execution Workflow
1. Confirm input and target
Collect:
- GitHub URL(s).
- Target output format:
pdf, markdown, or html.
- Audience: hiring manager, technical interviewer, engineering peer, or general audience.
If user does not specify format, default to markdown.
2. Discover MCP capabilities
Inspect the github-repo-reader MCP server and map available operations.
Prefer these capabilities when available:
- Repository metadata retrieval.
- File tree listing.
- README retrieval.
- File content read.
- Optional code search.
If exact method names differ, map semantically and continue.
If MCP access is unavailable:
- State the limitation.
- Continue with any locally available repository snapshot, if provided.
3. Collect repository evidence
Gather:
- Name, description, owner, default branch.
- Primary language and language distribution.
- Stars, forks, watchers, open issues, contributors count (if available).
- Last updated timestamp.
- README content.
- Root file tree.
Store links for:
- Repository home.
- Core files used for analysis.
4. Classify project and architecture
Infer project type:
- Web app, API service, CLI, library/framework, data/ML pipeline, infra/tooling, or mixed.
Infer architecture style:
- Layered, MVC, modular monolith, event-driven, microservice, plugin-based, pipeline, or library-centric.
Read analyzers/language-detector.md for language and ecosystem hints.
Read analyzers/pattern-recognizer.md for architecture and design pattern evidence.
5. Prioritize files for deep reading
Read in this order unless repo shape requires adjustment:
README.md
- Dependency manifests (
package.json, requirements.txt, pyproject.toml, go.mod, Cargo.toml, etc.)
- Entrypoints (
main.*, index.*, CLI command entry files)
- Core source directories (
src/, lib/, cmd/, app/)
- Test files and test configuration
- CI/CD and quality configs (
.github/workflows/, lint/format/test configs)
- Docs (
docs/, design notes, ADRs)
Select only the highest-signal files when repositories are large.
Depth policy:
- If repository has 200 files or fewer, perform full file-by-file traversal.
- If repository has more than 200 files, perform high-signal traversal first, then continue package-by-package until confidence is sufficient.
- If user explicitly asks for exhaustive review, continue traversal across all files and clearly mark longer runtime.
6. Evaluate engineering quality
Use analyzers/quality-metrics.md and score:
- Documentation quality.
- Test evidence.
- Code organization and modularity.
- Reliability practices (validation, error handling, retries, logging).
- Operational readiness (CI/CD, tooling, observability hints).
Report both strengths and concrete gaps.
7. Extract code highlights
Choose snippets that prove practical engineering skill:
- Non-trivial logic, algorithmic clarity, or data-structure usage.
- Robust error handling and boundary checks.
- Extensibility or clean abstraction.
- Performance-conscious implementation.
Snippet rules:
- 10 to 20 lines each.
- Maximum 3 snippets.
- Add 1 to 2 sentence explanation for each snippet.
- Include direct link to original file.
8. Generate deliverable
Use templates in templates/:
templates/pdf-template.md for PDF-ready content.
templates/markdown-template.md for editable documentation.
templates/html-template.html for one-page web showcase.
Keep content dense and specific. Avoid generic claims.
9. Validate before finalizing
Check each project output against this checklist:
- Exactly one project per page/document.
- Repository link visible near title.
- Technical stack identified with evidence.
- At least 2 real code snippets.
- Architecture and key decisions explained.
- Measurable metrics included.
- Claims traceable to files/metadata.
Multi-Project Mode
When user provides multiple repositories:
- Analyze each repository independently.
- Produce one output per repository.
- Keep consistent section order for comparability.
- Do not merge multiple projects into a single page unless user explicitly asks.
Error Handling
If repository is private or inaccessible:
- Report access failure clearly.
- Ask for token-enabled access or exported repository snapshot.
If README is missing:
- Infer purpose from source tree and entrypoints.
- State confidence level.
If repository is too large:
- Sample critical files first.
- Note that analysis is based on high-signal subset.
If project is multi-language:
- Identify primary language by source and manifests.
- Label secondary languages and their role.
Collaboration With Other Skills
When available:
- Use
docx skill to produce Word output before PDF conversion.
- Use
pdf skill to convert final layout to PDF.
- Use frontend design skills to refine advanced HTML showcase pages.
Use this skill first for technical extraction and evidence gathering, then hand off formatted content.
1---2name: github-repo-reader3description: Deeply analyze GitHub repositories with a github-repo-reader MCP server and generate one-page project presentation documents (PDF-ready Markdown, Markdown, or HTML) with repository links, architecture summaries, code snippets, technical highlights, and engineering-quality evidence. Use when users ask to analyze a GitHub URL, extract technical highlights from a repository, build project portfolio entries, or present practical programming experience from source code.4---56# GitHub Repository Reader78Analyze repository internals and produce professional project pages suitable for hiring packets, portfolio sites, and technical reviews.910## Output Contract1112Create one separate deliverable per project.1314Enforce the page limit:15- Maximum 1 page per project for PDF-oriented output.16- For Markdown and HTML, keep the content equivalent to a one-page brief.1718Always include:19- Project title and one-line value statement.20- Prominent repository URL.21- Core tech stack (language, framework, tooling).22- 3 to 5 key capabilities.23- 2 to 3 code snippets (10 to 20 lines each, with short commentary).24- Architecture summary.25- Metrics (stars, forks, contributors, activity, tests, or other measurable evidence).2627## Execution Workflow2829### 1. Confirm input and target3031Collect:32- GitHub URL(s).33- Target output format: `pdf`, `markdown`, or `html`.34- Audience: hiring manager, technical interviewer, engineering peer, or general audience.3536If user does not specify format, default to `markdown`.3738### 2. Discover MCP capabilities3940Inspect the `github-repo-reader` MCP server and map available operations.4142Prefer these capabilities when available:43- Repository metadata retrieval.44- File tree listing.45- README retrieval.46- File content read.47- Optional code search.4849If exact method names differ, map semantically and continue.5051If MCP access is unavailable:52- State the limitation.53- Continue with any locally available repository snapshot, if provided.5455### 3. Collect repository evidence5657Gather:58- Name, description, owner, default branch.59- Primary language and language distribution.60- Stars, forks, watchers, open issues, contributors count (if available).61- Last updated timestamp.62- README content.63- Root file tree.6465Store links for:66- Repository home.67- Core files used for analysis.6869### 4. Classify project and architecture7071Infer project type:72- Web app, API service, CLI, library/framework, data/ML pipeline, infra/tooling, or mixed.7374Infer architecture style:75- Layered, MVC, modular monolith, event-driven, microservice, plugin-based, pipeline, or library-centric.7677Read `analyzers/language-detector.md` for language and ecosystem hints.78Read `analyzers/pattern-recognizer.md` for architecture and design pattern evidence.7980### 5. Prioritize files for deep reading8182Read in this order unless repo shape requires adjustment:831. `README.md`842. Dependency manifests (`package.json`, `requirements.txt`, `pyproject.toml`, `go.mod`, `Cargo.toml`, etc.)853. Entrypoints (`main.*`, `index.*`, CLI command entry files)864. Core source directories (`src/`, `lib/`, `cmd/`, `app/`)875. Test files and test configuration886. CI/CD and quality configs (`.github/workflows/`, lint/format/test configs)897. Docs (`docs/`, design notes, ADRs)9091Select only the highest-signal files when repositories are large.9293Depth policy:94- If repository has 200 files or fewer, perform full file-by-file traversal.95- If repository has more than 200 files, perform high-signal traversal first, then continue package-by-package until confidence is sufficient.96- If user explicitly asks for exhaustive review, continue traversal across all files and clearly mark longer runtime.9798### 6. Evaluate engineering quality99100Use `analyzers/quality-metrics.md` and score:101- Documentation quality.102- Test evidence.103- Code organization and modularity.104- Reliability practices (validation, error handling, retries, logging).105- Operational readiness (CI/CD, tooling, observability hints).106107Report both strengths and concrete gaps.108109### 7. Extract code highlights110111Choose snippets that prove practical engineering skill:112- Non-trivial logic, algorithmic clarity, or data-structure usage.113- Robust error handling and boundary checks.114- Extensibility or clean abstraction.115- Performance-conscious implementation.116117Snippet rules:118- 10 to 20 lines each.119- Maximum 3 snippets.120- Add 1 to 2 sentence explanation for each snippet.121- Include direct link to original file.122123### 8. Generate deliverable124125Use templates in `templates/`:126- `templates/pdf-template.md` for PDF-ready content.127- `templates/markdown-template.md` for editable documentation.128- `templates/html-template.html` for one-page web showcase.129130Keep content dense and specific. Avoid generic claims.131132### 9. Validate before finalizing133134Check each project output against this checklist:135- Exactly one project per page/document.136- Repository link visible near title.137- Technical stack identified with evidence.138- At least 2 real code snippets.139- Architecture and key decisions explained.140- Measurable metrics included.141- Claims traceable to files/metadata.142143## Multi-Project Mode144145When user provides multiple repositories:146- Analyze each repository independently.147- Produce one output per repository.148- Keep consistent section order for comparability.149- Do not merge multiple projects into a single page unless user explicitly asks.150151## Error Handling152153If repository is private or inaccessible:154- Report access failure clearly.155- Ask for token-enabled access or exported repository snapshot.156157If README is missing:158- Infer purpose from source tree and entrypoints.159- State confidence level.160161If repository is too large:162- Sample critical files first.163- Note that analysis is based on high-signal subset.164165If project is multi-language:166- Identify primary language by source and manifests.167- Label secondary languages and their role.168169## Collaboration With Other Skills170171When available:172- Use `docx` skill to produce Word output before PDF conversion.173- Use `pdf` skill to convert final layout to PDF.174- Use frontend design skills to refine advanced HTML showcase pages.175176Use this skill first for technical extraction and evidence gathering, then hand off formatted content.