From jobops
Creates or updates timestamped GitHub portfolio Markdown files by fetching and analyzing repository READMEs and structure via /github-portfolio <repo-url>. Use for career documentation snapshots.
npx claudepluginhub reggiechan74/jobops --plugin jobopsThis skill uses the workspace's default tool permissions.
Read `.jobops/config.json`. If missing, stop with:
Guides optimization of GitHub profiles, READMEs, repos, Pages, gists, and Awesome lists for parasite SEO, GEO, open source marketing, and visibility.
Logs factual progress from git work sessions (detected via 3-day gaps) to a global markdown file after sprints, phases, or milestones. Useful for 'document my progress' or post-repo work.
Set up, configure, run, and troubleshoot Reflect CLI to fetch GitHub contributions and generate LLM-powered brag documents for performance reviews.
Share bugs, ideas, or general feedback.
Read .jobops/config.json. If missing, stop with:
JOBOPS NOT CONFIGURED Run /jobops:setup to initialize your workspace.
Use config.directories.<key> for all file paths in this skill.
Use config.preferences.cultural_profile if this skill generates resume-style content.
Use config.preferences.default_jurisdiction if this skill has jurisdiction-sensitive logic (crisis/legal skills accept --jurisdiction=<ISO-3166-2> to override).
Creates or updates a GitHub portfolio document.
Output file: {config.directories.career_analysis}/github_portfolio_{YYYYMMDD}.md — a fresh timestamped snapshot is written on every run (create, add, or refresh).
Usage forms:
/github-portfolio <repository-url> — create if no prior snapshot exists, otherwise add the repo to the latest snapshot./github-portfolio <repository-url> -create — force a brand-new snapshot (first repository)./github-portfolio <repository-url> -update — add the repository to the latest existing snapshot./github-portfolio -update — full portfolio refresh/reorganization of the latest snapshot (no URL needed).Arguments:
$1: Repository URL (required for adding repositories) OR the -update flag for refresh-only mode.$2: Mode flag (optional, defaults to auto-detect):
-create: Force create a new portfolio snapshot.-update: Force update of the latest portfolio snapshot.Repository URL: $1 Mode Flag: ${2:-auto}
Checking arguments:
$1 is -update and no $2: Refresh Mode (reorganize existing portfolio)$1 is a URL: Repository Addition Mode (create or update)
$2 flagChecking whether a prior portfolio snapshot already exists in {config.directories.career_analysis}/ (any file matching github_portfolio_*.md). When more than one exists, use the most recent by date suffix as the working snapshot for add/refresh operations.
Result: [Snapshot exists/does not exist]
Based on arguments and portfolio existence:
Purpose: Create initial github_portfolio_{YYYYMMDD}.md snapshot with first repository.
Repository URL Provided: $1
I'll try to access the repository directly to read its README and structure.
Attempting to fetch: $1
Access Methods:
[If WebFetch succeeds]:
[If WebFetch fails with 403/private/inaccessible]:
The repository is not publicly accessible or I cannot reach it directly.
No problem! Please run this analysis script in the repository's codespace/terminal and paste the complete results back to me:
#!/bin/bash
echo "=== REPOSITORY ANALYSIS FOR PORTFOLIO DOCUMENTATION ==="
echo ""
echo "## Basic Repository Information"
echo "Repository: $(basename $(git rev-parse --show-toplevel 2>/dev/null || pwd))"
echo "Current Branch: $(git branch --show-current 2>/dev/null || echo 'N/A')"
echo "Total Commits: $(git rev-list --count HEAD 2>/dev/null || echo 'N/A')"
echo "Last Commit: $(git log -1 --format='%h - %s (%ar)' 2>/dev/null || echo 'N/A')"
echo ""
echo "## File Structure"
echo "Total Files: $(find . -type f -not -path '*/\.*' | wc -l)"
echo ""
echo "Directory Tree (top 3 levels):"
tree -L 3 -I 'node_modules|.git|__pycache__|*.pyc' 2>/dev/null || find . -type d -not -path '*/\.*' -maxdepth 3 | sort
echo ""
echo "## README Content"
if [ -f README.md ]; then
echo "--- START README.md ---"
cat README.md
echo "--- END README.md ---"
else
echo "No README.md found"
fi
echo ""
echo "## Package/Dependency Information"
if [ -f package.json ]; then
echo "--- package.json ---"
cat package.json
fi
if [ -f requirements.txt ]; then
echo "--- requirements.txt ---"
cat requirements.txt
fi
if [ -f pyproject.toml ]; then
echo "--- pyproject.toml ---"
cat pyproject.toml
fi
echo ""
echo "## Code Statistics"
echo "Python files: $(find . -name '*.py' -not -path '*/\.*' | wc -l)"
echo "JavaScript files: $(find . -name '*.js' -not -path '*/\.*' | wc -l)"
echo "TypeScript files: $(find . -name '*.ts' -not -path '*/\.*' | wc -l)"
echo "Bash scripts: $(find . -name '*.sh' -not -path '*/\.*' | wc -l)"
echo "Markdown files: $(find . -name '*.md' -not -path '*/\.*' | wc -l)"
echo ""
echo "## Sample Code (largest Python/Bash/TypeScript files)"
for file in $(find . \( -name '*.py' -o -name '*.sh' -o -name '*.ts' \) | grep -v '.git' | grep -v 'node_modules' | head -5); do
echo "--- $file ($(wc -l < "$file") lines) ---"
head -50 "$file"
echo ""
done
echo "## Git Activity"
echo "Commit History (last 10):"
git log --oneline -10 2>/dev/null || echo "Git history not available"
echo ""
echo "Recent Contributors:"
git shortlog -sn --no-merges | head -5 2>/dev/null || echo "N/A"
echo ""
echo "=== END ANALYSIS ==="
Instructions:
Once you provide the analysis, I'll create your initial portfolio entry.
Purpose: Add new repository to the latest snapshot and write a new timestamped snapshot.
Repository URL Provided: $1
Read the most recent {config.directories.career_analysis}/github_portfolio_*.md file.
Current Portfolio Status:
Attempting to fetch: $1
Access Methods:
[If WebFetch succeeds]:
The repository is not publicly accessible.
Please run this analysis script in the repository's codespace and paste the results:
#!/bin/bash
echo "=== REPOSITORY ANALYSIS FOR PORTFOLIO DOCUMENTATION ==="
echo ""
echo "## Basic Repository Information"
echo "Repository: $(basename $(git rev-parse --show-toplevel 2>/dev/null || pwd))"
echo "Current Branch: $(git branch --show-current 2>/dev/null || echo 'N/A')"
echo "Total Commits: $(git rev-list --count HEAD 2>/dev/null || echo 'N/A')"
echo "Last Commit: $(git log -1 --format='%h - %s (%ar)' 2>/dev/null || echo 'N/A')"
echo ""
echo "## File Structure"
echo "Total Files: $(find . -type f -not -path '*/\.*' | wc -l)"
echo ""
echo "Directory Tree (top 3 levels):"
tree -L 3 -I 'node_modules|.git|__pycache__|*.pyc' 2>/dev/null || find . -type d -not -path '*/\.*' -maxdepth 3 | sort
echo ""
echo "## README Content"
if [ -f README.md ]; then
echo "--- START README.md ---"
cat README.md
echo "--- END README.md ---"
else
echo "No README.md found"
fi
echo ""
echo "## Package/Dependency Information"
if [ -f package.json ]; then
echo "--- package.json ---"
cat package.json
fi
if [ -f requirements.txt ]; then
echo "--- requirements.txt ---"
cat requirements.txt
fi
if [ -f pyproject.toml ]; then
echo "--- pyproject.toml ---"
cat pyproject.toml
fi
echo ""
echo "## Code Statistics"
echo "Python files: $(find . -name '*.py' -not -path '*/\.*' | wc -l)"
echo "JavaScript files: $(find . -name '*.js' -not -path '*/\.*' | wc -l)"
echo "TypeScript files: $(find . -name '*.ts' -not -path '*/\.*' | wc -l)"
echo "Bash scripts: $(find . -name '*.sh' -not -path '*/\.*' | wc -l)"
echo "Markdown files: $(find . -name '*.md' -not -path '*/\.*' | wc -l)"
echo ""
echo "## Sample Code (largest Python/Bash/TypeScript files)"
for file in $(find . \( -name '*.py' -o -name '*.sh' -o -name '*.ts' \) | grep -v '.git' | grep -v 'node_modules' | head -5); do
echo "--- $file ($(wc -l < "$file") lines) ---"
head -50 "$file"
echo ""
done
echo "## Git Activity"
echo "Commit History (last 10):"
git log --oneline -10 2>/dev/null || echo "Git history not available"
echo ""
echo "Recent Contributors:"
git shortlog -sn --no-merges | head -5 2>/dev/null || echo "N/A"
echo ""
echo "=== END ANALYSIS ==="
After receiving analysis:
Purpose: Full portfolio reorganization and content refresh without adding new repositories.
Triggered When: User runs /github-portfolio -update with no URL
Read the most recent {config.directories.career_analysis}/github_portfolio_*.md file as the working snapshot.
Current Portfolio Status:
Repository Entries Consistency:
Capability Matrices Accuracy:
Positioning and Messaging:
Table of Contents:
Version and Date:
Quality Checks:
After refresh, provide summary of:
When adding a new repository, use this comprehensive structure:
### N. [repository-name](https://github.com/username/repo-name)
**Status**: Production (vX.Y.Z) | **License**: [License] | **Commits**: N
One-paragraph description highlighting core purpose and key technologies.
**Technical Architecture**:
- **Key Component 1**: Description with metrics
- **Key Component 2**: Description with metrics
- **Key Component 3**: Description with metrics
- **Key Component 4**: Description with metrics
- **Key Component 5**: Description with metrics
**Technical Sophistication**:
- **Scale Metric**: Total files, lines of code, complexity indicators
- **Advanced Pattern 1**: Specific implementation details
- **Advanced Pattern 2**: Specific implementation details
- **Advanced Pattern 3**: Specific implementation details
- **Advanced Pattern 4**: Specific implementation details
**Skills Demonstrated**:
- **Skill 1** (proficiency level: specific evidence)
- **Skill 2** (proficiency level: specific evidence)
- **Skill 3** (proficiency level: specific evidence)
- **Skill 4** (proficiency level: specific evidence)
- **Skill 5** (proficiency level: specific evidence)
- **Skill 6** (proficiency level: specific evidence)
**Business Impact**:
- Quantified improvement 1
- Quantified improvement 2
- Quantified improvement 3
- Use case or application context
**Development Approach**:
How this was built, key learning journey, relationship to other repositories, development philosophy demonstrated.
**Domain Specialization** (if applicable):
Specific industry domain, technical specialty, or problem space this addresses.
**Key Innovation**:
**Bold Innovation Name**: One-paragraph description of the unique approach, pattern, or solution this repository demonstrates. What makes this different or notable.
**[Optional] Component Breakdown**:
- **Category 1**: List of components/features
- **Category 2**: List of components/features
When updating portfolio, ensure these capability matrices remain comprehensive and accurate:
Matrix Format:
| Capability | Proficiency | Evidence | Development Method |
|---|---|---|---|
| **Capability Name** | Proficiency description | Specific evidence from repositories | How acquired/developed |
Always maintain these core positioning principles:
File Location: {config.directories.career_analysis}/github_portfolio_{YYYYMMDD}.md (new timestamped snapshot per run)
YAML Front Matter:
---
title: GitHub Repositories & Derived Technical Capabilities
person: Reggie Chan
lastUpdated: YYYY-MM-DD (today's date)
category: Technology Portfolio
keywords: AI-assisted-development, Python, machine-learning, financial-systems, Claude-Code
shareable: true
profileType: technical-portfolio
---
Version Tracking:
lastUpdated field to today's datePortfolio Version at end of document (format: X.Y)
Quality Checks:
Let me proceed with the selected mode.