@majiayu000/git-workflow
AGit operations and pull request workflows. Create PRs, rebase branches, resolve conflicts, merge to upstream. Use when ready to create PR or when working with git branches and upstream.
Install
agr install @majiayu000/git-workflow --target claudeWrites 2 files into .claude/skills/, pinned to git-93afdcce.
- .claude/skills/git-workflow/SKILL.md
- .claude/skills/git-workflow/metadata.json
Document
name: git-workflow description: > Git operations and pull request workflows. Create PRs, rebase branches, resolve conflicts, merge to upstream. Use when ready to create PR or when working with git branches and upstream.
Git Workflow
Committing Work
cd ~/Code/community-patterns
git add patterns/$GITHUB_USER/pattern.tsx
git commit -m "Add pattern: description"
git push origin main
Getting Updates (Already done in Step 1)
git fetch upstream
git pull --rebase upstream main
git push origin main
Sharing Work Upstream (Creating Pull Requests)
IMPORTANT: Wait for user to tell you to create a PR. Don't push or create PRs automatically.
Before creating any PR, you MUST update from main and rebase your branch:
Step 0: Update and Rebase Before Creating PR
Use cached repository type from workspace config:
# Read IS_FORK from .claude-workspace (set during Step 2)
IS_FORK=$(grep "^is_fork=" .claude-workspace | cut -d= -f2)
# Determine which remote to use
if [ "$IS_FORK" = "true" ]; then
echo "Working on fork - will fetch from upstream"
MAIN_REMOTE="upstream"
else
echo "Working on main repo - will fetch from origin"
MAIN_REMOTE="origin"
fi
Then fetch latest main and rebase your branch:
# Fetch latest main
git fetch $MAIN_REMOTE
# Rebase current branch on top of main
git rebase $MAIN_REMOTE/main
# If rebase succeeds, push (force-with-lease if on feature branch)
if [ "$(git branch --show-current)" != "main" ]; then
git push origin $(git branch --show-current) --force-with-lease
else
git push origin main
fi
If rebase has conflicts:
- Show conflict files:
git status - Help resolve conflicts
- Continue:
git rebase --continue - Then push
Why this matters:
- Ensures your PR is based on the latest main
- Avoids merge conflicts during PR review
- Makes PR review easier
If User Has Their Own Fork (Most Common)
When user wants to contribute patterns from their fork to upstream:
Step 1: Ensure changes are committed and pushed to their fork
cd ~/Code/community-patterns
git status # Verify all changes are committed
git push origin main
Step 2: Update and rebase (see Step 0 above)
Step 3: Create pull request to upstream
gh pr create \
--repo jkomoros/community-patterns \
--title "Add: pattern name" \
--body "$(cat <<'EOF'
## Summary
- Brief description of the pattern
- Key features
- Use cases
## Testing
- [x] Pattern compiles without errors
- [x] Tested in browser at http://localhost:8000
- [x] All features working as expected
๐ค Generated with [Claude Code](https://claude.com/claude-code)
EOF
)"
If Working Directly on jkomoros/community-patterns
CRITICAL: When working directly on the upstream repository, you MUST use branches and PRs. Direct pushes to main are NOT allowed.
Step 1: Create feature branch
cd ~/Code/community-patterns
git checkout -b username/feature-name
Step 2: Commit and push branch
git add patterns/$GITHUB_USER/
git commit -m "Add: pattern name"
git push origin username/feature-name
Step 3: Update and rebase (see Step 0 above)
Step 4: Create pull request
gh pr create \
--title "Add: pattern name" \
--body "$(cat <<'EOF'
## Summary
- Brief description
## Testing
- [x] Tested and working
๐ค Generated with [Claude Code](https://claude.com/claude-code)
EOF
)"
Step 5: Merge with rebase (when approved)
gh pr merge PR_NUMBER --rebase --delete-branch
Important Notes
- Always wait for user permission before creating PRs
- All PRs are merged with
--rebase(NOT--squashor--merge) - This preserves individual commit history
- Commit frequently locally, but only create PR when user asks
- PRs will be reviewed before merging to upstream
- After merge, everyone gets your patterns automatically on next update
Repository README
Describes majiayu000/claude-skill-registry as a whole, which may contain artifacts other than this one. Where this artifact had no useful description of its own, its summary was taken from here.
Claude Skills Registry
Core repo: logic + index + site.
Main repo (merged artifact): https://github.com/majiayu000/claude-skill-registry
Data repo (skills archive): https://github.com/majiayu000/claude-skill-registry-data
Authority: core workflows are canonical; main is a publish mirror.
The most comprehensive Claude Code skills registry โ updated daily with the latest skills
What is this?
The largest searchable index of Claude Code skills, aggregated from GitHub and community sources.
Three ways to use:
- Web Search - Fast browser-based search
- sk CLI - Terminal package manager
- API - Direct JSON access
Repo layout note: core owns workflows/pipeline logic, data stores skills/**, and main is generated from core + data. See SCHEME2_SPLIT.md.
Generated Mirror Notice
This repository is the merged publish artifact for browsing and compatibility consumers. Source changes for discovery, download, security scanning, index generation, search, Pages, or publish orchestration belong in claude-skill-registry-core. Archived skill body and archive metadata issues belong in claude-skill-registry-data.
- Do not submit normal source PRs here unless the change is explicitly main-owned, such as publish workflow routing or mirror-only repository metadata.
- Release status: this mirror does not cut independent GitHub Releases for daily generated data. Use
provenance/merge-source.json,registry_summary.json, and the generated timestamps to identify the exactcore_shaanddata_shabehind an artifact. - Use issues here only for mirror artifact problems, such as mismatched generated files, broken compatibility paths, or incorrect provenance after publish.
Highlights
- Massive Skill Index - Deduplicated, high-quality registry (see badge for live count)
- Rich Categories - Development, Testing, DevOps, Design, and more
- Daily Updates - Automated crawling/validation by core scheduled workflows
- Quality Indexed - Metadata, descriptions, and star counts
- Lightweight Search - Gzip-compressed index for fast client-side search
Operational Ownership
- Core: source of truth for workflows, crawling, scanning, and index/site generation
- Data: canonical archived skill tree (
skills/**) - Main: publish artifact for merged browsing/compatibility consumers
- Publish contract: core dispatches main publish with pinned
core_sha+data_sha - Non-goal for main: main does not initiate canonical syncs, archive updates, or index generation
Quick Start
Option 1: Web Search
Visit https://majiayu000.github.io/claude-skill-registry-core/
For clone/update tips on large repositories, see docs/FAST_CLONE.md.
Option 2: CLI (sk)
# Install sk
go install github.com/majiayu000/caude-skill-manager@latest
# Search skills
sk search testing
sk search pdf
sk search --popular
# Install a skill
sk install anthropics/skills/skills/docx
Option 3: Direct API
The public JSON surface is versioned in docs/artifact-api-contract.md. Use that contract when integrating with pointer files, manifests, shards, gzip variants, and deprecation markers.
# Startup search index and bounded full-search shards
curl https://majiayu000.github.io/claude-skill-registry-core/search-index.json
curl https://majiayu000.github.io/claude-skill-registry-core/search-index-manifest.json
curl https://majiayu000.github.io/claude-skill-registry-core/search-shards/part-000.json
# Deduplicated catalog index with quality/security/install signals
curl https://majiayu000.github.io/claude-skill-registry-core/search-index-lite.json
curl https://majiayu000.github.io/claude-skill-registry-core/quality-index.json
curl https://majiayu000.github.io/claude-skill-registry-core/quality-index-manifest.json
curl https://majiayu000.github.io/claude-skill-registry-core/quality-shards/part-000.json
curl https://majiayu000.github.io/claude-skill-registry-core/security-index.json
curl https://majiayu000.github.io/claude-skill-registry-core/security-index-manifest.json
curl https://majiayu000.github.io/claude-skill-registry-core/security-shards/part-000.json
curl https://majiayu000.github.io/claude-skill-registry-core/ranking-index.json
curl https://majiayu000.github.io/claude-skill-registry-core/ranking-index-manifest.json
curl https://majiayu000.github.io/claude-skill-registry-core/ranking-shards/part-000.json
# Lightweight registry summary (counts only)
curl https://raw.githubusercontent.com/majiayu000/claude-skill-registry-core/main/registry_summary.json
# Full registry manifest and shards (merged publish artifact)
curl https://raw.githubusercontent.com/majiayu000/claude-skill-registry/main/registry-manifest.json
curl https://raw.githubusercontent.com/majiayu000/claude-skill-registry/main/registry-shards/00.json
# Compatibility registry pointer (merged publish artifact)
curl https://raw.githubusercontent.com/majiayu000/claude-skill-registry/main/registry.json
# Category manifest and bounded parts
curl https://majiayu000.github.io/claude-skill-registry-core/categories/index.json
curl https://majiayu000.github.io/claude-skill-registry-core/categories/development/manifest.json
curl https://majiayu000.github.io/claude-skill-registry-core/categories/development/part-000.json
# Legacy category pointer
curl https://majiayu000.github.io/claude-skill-registry-core/categories/development.json
Architecture
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Layer 1: Data Collection โ
โ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โ
โ โ GitHub Crawl โโ โ Download โโ โ Security โ โ
โ โ (discover) โ โ (sync) โ โ (scanner) โ โ
โ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Layer 2: Index Generation โ
โ โโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโ โ
โ โ search-index โ โ categories/ โ โ featured.json โ โ
โ โ .json โ โ *.json โ โ (featured set) โ โ
โ โโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Layer 3: Consumption โ
โ โโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโ โ
โ โ Web UI โ โ sk CLI โ โ API โ โ
โ โ (GitHub Pages) โ โ (Go) โ โ (JSON) โ โ
โ โโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Search Index Schema
// Lightweight index for fast search
interface SearchIndex {
v: string; // Version (date)
t: number; // Indexed skill count (always s.length)
s: SkillMini[]; // Skills array
}
interface SkillMini {
n: string; // name
d: string; // description (truncated 80 chars)
c: string; // category code (dev, ops, sec, etc.)
g: string[]; // tags (max 5)
r: number; // stars
i: string; // install path
}
Directory Structure (Core)
claude-skill-registry-core/
โโโ registry.json # Lightweight core registry metadata
โโโ docs/ # GitHub Pages
โ โโโ index.html # Web search UI
โ โโโ search-index-lite.json
โ โโโ search-index.json # Compatibility pointer to bounded shards
โ โโโ search-index-manifest.json
โ โโโ search-shards/ # Bounded full search index parts
โ โโโ featured.json # Featured skills snapshot
โ โโโ categories/ # Category manifests and bounded parts
โโโ sources/ # Data sources
โ โโโ anthropic.json
โ โโโ community.json
โ โโโ skillsmp.json
โโโ scripts/ # Build scripts
โ โโโ build_search_index.py
โ โโโ discover_by_topic.py
โ โโโ security_scanner.py
โ โโโ ...
โโโ (no committed skills/) # skills/** lives in registry-data; mounted in CI when needed
The merged claude-skill-registry publish artifact additionally contains
registry-manifest.json and registry-shards/**.
Categories
Canonical category slugs, short codes, governance status, and heuristic keywords
live in taxonomy/categories.yaml. Pipeline scripts read that file instead of
keeping their own category lists. Legacy category names are diagnostic inputs
only; they are routed to review and are not accepted as publish categories.
The canonical category proposal is documented in
docs/plan/canonical-taxonomy-proposal.md, and the current target count report
is docs/plan/canonical-category-target-counts.json.
Validate the taxonomy itself with python scripts/check_taxonomy_governance.py.
To validate publish output against canonical categories, pass repeated
--publish-category <slug> values. To review category quality across the
archive before moving anything, run
python scripts/audit_category_quality.py --skills-dir skills.
The default audit uses metadata and paths for a fast full-archive pass; add
--include-frontmatter when checking frontmatter/category drift.
The audit also reports non-standard nested skill paths such as
category/category/skill/SKILL.md.
For those layout issues, use
python scripts/normalize_skill_depth.py --skills-dir skills --json to review
the exact move plan before applying it.
For semantic reclassification, generate a review-only migration plan with
python scripts/plan_category_migration.py --skills-dir skills --output category-migration-plan.json.
The plan records action, confidence, source categories, target category, keyword
signals, and reason for every proposed change; it does not move files.
For a bounded second-pass model review, set MIMO_API_KEY and run
python scripts/review_category_plan_with_llm.py --plan category-migration-plan.json --output category-llm-review.json --checkpoint-jsonl category-llm-review.checkpoint.jsonl --resume.
The default endpoint is https://token-plan-sgp.xiaomimimo.com/v1 with
mimo-v2.5-pro. The default request uses --thinking disabled and
--max-completion-tokens 1024 so the model output budget is reserved for the
required JSON; raise the token value for larger reviews, or pass
--thinking default when using a non-MiMo endpoint that does not accept the
provider-specific thinking field. The report remains review-only: it records
model category, confidence, decision, parse status, token/thinking policy, and
evidence without modifying the archive.
The checkpoint file is append-only JSONL, so interrupted long reviews can resume
without re-calling the model for completed candidates.
Category counts are published in categories/index.json; full category payloads
are available through categories/<category>/manifest.json and bounded
part-*.json files. The legacy categories/<category>.json URL is now a small
compatibility pointer. The publish path runs
python scripts/check_category_artifacts.py --categories-dir docs/categories so
legacy category files cannot silently grow back into large full-payload JSON.
Common category codes include:
| Category | Code | Description |
|---|---|---|
development | dev | Development tools, frameworks |
data | dat | Data processing, analysis |
design | des | UI/UX design, frontend |
testing | tst | Testing, QA, automation |
devops | ops | DevOps, CI/CD, infrastructure |
documents | doc | Document creation (docx, pdf) |
productivity | pro | Productivity and automation |
product | prd | Product management |
security | sec | Security, auditing |
marketing | mkt | Marketing, content, SEO |
Roadmap
Current Status
- Index count tracked by the badge (core
registry.json) - Archive size: tracked by badge (raw
SKILL.mdcount fromstats.json) - Daily auto-update via GitHub Actions
- Security scanning for all skills
- sk CLI for installation
In Progress
- Lightweight search index (gzip-compressed; see stats.json)
- Web search UI (GitHub Pages)
- GitHub Pages deployment (https://majiayu000.github.io/claude-skill-registry-core/)
Planned
- AI semantic search (vector similarity)
- Skill recommendations (based on usage)
- Version tracking for skills
- Skill quality scoring
- API rate limiting and caching
Contributing
Add Your Skill
Option 1: Submit via Issue
- Open an issue
- Use the "Add Skill" template
- Provide: repo URL, name, description, category
Option 2: Submit via PR
- Fork
majiayu000/claude-skill-registry-core - Add your skill to
sources/community.json:
{
"name": "your-skill-name",
"repo": "your-username/your-repo",
"path": "optional/path/to/skill",
"description": "What your skill does",
"category": "development",
"tags": ["testing", "automation"]
}
- Submit a PR to
majiayu000/claude-skill-registry-core(notclaude-skill-registry, which is a generated publish artifact)
Report Issues
We welcome feedback! Please open an issue for:
- Bugs - Search not working, incorrect data
- Feature requests - New categories, better search
- UX improvements - Web UI, CLI enhancements
- Data quality - Duplicate skills, wrong categories
๐ Open an Issue
Contribute Code
# Clone the core repo (authoritative pipeline repo)
git clone --filter=blob:none --sparse https://github.com/majiayu000/claude-skill-registry-core.git
cd claude-skill-registry-core
# Pull only what you need (add more paths later as needed)
git sparse-checkout set --cone docs scripts sources schema
# Install dependencies
uv venv
source .venv/bin/activate
uv pip install -r requirements.txt
# Build search index locally
python scripts/build_search_index.py --registry registry.json --output docs
# Test web UI
cd docs && python -m http.server 8000
# Visit http://localhost:8000
See docs/FAST_CLONE.md for more options (existing clones, getting full checkout, Windows notes).
The Agent Infra Stack
This project is one layer of an open-source stack for running coding agents (Claude Code, Codex) as serious infrastructure. Every piece works standalone; together they close the loop:
In this stack, the registry is the Extend layer โ the front door where you discover skills. Scan third-party skills with argus before installing, and keep agents honest at runtime with vibeguard.
| Layer | Project | What it does |
|---|---|---|
| Extend | claude-skill-registry โ you are here | Discover and search community Claude Code skills |
| Extend | spellbook | Cross-runtime skills for Claude Code, Codex, and multi-agent workflows |
| Trust | argus | Static install-time scanner for supply-chain attacks (npm / PyPI / crates.io) |
| Trust | vibeguard | Rules, hooks, and guards against hallucinated or unverified agent changes |
| Remember | remem | Local-first persistent memory for Claude Code and Codex sessions |
| Orchestrate | harness | Rust agent orchestration platform โ rules, skills, GC, observability |
| Route | litellm-rs | High-performance Rust AI gateway โ 100+ LLM APIs via OpenAI format |
| Keep | keepline | Session command center โ monitor, recover, never lose agent work |
Related Projects
| Project | Description |
|---|---|
| caude-skill-manager | CLI tool for installing skills (sk) |
| anthropics/skills | Official Anthropic skills |
| SkillsMP | Web-based skill marketplace |
| awesome-claude-skills | Curated skill list |
License
MIT License applies to the registry code/pipeline only - see LICENSE for details.
Third-Party License & Attribution
Third-party skills under skills/** keep their original licenses and copyright ownership.
- Repository-level MIT does not relicense third-party skill content.
- Every imported skill metadata file should include:
authorsource_urllicensecopyrightpermission_notedistribution(compatibleorrestricted)
restrictedentries are not MIT-compatible by default and require explicit upstream permission before redistribution/use.- Notices are generated by compliance checks into
THIRD_PARTY_NOTICES.md. - Metadata compliance runs in advisory mode by default to avoid blocking ingestion; strict blocking can be enabled when needed.
Trustgrade A
- passBody integrity
Whether the stored document is plausibly the kind of file the artifact declares, rather than something fetched by mistake.
- passType matchnot applicable to this artifact type
Whether the artifact is really the kind of thing its metadata claims it is.
- passFreshness
How long since the source repository was last pushed to.
- passPrompt injection
Scans the artifact's own text for instructions aimed at your agent rather than at you.
- passLicense
Whether the source repository declares an SPDX license permissive enough to redistribute.
How the grade is calculated
Each check contributes 0 points when it passes, 1 when it warns, and 2 when it fails. The total maps to a letter:
- Aevery check passed
- Bone warning
- Ctwo warnings
- Dprompt injection or body integrity failed, or three warnings
- Fone of those failed, and something else is wrong
These are automated hygiene checks, not a security audit, and not a dependency or vulnerability scan. A grade of A means nothing was flagged โ not that the artifact is safe.
Versions
git-93afdccefe7b2026-07-31