Skip to main content

github-portfolio

Create or update GitHub portfolio documentation from repository analysis

Quellinformationen

Repository
reggiechan74/JobOps
Letzte Quellaktivität
28. Mai 2026 um 13:24
Erkannte Sprache von SKILL.md
Englisch
Sterne
25
Forks
4

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
github-portfolio
description
Create or update GitHub portfolio documentation from repository analysis
disable-model-invocation
true
## Configuration 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). ## Usage and Arguments 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. ## Step 1: Parse Arguments and Determine Mode **Repository URL**: $1 **Mode Flag**: ${2:-auto} Checking arguments: - If `$1` is `-update` and no `$2`: **Refresh Mode** (reorganize existing portfolio) - If `$1` is a URL: **Repository Addition Mode** (create or update) - If portfolio exists: Update mode - If portfolio doesn't exist: Create mode - Mode can be forced with `$2` flag --- ## Step 2: Check Portfolio Existence Checking 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] --- ## Step 3: Mode Selection Based on arguments and portfolio existence: - **Mode**: [CREATE NEW | ADD TO EXISTING | REFRESH EXISTING] --- ## Mode: CREATE NEW PORTFOLIO **Purpose**: Create initial `github_portfolio_{YYYYMMDD}.md` snapshot with first repository. **Repository URL Provided**: $1 ### Step 3.1: Attempt to Access Repository I'll try to access the repository directly to read its README and structure. Attempting to fetch: $1 **Access Methods**: 1. Try WebFetch to read README.md from GitHub URL 2. If that fails (403, private repo, etc.), provide manual analysis script ### Step 3.2A: If Repository Accessible [If WebFetch succeeds]: - Read README.md content - Parse repository name, description - Attempt to infer technical details from README - Ask user for additional details (commits, file counts, specific metrics) - Proceed to create portfolio entry ### Step 3.2B: If Repository NOT Accessible (Most Likely) [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: ```bash #!/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**: 1. Open a terminal in the repository's codespace or local clone 2. Copy the entire script above 3. Paste it into the terminal and press Enter 4. Copy ALL the output (from "=== REPOSITORY ANALYSIS" to "=== END ANALYSIS ===") 5. Paste the complete output in your next message Once you provide the analysis, I'll create your initial portfolio entry. --- ## Mode: ADD TO EXISTING PORTFOLIO **Purpose**: Add new repository to the latest snapshot and write a new timestamped snapshot. **Repository URL Provided**: $1 ### Step 3.1: Read Latest Portfolio Snapshot Read the most recent `{config.directories.career_analysis}/github_portfolio_*.md` file. **Current Portfolio Status**: - Total repositories: [count from file] - Next repository number: [N+1] - Portfolio version: [current version] - Last updated: [date from file] ### Step 3.2: Attempt to Access Repository Attempting to fetch: $1 **Access Methods**: 1. Try WebFetch to read README.md from GitHub URL 2. If that fails, provide manual analysis script ### Step 3.3A: If Repository Accessible [If WebFetch succeeds]: - Parse repository information - Ask for additional metrics if needed - Create comprehensive repository entry - Update portfolio ### Step 3.3B: If Repository NOT Accessible **The repository is not publicly accessible.** Please run this analysis script in the repository's codespace and paste the results: ```bash #!/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**: 1. Parse repository analysis output 2. Create comprehensive repository entry following established format 3. Insert into Primary Repositories section (next available number) 4. Update capability matrices with new skills/technologies 5. Update conclusion to reference new repository count 6. Increment portfolio version number 7. Update "Last Updated" date --- ## Mode: REFRESH EXISTING PORTFOLIO **Purpose**: Full portfolio reorganization and content refresh without adding new repositories. **Triggered When**: User runs `/github-portfolio -update` with no URL ### Step 3.1: Read Latest Portfolio Snapshot Read the most recent `{config.directories.career_analysis}/github_portfolio_*.md` file as the working snapshot. **Current Portfolio Status**: - Total repositories: [count] - Portfolio version: [current version] - Last updated: [date] ### Step 3.2: Comprehensive Review Tasks 1. **Repository Entries Consistency**: - Verify all entries follow current template format - Check for complete sections in each entry - Ensure consistent emoji usage and status indicators - Verify all repository links work 2. **Capability Matrices Accuracy**: - Review all 11 matrices for current proficiency levels - Add any new skills/technologies from recent work - Ensure honest positioning (AI-collaborative vs independent) - Check evidence references are current 3. **Positioning and Messaging**: - Refresh conclusion with current repository count - Update "What I Bring" / "What I Don't Claim" sections - Review application language examples for relevance - Ensure "AI-Collaborative Builder" philosophy is consistent 4. **Table of Contents**: - Verify all anchor links work correctly - Ensure all repositories are listed - Check capability matrix links - Confirm career positioning sections are linked 5. **Version and Date**: - Increment portfolio version (minor: X.Y+1) - Update lastUpdated to today's date in YAML frontmatter - Update "Last Updated" at bottom of document 6. **Quality Checks**: - Remove any outdated information - Fix broken internal references - Ensure development philosophy remains honest and accurate - Verify all repository counts match ### Step 3.3: Generate Update Summary After refresh, provide summary of: - Changes made - New version number - Items requiring user attention (if any) ---
Auf GitHub ansehen
Diese SKILL.md ist sehr gross, daher zeigt SkillsMP hier nur den ersten Abschnitt. Auf GitHub ansehen