This repository stores personal Codex / Claude Code skills in a scalable directory layout.
SKILL/
├── README.md
├── skills/
│ ├── automation/
│ ├── content/
│ ├── infrastructure/
│ ├── research/
│ └── writing/
│ └── <skill-name>/
│ ├── SKILL.md
│ ├── references/ (optional)
│ ├── scripts/ (optional)
│ └── assets/ (optional)
└── templates/
├── SKILL.template.md
└── SKILL.with-references.template.md
- Place real skills only under
skills/. - Group skills by a stable domain:
automation,content,infrastructure,research, orwriting. - Each skill lives in its own directory with a required
SKILL.mdplus optionalagents/,references/,scripts/, orassets/. - Keep
templates/for reusable skeletons only — they are not active skills. - Avoid credentials, tokens, or machine-specific secrets in skill files.
- One skill per directory, even when the first version is only a single
SKILL.md. - Domain folders are stable classification buckets; do not encode transient project names at the domain level.
Repeated shell workflows, CLI procedures, scripting playbooks.
| Skill | Purpose |
|---|---|
session-handoff |
Produce a self-contained handoff prompt for another agent when delegating continued work |
session-to-skill-and-blog |
Productize a completed engineering session as a paired skill (in this repo) and a published blog post that links to it |
working-summary |
Work summary / 周报 from GitHub PRs/commits and optional Linear trackers; markdown for notes (e.g. Obsidian) |
Media generation, character assets, site SEO imagery.
| Skill | Purpose |
|---|---|
acg-character-settei |
Generate ACG character settei sheet (multi-view + expression + callouts) from a reference image via Gemini |
chibi-sticker-sheet |
Generate a 4×8 chibi sticker sheet from a character reference via Gemini, with alpha keying and 1:1 cell slicing |
gemini-image-generation |
Gemini text-to-image and image-to-image — style transfer, character consistency, watermark removal |
gemini-seo-image-assets |
Generate favicon/OG artwork via Gemini, export icon variants, and wire SEO metadata |
Deployment, servers, databases, containers, networking, observability.
| Skill | Purpose |
|---|---|
capture-output-via-sidechannel |
Capture stdout/stderr from runners/CI/containers when log retrieval is unavailable, by persisting output to a readable store |
ci-smoke-needs-real-deps |
Fix CI release smoke tests that fail after a stack migration by aligning service containers and env vars with ci.yml |
cloudflare-r2-upload |
Upload files/batches to Cloudflare R2 via wrangler, resolve multi-account context, set MIME, and verify public URLs |
dokploy-api-cli |
Operate Dokploy deployments via REST API — create/update/deploy services, switch sources, script redeploys |
dokploy-internal-oneshot |
Run ephemeral one-shot tasks inside a Dokploy project's internal network without exposing services publicly |
dokploy-traefik-traffic-split |
Canary two backends on one Dokploy domain with path-aware weighted+sticky Traefik routing; covers SPA asset trap and rollback |
edge-canary-split |
Cookie-sticky canary rollout between two Vercel apps via a Cloudflare Worker, with hashed assets offloaded to R2 so they never traverse the worker |
electron-native-lib-extraction |
Extract an in-app Electron native-module integration into a standalone source-distributed npm library with its release toolchain |
mx-space-remote-db-access |
Remote mx-space PostgreSQL inspection and guarded updates via ssh → docker exec → psql |
mx-space-remote-translation-audit |
Remote translation auditing — coverage checks, hash freshness, and route-level verification |
nextjs-rsc-to-react-router-v8-migration |
Migrate a Next.js App-Router / RSC site to React Router v8 for CDN-cacheable SSR under multi-locale cost pressure |
vless-reality-aws-lightsail |
End-to-end VLESS+Reality+Vision on AWS Lightsail, with Alpine LXC SOCKS5 bridge for LAN and Surge wiring |
Data analysis, report generation, conversation mining.
| Skill | Purpose |
|---|
Structured writing, design docs, editorial judgment.
| Skill | Purpose |
|---|
Skills are loaded by Copilot CLI (.agent/) and Claude Code (.claude/) via flat symlinks under their respective skills/ directories. Each agent expects skills exactly one level deep: .agent/skills/<skill-name>/SKILL.md.
.agent/skills/
└── <skill-name> -> ../../skills/<domain>/<skill-name>
.claude/skills/
└── <skill-name> -> ../../skills/<domain>/<skill-name>
Warning
Do not symlink the entire skills/ directory — agents will not discover nested domain subdirectories.
- Create a directory under
skills/<domain>/<skill-name>/. - Copy
templates/SKILL.template.mdinto that directory asSKILL.md. - Fill in the frontmatter and keep the body concise.
- Add optional
references/,scripts/, orassets/only when they improve reuse. - Add a row to the matching domain table in this README.
- Create flat symlinks in both agent skill roots:
ln -sf ../../skills/<domain>/<skill-name> .agent/skills/<skill-name>
ln -sf ../../skills/<domain>/<skill-name> .claude/skills/<skill-name>- Directory names: lowercase kebab-case.
- Skill
namevalues: stable and descriptive. - Prefer names that state both target and action, e.g.
mx-space-remote-db-accessorarticle-publish-checklist.
A pre-commit hook in .githooks/pre-commit enforces the rules above: every skill under skills/<domain>/<name>/SKILL.md must have a README entry and matching flat symlinks under .agent/skills/ and .claude/skills/. Orphan symlinks fail the hook too.
Enable it once per clone:
git config core.hooksPath .githooksIf you must bypass it for a non-skill commit, use git commit --no-verify.
| chat-export-report | Analyze exported chat logs (WeChat / Telegram / iMessage / QQ) into layered, drill-down reports grounded in original quotes |
| codebase-value-audit | Audit whether a codebase's size is justified: strict LOC accounting, product-surface inventory, per-sub-product line attribution and worth verdicts |
| generate-design-md | Produce DESIGN.md for a brand/site from live CSS and tokens (awesome-design-md format) |
| holding-analytical-judgment | Keep analysis grounded in evidence; do not flip conclusions for mood alone (code review, diagnosis, post-mortems) |