GitHub Issue Summary
ascend-ai-coding/awesome-ascend-skills
Analyze closed GitHub issues to create troubleshooting case studies with root cause analysis and lessons learned.
Research and extract an engineer's coding style, patterns, and best practices from their GitHub contributions.
$ npx skills add jamesrochabrun/skills --skill engineer-expertise-extractor -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install jamesrochabrun/skills engineer-expertise-extractor --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/jamesrochabrun/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/engineer-expertise-extractor .claude/skills/engineer-expertise-extractor && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "engineer-expertise-extractor" agent skill from https://github.com/jamesrochabrun/skills/tree/main/skills/engineer-expertise-extractor into .claude/skills/engineer-expertise-extractor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "engineer-expertise-extractor", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/jamesrochabrun/skills/tree/main/skills/engineer-expertise-extractorType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add jamesrochabrun/skills --skill engineer-expertise-extractor -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install jamesrochabrun/skills engineer-expertise-extractor --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jamesrochabrun/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/engineer-expertise-extractor .agents/skills/engineer-expertise-extractor && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "engineer-expertise-extractor" agent skill from https://github.com/jamesrochabrun/skills/tree/main/skills/engineer-expertise-extractor into .agents/skills/engineer-expertise-extractor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "engineer-expertise-extractor", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jamesrochabrun/skills --skill engineer-expertise-extractor -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install jamesrochabrun/skills engineer-expertise-extractor --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jamesrochabrun/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/engineer-expertise-extractor .cursor/skills/engineer-expertise-extractor && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "engineer-expertise-extractor" agent skill from https://github.com/jamesrochabrun/skills/tree/main/skills/engineer-expertise-extractor into .cursor/skills/engineer-expertise-extractor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "engineer-expertise-extractor", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/jamesrochabrun/skills.git --path skills/engineer-expertise-extractor--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add jamesrochabrun/skills --skill engineer-expertise-extractor -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install jamesrochabrun/skills engineer-expertise-extractor --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jamesrochabrun/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/engineer-expertise-extractor .gemini/skills/engineer-expertise-extractor && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "engineer-expertise-extractor" agent skill from https://github.com/jamesrochabrun/skills/tree/main/skills/engineer-expertise-extractor into .gemini/skills/engineer-expertise-extractor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "engineer-expertise-extractor", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install jamesrochabrun/skills engineer-expertise-extractorInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add jamesrochabrun/skills --skill engineer-expertise-extractor -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/jamesrochabrun/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/engineer-expertise-extractor .github/skills/engineer-expertise-extractor && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "engineer-expertise-extractor" agent skill from https://github.com/jamesrochabrun/skills/tree/main/skills/engineer-expertise-extractor into .github/skills/engineer-expertise-extractor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "engineer-expertise-extractor", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jamesrochabrun/skills --skill engineer-expertise-extractor -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install jamesrochabrun/skills engineer-expertise-extractor --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jamesrochabrun/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/engineer-expertise-extractor .opencode/skills/engineer-expertise-extractor && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "engineer-expertise-extractor" agent skill from https://github.com/jamesrochabrun/skills/tree/main/skills/engineer-expertise-extractor into .opencode/skills/engineer-expertise-extractor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "engineer-expertise-extractor", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
engineer-expertise-extractorResearch and extract an engineer's coding style, patterns, and best practices from their GitHub contributions.
Engineer Expertise Extractor is an agent skill from jamesrochabrun/skills. Research and extract an engineer's coding style, patterns, and best practices from their GitHub contributions. Creates structured knowledge base for replicating their expertise.
Its SKILL.md is about 3.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including scripts (for example `scripts/extract_engineer.sh`).
It sits in Development, covering Knowledge bases. It works with GitHub. The licence is MIT.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 2482c17. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (Shell), which the agent can run.
Shell commands in SKILL.md call:
ghFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use gh, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Engineer Expertise Extractor loads about 3.8k tokens when it runs. Until then it costs about 52 tokens; SKILL.md has 898 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from jamesrochabrun/skills at commit 2482c17, republished under its MIT licence (© jamesrochabrun). 898 words, ~3,775 tokens.
.claude/skills/engineer-expertise-extractor/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Extract and document an engineer's coding expertise by analyzing their GitHub contributions, creating a structured knowledge base that captures their coding style, patterns, best practices, and architectural decisions.
Researches an engineer's work to create a "digital mentor" by:
Knowledge Preservation:
Consistency:
Learning:
Using GitHub CLI (gh), the skill:
Categorizes findings into:
Creates structured folders:
engineer_profiles/
└── [engineer_name]/
├── README.md (overview)
├── coding_style/
│ ├── languages/
│ ├── naming_conventions.md
│ ├── code_structure.md
│ └── formatting_preferences.md
├── patterns/
│ ├── common_solutions.md
│ ├── design_patterns.md
│ └── code_examples/
├── best_practices/
│ ├── code_quality.md
│ ├── testing_approach.md
│ ├── performance.md
│ └── security.md
├── architecture/
│ ├── design_decisions.md
│ ├── tech_choices.md
│ └── trade_offs.md
├── code_review/
│ ├── feedback_style.md
│ ├── common_suggestions.md
│ └── review_examples.md
└── examples/
├── by_language/
├── by_pattern/
└── notable_prs/Contains:
Captures:
Example:
# Coding Style: [Engineer Name]
## Naming Conventions
### Variables
- Use descriptive names: `userAuthentication` not `ua`
- Boolean variables: `isActive`, `hasPermission`, `canEdit`
- Collections: plural names `users`, `items`, `transactions`
### Functions
- Verb-first: `getUserById`, `validateInput`, `calculateTotal`
- Pure functions preferred
- Single responsibility
### Classes
- PascalCase: `UserService`, `PaymentProcessor`
- Interface prefix: `IUserRepository`
- Concrete implementations: `MongoUserRepository`
## Code Structure
### File Organization
- One class per file
- Related functions grouped together
- Tests alongside implementation
- Clear separation of concerns
### Function Length
- Max 20-30 lines preferred
- Extract helper functions
- Single level of abstractionCaptures:
Example:
# Common Patterns: [Engineer Name]
## Dependency Injection
Used consistently across services:
\`\`\`typescript
// Pattern: Constructor injection
class UserService {
constructor(
private readonly userRepo: IUserRepository,
private readonly logger: ILogger
) {}
}
\`\`\`
**Why:** Testability, loose coupling, clear dependencies
## Error Handling
Consistent error handling approach:
\`\`\`typescript
// Pattern: Custom error types + global handler
class ValidationError extends Error {
constructor(message: string) {
super(message);
this.name = 'ValidationError';
}
}
// Usage
if (!isValid(input)) {
throw new ValidationError('Invalid input format');
}
\`\`\`
**Why:** Type-safe errors, centralized handling, clear debuggingCaptures:
Example:
# Best Practices: [Engineer Name]
## Testing
### Unit Test Structure
- AAA pattern (Arrange, Act, Assert)
- One assertion per test preferred
- Test names describe behavior
- Mock external dependencies
\`\`\`typescript
describe('UserService', () => {
describe('createUser', () => {
it('should create user with valid data', async () => {
// Arrange
const userData = { email: 'test@example.com', name: 'Test' };
const mockRepo = createMockRepository();
// Act
const result = await userService.createUser(userData);
// Assert
expect(result.id).toBeDefined();
expect(result.email).toBe(userData.email);
});
});
});
\`\`\`
### Test Coverage
- Aim for 80%+ coverage
- 100% coverage for critical paths
- Integration tests for APIs
- E2E tests for user flows
## Code Review Standards
### What to Check
- [ ] Tests included and passing
- [ ] No console.logs remaining
- [ ] Error handling present
- [ ] Comments explain "why" not "what"
- [ ] No hardcoded values
- [ ] Security considerations addressedCaptures:
Example:
# Architectural Decisions: [Engineer Name]
## Decision: Microservices vs Monolith
**Context:** Scaling user service
**Decision:** Start monolith, extract services when needed
**Reasoning:**
- Team size: 5 engineers
- Product stage: MVP
- Premature optimization risk
- Easier debugging and deployment
**Trade-offs:**
- Monolith pros: Simpler, faster development
- Monolith cons: Harder to scale later
- Decision: Optimize for current needs, refactor when hitting limits
## Decision: REST vs GraphQL
**Context:** API design for mobile app
**Decision:** REST with versioning
**Reasoning:**
- Team familiar with REST
- Simple use cases
- Caching easier
- Over-fetching not a problem yet
**When to reconsider:** If frontend needs complex queriesCaptures:
Example:
# Code Review Style: [Engineer Name]
## Review Approach
### Priority Order
1. Security vulnerabilities
2. Logic errors
3. Test coverage
4. Code structure
5. Naming and style
### Feedback Style
- Specific and constructive
- Explains "why" behind suggestions
- Provides examples
- Asks questions to understand reasoning
### Common Suggestions
**Security:**
- "Consider input validation here"
- "This query is vulnerable to SQL injection"
- "Should we rate-limit this endpoint?"
**Performance:**
- "This N+1 query could be optimized with a join"
- "Consider caching this expensive operation"
- "Memoize this pure function"
**Testing:**
- "Can we add a test for the error case?"
- "What happens if the API returns null?"
- "Let's test the boundary conditions"
**Code Quality:**
- "Can we extract this into a helper function?"
- "This function is doing too many things"
- "Consider a more descriptive variable name"./scripts/extract_engineer.sh [github-username]Interactive workflow:
Output: Structured profile in engineer_profiles/[username]/
./scripts/analyze_repo.sh [repo-url] [engineer-username]Focuses analysis on specific repository contributions.
./scripts/update_profile.sh [engineer-username]Adds new PRs and updates existing profile.
Pull Requests:
gh pr list --author [username] --limit 100 --state all
gh pr view [pr-number] --json title,body,files,reviews,commentsCode Changes:
gh pr diff [pr-number]
gh api repos/{owner}/{repo}/pulls/{pr}/filesReviews:
gh pr view [pr-number] --comments
gh api repos/{owner}/{repo}/pulls/{pr}/reviewsCommits:
gh api search/commits --author [username]Pattern Recognition:
Style Extraction:
Best Practice Identification:
Problem: New engineer needs to learn team standards Solution: Provide senior engineer's profile as reference
Benefits:
Problem: Teaching good code review skills Solution: Study experienced reviewer's feedback patterns
Benefits:
Problem: Senior engineer leaving, knowledge lost Solution: Extract their expertise before departure
Benefits:
Problem: Inconsistent coding styles across team Solution: Extract patterns from best engineers, create standards
Benefits:
Problem: Agent needs to code like specific engineer Solution: Provide extracted profile to agent
Benefits:
When an agent has access to an engineer profile, it can:
Code Generation:
Code Review:
Problem Solving:
Example Agent Prompt:
"Using the profile at engineer_profiles/senior_dev/, write a user service
following their coding style, patterns, and best practices. Pay special
attention to their error handling approach and testing standards."DO:
DON'T:
Regular Updates:
Quality Control:
For Learning:
For Replication:
What This Extracts:
What This Doesn't Capture:
Potential additions:
engineer_profiles/
└── senior_dev/
├── README.md
│ # Senior Dev - Staff Engineer
│ Expertise: TypeScript, Node.js, System Design
│ Focus: API design, performance optimization
│
├── coding_style/
│ ├── typescript_style.md
│ ├── naming_conventions.md
│ └── code_structure.md
│
├── patterns/
│ ├── dependency_injection.md
│ ├── error_handling.md
│ └── examples/
│ ├── service_pattern.ts
│ └── repository_pattern.ts
│
├── best_practices/
│ ├── testing_strategy.md
│ ├── code_quality.md
│ └── performance.md
│
├── architecture/
│ ├── api_design.md
│ ├── database_design.md
│ └── scaling_approach.md
│
├── code_review/
│ ├── feedback_examples.md
│ └── review_checklist.md
│
└── examples/
└── notable_prs/
├── pr_1234_auth_refactor.md
└── pr_5678_performance_fix.mdThis skill transforms an engineer's GitHub contributions into a structured, reusable knowledge base. It captures their expertise in a format that:
The goal: Make expertise scalable, learnable, and replicable.
"The best way to learn is from those who have already mastered it."
© jamesrochabrun, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file (scripts) in skills/engineer-expertise-extractor of jamesrochabrun/skills.
Open the folder on GitHubat commit 2482c17
Engineer Expertise Extractor next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Engineer Expertise Extractor this skilljamesrochabrun/skills | 216 | — | ~3.8k | Automated safety check: Pass | MIT | |
| GitHub Issue Summaryascend-ai-coding/awesome-ascend-skills | 174 | — | ~1.4k | Automated safety check: Pass | None | |
| GitHub Kbsundial-org/awesome-openclaw-skills | 663 | — | ~1.2k | Automated safety check: Pass | None | |
| Knowledge Opsaffaan-m/ECC | 276k | 2 repos | ~1.7k | Automated safety check: Pass | MIT | |
| Copilot Spacesgithub/awesome-copilot | 40k | 1 repos | ~2.2k | Automated safety check: Pass | MIT | |
| Update GuidelinesAzure/azure-sdk-tools | 134 | — | ~1.9k | Automated safety check: Pass | MIT |
ascend-ai-coding/awesome-ascend-skills
Analyze closed GitHub issues to create troubleshooting case studies with root cause analysis and lessons learned.
sundial-org/awesome-openclaw-skills
Manage a local GitHub knowledge base and provide GitHub search capabilities via gh CLI.
affaan-m/ECC
Knowledge base management, ingestion, sync, and retrieval across multiple storage layers (local files, MCP memory, vector stores, Git repos).
github/awesome-copilot
Use Copilot Spaces to provide project-specific context to conversations.
Azure/azure-sdk-tools
Ingest guideline changes from the azure-sdk repo into the knowledge base.
sundial-org/awesome-openclaw-skills
Search and retrieve markdown documents from local knowledge bases using qmd.
jamesrochabrun/skills
Generate comprehensive Product Requirements Documents (PRDs) for product managers.
jamesrochabrun/skills
Plan and execute technical product launches for developer tools, APIs, and technical products.
jamesrochabrun/skills
Generate comprehensive design briefs for design projects. An agent skill from jamesrochabrun/skills.
jamesrochabrun/skills
Manage Git worktrees for parallel Claude Code development. An agent skill from jamesrochabrun/skills.
jamesrochabrun/skills
Generate comprehensive content briefs for writers, ensuring clarity, alignment, and strategic content creation across all formats.
jamesrochabrun/skills
This skill should be used when users want to route LLM requests to different AI providers (OpenAI, Grok/xAI, Groq, DeepSeek, OpenRouter) using SwiftOpenAI-CLI.
Works with
Categories
Research and extract an engineer's coding style, patterns, and best practices from their GitHub contributions. Engineer Expertise Extractor is an agent skill from jamesrochabrun/skills. Research and extract an engineer's coding style, patterns, and best practices from their GitHub contributions.
Engineer Expertise Extractor fits situations like: tasks that involve Knowledge bases.
Run `npx skills add jamesrochabrun/skills --skill engineer-expertise-extractor -a claude-code`. Or copy the skill folder (skills/engineer-expertise-extractor in jamesrochabrun/skills) into .claude/skills/engineer-expertise-extractor in your project. Claude Code loads it when a task matches its description.
Run `npx skills add jamesrochabrun/skills --skill engineer-expertise-extractor -a codex`. Or copy the skill folder (skills/engineer-expertise-extractor in jamesrochabrun/skills) into .agents/skills/engineer-expertise-extractor in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add jamesrochabrun/skills --skill engineer-expertise-extractor -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/engineer-expertise-extractor, .gemini/skills/engineer-expertise-extractor, .github/skills/engineer-expertise-extractor and .opencode/skills/engineer-expertise-extractor in your project.
Going by SKILL.md and its folder, Engineer Expertise Extractor needs a shell for the scripts in its folder and the command-line tools its instructions call (gh). Our summary lists: A Bash shell.
SKILL.md contains no URLs. Its commands use gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Engineer Expertise Extractor is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.8k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Engineer Expertise Extractor: GitHub Issue Summary (ascend-ai-coding/awesome-ascend-skills, 174 stars), GitHub Kb (sundial-org/awesome-openclaw-skills, 663 stars), Knowledge Ops (affaan-m/ECC, 276k stars) and Copilot Spaces (github/awesome-copilot, 40k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
jamesrochabrun (a GitHub user) maintains it in jamesrochabrun/skills, which has 216 GitHub stars. The repository holds 23 skills in this directory. The repository was last updated on January 14, 2026.
Source: jamesrochabrun/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.