{"_id":"@aiengkenn/agent-skills","name":"@aiengkenn/agent-skills","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@aiengkenn/agent-skills","version":"1.0.0","description":"Public agent skills by aiengkenn — Sanity Editor UX and more. Install with npx skills add aiengkenn/agent-skills","license":"MIT","type":"module","bin":{"aiengkenn-skills":"bin/install.mjs"},"keywords":["agent-skills","cursor","claude-code","skills","sanity","cms","aiengkenn"],"repository":{"type":"git","url":"git+https://github.com/aiengkenn/agent-skills.git"},"homepage":"https://github.com/aiengkenn/agent-skills#readme","bugs":{"url":"https://github.com/aiengkenn/agent-skills/issues"},"author":{"name":"aiengkenn"},"engines":{"node":">=18"},"scripts":{"install-skill":"node bin/install.mjs","list":"node bin/install.mjs --list"},"_id":"@aiengkenn/agent-skills@1.0.0","gitHead":"ef8a8cd4aede5e46c5ac3923bbb83d31e82c1ea9","_nodeVersion":"20.16.0","_npmVersion":"10.8.1","dist":{"integrity":"sha512-73mc0lrXnJDWJyErsDYfyVm9C3ssdEuGtYycPIKIsoUdp8RaFDKJSzvUcrvMPpbEw4Gx62ENSuMZZE17NL1OPg==","shasum":"4fa540b9439c9493e0f9e74022aa3da1eaddac9a","tarball":"https://registry.npmjs.org/@aiengkenn/agent-skills/-/agent-skills-1.0.0.tgz","fileCount":68,"unpackedSize":157854,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICRqoX1mE9MJ76vnQdpYUbGd9u9B4dId6Aq6ycY/AFpPAiBYdX2d3jsAQFBp9mhSmHTrTuKXtSTcU6x/o6fZME3+nw=="}]},"_npmUser":{"name":"aiengkenn","email":"kibadikennedy@gmail.com"},"directories":{},"maintainers":[{"name":"aiengkenn","email":"kibadikennedy@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/agent-skills_1.0.0_1784913116594_0.5998854140344323"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-24T17:11:56.459Z","1.0.0":"2026-07-24T17:11:56.754Z","modified":"2026-07-24T17:11:56.967Z"},"maintainers":[{"name":"aiengkenn","email":"kibadikennedy@gmail.com"}],"description":"Public agent skills by aiengkenn — Sanity Editor UX and more. Install with npx skills add aiengkenn/agent-skills","homepage":"https://github.com/aiengkenn/agent-skills#readme","keywords":["agent-skills","cursor","claude-code","skills","sanity","cms","aiengkenn"],"repository":{"type":"git","url":"git+https://github.com/aiengkenn/agent-skills.git"},"author":{"name":"aiengkenn"},"bugs":{"url":"https://github.com/aiengkenn/agent-skills/issues"},"license":"MIT","readme":"# agent-skills (AIEngKenn)\n\nPublic **multi-skill** monorepo for AI coding agents (Cursor, Claude Code, and friends).\n\nSkills are **installable and flat**. Domains group docs + starters by tool so the repo stays readable as more kits land.\n\n## Repo layout\n\n```text\nskills/                 ← installable only (each folder has SKILL.md)\n  sanity-editor-ux/\n  sanity-safe-bootstrap/\n  …\n\nsanity/                 ← Sanity domain (overview + code starters)\n  README.md\n  starters/sanity-editor-ux/\n\n# future domains (same pattern):\n# next/\n# vercel/\n```\n\n**Why:** `npx skills add … --skill <name>` expects `skills/<name>/SKILL.md`. Nesting skills under a domain would break discovery. Domains hold human docs and starters instead.\n\n## Install\n\n```bash\n# One skill\nnpx skills add AIEngKenn/agent-skills --skill sanity-editor-ux\n\n# Entire repo\nnpx skills add AIEngKenn/agent-skills --all\n\n# Global\nnpx skills add AIEngKenn/agent-skills -g --skill sanity-editor-ux\n```\n\nOr:\n\n```bash\nnpx @aiengkenn/agent-skills --skill sanity-safe-bootstrap\nnpx @aiengkenn/agent-skills --all\nnpx @aiengkenn/agent-skills --list\n```\n\n## Domains\n\n| Domain | Contents |\n|--------|----------|\n| [sanity/](./sanity/) | Sanity client-delivery kit — [skills list + starters](./sanity/README.md) |\n\n## Skills (quick index)\n\n| Skill | What it does |\n|-------|----------------|\n| [sanity-editor-ux](./skills/sanity-editor-ux/) | Editor-friendly Studio (labels, desk, help, any language) |\n| [sanity-safe-bootstrap](./skills/sanity-safe-bootstrap/) | Seed CMS from fallbacks without overwriting editors |\n| [sanity-client-handoff](./skills/sanity-client-handoff/) | Client training, Publish discipline, handoff pack |\n| [sanity-next-revalidate](./skills/sanity-next-revalidate/) | Sanity webhooks → Next.js App Router revalidation |\n| [sanity-draft-preview](./skills/sanity-draft-preview/) | Draft Mode / Presentation / preview drafts |\n| [sanity-singleton-architecture](./skills/sanity-singleton-architecture/) | Fixed IDs, desk pinning, coalesce queries |\n| [sanity-studio-roles](./skills/sanity-studio-roles/) | Least-privilege roles for client teams |\n| [sanity-image-pipeline](./skills/sanity-image-pipeline/) | Alt, hotspot, urlFor, Next Image, fallbacks |\n| [sanity-dual-studio](./skills/sanity-dual-studio/) | Align `/studio` + standalone config; one node_modules |\n| [sanity-typegen-ci](./skills/sanity-typegen-ci/) | TypeGen + CI so GROQ/TS stay in sync |\n| [sanity-hardcoded-to-cms](./skills/sanity-hardcoded-to-cms/) | Extract hardcoded UI copy into Sanity safely |\n| [sanity-dataset-ops](./skills/sanity-dataset-ops/) | Backup, staging clone, prod hygiene |\n\nFull Sanity learning path: [sanity/README.md](./sanity/README.md).\n\n## Use\n\n```text\n@sanity-safe-bootstrap Add a dry-run safe bootstrap from our fallbacks.\n```\n\n```text\n@sanity-next-revalidate Wire Sanity publish → Next revalidateTag.\n```\n\n## Add a skill or domain\n\nSee [CONTRIBUTING.md](./CONTRIBUTING.md).\n\n## License\n\nMIT © AIEngKenn\n","readmeFilename":"README.md","_rev":"1-688d10c81bb92da32614034bab05e897"}