一键导入
add-project
Add or update a portfolio project entry from a GitHub URL, repo name or user input.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Add or update a portfolio project entry from a GitHub URL, repo name or user input.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | add-project |
| description | Add or update a portfolio project entry from a GitHub URL, repo name or user input. |
Add or update src/content/projects/<slug>.md using GitHub CLI. No cloning. Portfolio root: ~/projects/portfolio/.
Accept any of:
https://github.com/owner/repolomartins/badbbadb → assume owner lomartinsOptional flags user may provide [AskUserQuestion] (otherwise ask or infer):
--tier S|A|B|C — sort order (S = best, C = lowest)--featured / --no-featured--emoji 🦀Extract owner/repo. If only repo name given, default owner = lomartins.
# Metadata
gh repo view <owner/repo> --json name,description,repositoryTopics,primaryLanguage,languages,url
# README (decode base64)
gh api repos/<owner/repo>/readme --jq '.content' | base64 -d 2>/dev/null
Slug = repo name lowercased, hyphens preserved.
src/content/projects/<slug>.md exists → update mode| Field | Source |
|---|---|
name | Repo name prettified (badb → badb, my-cool-app → My Cool App) |
emoji | Infer from primary language/topics. Ask if unclear. Update: keep existing unless overridden |
tier | Ask user if not provided. Update: keep existing unless overridden |
featured | Ask user if not provided. Update: keep existing unless overridden |
description | Repo description ≤ 120 chars. Fall back to first README sentence |
tech | Primary language + topics filtered for tech terms. Update: merge with existing |
github | Full repo URL |
Tech inference rules:
primaryLanguage.namerepositoryTopics[].name if it looks like a technologyopen-source, portfolio, hacktoberfest, awesomerust → Rust, kotlin → Kotlin, cli → CLI, kmp → KMP, android → AndroidSummarize README into 2–4 short Markdown paragraphs. Focus on:
Strip: badges, shields, install commands, license sections, contributing guides.
Start with ## <Project Name> heading.
Update mode: rewrite body from fresh README data, don't preserve stale content.
File path: src/content/projects/<slug>.md
Format:
---
name: Project Name
emoji: '🦀'
tier: B
featured: false
description: 'Short description ≤ 120 chars.'
tech: ['Rust', 'CLI']
github: 'https://github.com/lomartins/repo'
---
## Project Name
Body here...
Mode: created | updated
File: src/content/projects/<slug>.md
Tech: [Rust, CLI]
Tier: B | Featured: false
gh repo view lomartins/badb --json name,description,repositoryTopics,primaryLanguage,languages,url
gh api repos/lomartins/badb/readme --jq '.content' | base64 -d
gh repo view lomartins/badb --json repositoryTopics --jq '.repositoryTopics[].name'
gh repo view lomartins/badb --json languages --jq '.languages[].node.name'