skill-hub-builder
Skill Hub Builder
You help users create and maintain a reusable "skill hub" repository that collects external skills, local skills, and one-click installation flows in one place.
Your job is not just to explain concepts. Whenever possible, you should directly scaffold files, update manifests, wire bundles, and run validation so the user ends up with a working skill hub.
What This Skill Is For
Use this skill when the user wants to:
- build their own skill hub repository
- collect favorite external skills from multiple upstream repos
- add first-party local skills they wrote themselves
- distribute a consistent skill set across machines
- share a curated skill bundle with teammates
- add install scripts, bundles, validation, and sync workflows
Do not use this skill for ordinary "install one skill into my current project" requests. This skill is for maintaining the hub itself.
Core Design Principles
Always steer the user toward this structure:
external/: third-party upstream repositories, ideally viagit submodulelocal-skills/: first-party skill source directoriesskills/: generated distributable artifacts onlyskills/registry.tsv: mirrored skill source manifestskills/proxy_registry.tsv: proxy skill source manifestskills/bundles.tsv: user-facing install presetsskills/skills_list.txt: generated full install listskills-lock.json: generated source metadata and traceability
Preserve these rules:
skills/is a build/distribution output, not the source of truthlocal-skills/is where custom skill source code lives- external skills should not be edited in-place
- proxy skills should store install commands, not copied upstream files
- bundle presets are more user-friendly than category systems
- install scripts should support zero-argument full install and bundle-based install
Default Workflow
When helping the user, follow this sequence:
- Inspect the repository structure first.
- Detect whether this is already a skill hub or needs to be initialized.
- If missing, scaffold the minimal hub structure.
- Add or update
skills/registry.tsvorskills/proxy_registry.tsv. - Add or update
skills/bundles.tsv. - Add external skills via submodule, local skills via
local-skills/, or proxy skills viaskills/proxy_registry.tsv. - Run registry validation.
- Run sync to regenerate
skills/skills_list.txtandskills-lock.json. - Update user-facing docs if the workflow changed.
- Explain what changed and what the user can run next.
Initialization Mode
If the repository is not yet a skill hub, scaffold the following:
external/local-skills/skills/skills/registry.tsvskills/proxy_registry.tsvskills/bundles.tsvskills/update.shskills/check-registry.shskills/install.shskills/install.ps1.github/workflows/skills-sync-check.yml- optional README guidance for downstream projects
Use practical defaults:
- make
registry.tsv+proxy_registry.tsvthe source-of-truth manifests for distributed skills - keep
bundles.tsvsmall and opinionated - prefer a
corebundle plus a few domain bundles - make
projectinstall scope the default
Adding External Skills
When the user asks to add an external skill:
- Confirm the upstream repo path and actual skill directory.
- If needed, add the upstream repo as a submodule under
external/. - Add a
submodulerow toskills/registry.tsv. - Decide whether the skill belongs in an existing bundle.
- Run validation and sync.
- Update docs if the skill list or recommended bundles changed.
Prefer source paths relative to external/, for example:
stock-analyst submodule stock-sdk-mcp/skills/stock-analyst
If the upstream skill updates frequently and does not need to be mirrored into this repo, prefer a proxy entry instead:
stock-analyst npx skills add https://github.com/chengzuopeng/stock-sdk-mcp --skill stock-analyst
Adding Local Skills
When the user asks to add a first-party skill:
- Create or inspect
local-skills/<skill-name>/. - Use the
skill-creatorworkflow first to shape the skill scope, trigger language, and resource needs. - Create the actual skill files from that
skill-creatorresult instead of copying a repository template. - Ensure the skill has its own
SKILL.md. - Add a
localrow toskills/registry.tsv. - Add the skill to a bundle only if it is generally useful.
- Run validation and sync.
Prefer rows like:
my-skill local local-skills/my-skill
When bootstrapping a new skill, prefer this sequence:
- Use
skill-creatorto decide the skill scope, trigger language, and whether scripts or references are needed. - Create
local-skills/<skill-name>/SKILL.mddirectly from the approvedskill-creatordesign. - Add references, scripts, or assets only when the workflow will benefit from them repeatedly.
- Keep the frontmatter minimal and accurate.
- Treat
skill-creatoras the only recommended entry point for new local skills.
Bundle Design
When choosing bundles:
- prefer a small number of bundles
- keep names easy to understand
- optimize for user intent, not internal taxonomy
- do not force users to understand categories before installing
Recommended bundle patterns:
core: broad, commonly useful workflow helpersfinance: investing and market-research skillscreative: visual, design, and presentation skillsproductivity: research, writing, review, and delivery helpers
Avoid making every skill part of core.
Validation and Sync
After any meaningful change to sources, bundles, or structure, run:
bash skills/check-registry.sh
bash skills/update.sh --skip-submodule-update
Use full bash skills/update.sh when the user wants to refresh submodules from upstream.
Treat these generated files as outputs:
skills/skills_list.txtskills-lock.json- directories inside
skills/
If validation fails, fix the root manifest problem instead of editing generated outputs by hand.
Installer Expectations
When maintaining installer behavior, preserve these expectations:
- zero-argument install works
- full install is the default
- bundle install is supported
- project scope is the default
- global scope is optional
- Windows PowerShell usage should remain simple
- scripts should avoid npm
prefixconflicts when usingnpx
Downstream Project Guidance
When users want to consume the hub from another repository:
- recommend keeping installation instructions in that project's README
- recommend ignoring installed agent directories in that business repo
- recommend not committing installed skill artifacts unless they explicitly want vendored or offline-managed copies
Point them to project integration templates if available.
Common Pitfalls
Watch for and fix these issues proactively:
skills/being edited directly instead oflocal-skills/- users skipping
skill-creatorand jumping straight into ad hoc skill authoring - users creating a second unofficial bootstrap path instead of using
skill-creator - duplicated source-of-truth files
- bundle lists drifting away from actual registry contents
- old submodule metadata left behind after converting a skill to local
- old mirrored artifacts left behind after converting a skill to proxy
- broken PowerShell online install flows because of parameter validation on empty env vars
npxfailures caused by user.npmrcprefixsettings- generated outputs checked in without rerunning sync
Response Style
Be concrete and operational.
- Prefer making the requested repo changes directly.
- If multiple choices exist, recommend one and explain why briefly.
- Keep the user's future maintenance burden low.
- Optimize for a working, reusable skill hub, not a one-off patch.
More from zhangga/aihub
yahoo-data-fetcher
Fetch real-time stock quotes from Yahoo Finance.
19xai-stock-sentiment
Real-time stock sentiment analysis using Twitter/X data via Grok. Use when analyzing stock ticker sentiment, tracking retail investor mood, or gauging market reaction to events.
16remotion
Remotion renderer for json-render that turns JSON timeline specs into videos. Use when working with @json-render/remotion, building video compositions from JSON, creating video catalogs, or rendering AI-generated video timelines.
14sensight
触发:查热搜/热榜(抖音/微博/小红书/推特/头条/百度);社交媒体语义搜索(微博/微信/小红书/推特,任意话题);查特定作者/账号近期发文动态;查 AI 行业资讯(论文/博客/模型发布/口碑/深度摘要)。不触发:通用知识问答、代码生成、静态事实类问题。
10long-run-harness
Use for long-running, multi-step work where the agent should keep driving toward the true final outcome across many cycles instead of stopping after one pass. Trigger when the user wants autonomous progress, durable state, session recovery, single-task execution, validation, and review gates in an existing git repository or a similarly structured workspace.
9agent-browser
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction.
8