Hand-rolled Skills, and other AI bits I build from my own day-to-day experience.
Skills
- coding | My coding and docs conventions and taste. Loaded first on anything that touches code or docs.
- mise-fy | Encode
misebest practices. And Transform projects into using mise + hk for a good dev setup! - cicd-fy | CI/CD patterns: build/test/scan, label-driven releases, changelogs from PRs, and publishing signed + attested artifacts.
- git | My git conventions and PR workflow.
- watch-pr | Babysit a PR: respond to reviews and fix CI, until green (or
forever).
- watch-pr | Babysit a PR: respond to reviews and fix CI, until green (or
- kubernetes-debug | WIP: Failure mode when debugging k8s
- afk | Letting the agent know I am no longer gonna be there to answer questions (un-grill-me lol).
- afk-careful | Conservative with its autonomy.
- afk-yolo | Max non-destructive autonomy.
- afk-soon | I am leaving soon, ask all ur questions now...
- review | WIP: Review patterns.
- scaffold-skill | Author skills the way I like them: progressive disclosure, routers, voice, and descriptions that actually trigger.
- grill | Matt Pocock skill extended to ask through the
AskUserQuestiontool.
Models
I mostly use (opus-4.8|5,gpt 5.5,gpt 5.6 sol|terra, and grok 4.5), weaker models might not work as good, especially that I rely on model's world knowledge over explicit examples.
Installation
npx skills for just the skills. The plugin to get my whole setup.
npx skills (recommended)
Installs skills into any SKILL.md-aware agent. You don't need a plugin host.
npx skills add sherifabdlnaby/skills # all skills
npx skills add sherifabdlnaby/skills --skill git # just one skill
npx skills list sherifabdlnaby/skills # see what's available
Claude Code (plugin)
/plugin marketplace add sherifabdlnaby/skills
/plugin install skills@sherif-plugins
Update with /plugin marketplace update sherif-plugins; manage from /plugin.
Cursor (plugin)
/plugin marketplace add sherifabdlnaby/skills
/plugin install skills
Manage from /plugin. Same repo, same skills β Cursor reads .cursor-plugin/.
Development
This repo is managed by mise: it pins every tool, exposes the tasks, and wires the git hooks, so you only deal with mise once.
brew install mise # or: apt/dnf/pacman install mise, winget install jdx.mise
echo 'eval "$(mise activate zsh)"' >> ~/.zshrc # bash: mise activate bash >> ~/.bashrc
mise doctor # confirm the install is healthy
Other install methods: installation docs.
You also need the gh CLI logged in (gh auth status) β mise doesn't
install it, and the pinact check step borrows its token to resolve action tags to SHAs. Without
it that step runs unauthenticated and gets rate-limited.
One-time setup, from the repo root:
mise trust && mise run setup # trust config, install tools, self-install the pre-commit hook
Linters, formatters, and validators run via hk:
mise run check # report on staged files (alias: mise run lint)
mise run check --fix # apply fixes
mise run check --all # whole repo
mise tasks # discover every task
The same check task runs in the pre-commit hook and in CI. lychee checks local/relative links only by default (see .config/lychee.toml).
Releases
Claude/Cursor marketplaces install straight from git and key the plugin on the version field in
.claude-plugin/plugin.json and .cursor-plugin/plugin.json β there's no published artifact.
Cutting a release:
- Bump both manifests'
versionto the same value in your PR.mise run version:check(also anhkpre-push gate) fails if shippedskills//hooks/content changed without the bump. - Merge to
main. CI notices the version moved past the latestvX.Y.Ztag and cuts the tag plus a GitHub release, with notes generated from merged PRs and grouped by label:skill,hooks,fix,docs,ci,deps. - No version bump ships no release. A PR's sticky comment previews which outcome a merge would produce.
There's nothing to verify or download: the marketplaces install the repo at the tag.
Contributing
See CONTRIBUTING.md.
No comments yet
Be the first to share your take.