{"_id":"@aaoa/sleak","_rev":"3-2b7e93af9750c7b1870d3bf7bee61b12","name":"@aaoa/sleak","dist-tags":{"latest":"0.1.2"},"versions":{"0.1.0":{"name":"@aaoa/sleak","version":"0.1.0","keywords":["agent-skill","codex","claude-code","cursor","design-system","ui"],"author":"","license":"ISC","_id":"@aaoa/sleak@0.1.0","maintainers":[{"name":"aaoa","email":"anatoleayadi@gmail.com"}],"homepage":"https://aaoa-dev.github.io/Sleak/","bugs":{"url":"https://github.com/aaoa-dev/Sleak/issues"},"bin":{"sleak":"bin/sleak.mjs"},"dist":{"shasum":"c979020a1881ffea034697087fd9e9a872a2af67","tarball":"https://registry.npmjs.org/@aaoa/sleak/-/sleak-0.1.0.tgz","fileCount":25,"integrity":"sha512-cBU45w9uQ+6vv0vMKJ8KRMOJWN4JAeKLf/XNZU9YMJrDzW4/Q2wy5fz8dP2dyA4Up5KeCBXH8PwUg8bByI3NVw==","signatures":[{"sig":"MEUCIQCh4FZOxlFt+HJZTeJG0p26pazdYCT63ys9OefupL0NTAIgIMel0/aYkkmeKK3WRZ0wPCxGeMfMojtx4ZuRQYT2S2Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":233768},"main":"index.js","type":"module","engines":{"node":">=22.20.0"},"gitHead":"fa3fcc89c235c2846c47f78cc4806f1dc7676b6c","scripts":{"test":"node --test","prepublishOnly":"npm test && npm run validate:skill","validate:skill":"node scripts/validate-skill.mjs"},"_npmUser":{"name":"aaoa","email":"anatoleayadi@gmail.com"},"repository":{"url":"git+https://github.com/aaoa-dev/Sleak.git","type":"git"},"_npmVersion":"11.11.1","description":"Install the Sleak design-decision skill for AI coding agents.","directories":{"doc":"docs","test":"test","example":"examples"},"_nodeVersion":"25.8.2","dependencies":{"skills":"^1.5.23"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sleak_0.1.0_1787386340214_0.651830906775654","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@aaoa/sleak","version":"0.1.1","keywords":["agent-skill","codex","claude-code","cursor","design-system","ui"],"author":"","license":"ISC","_id":"@aaoa/sleak@0.1.1","maintainers":[{"name":"aaoa","email":"anatoleayadi@gmail.com"}],"homepage":"https://aaoa-dev.github.io/Sleak/","bugs":{"url":"https://github.com/aaoa-dev/Sleak/issues"},"bin":{"sleak":"bin/sleak.mjs"},"dist":{"shasum":"90f56a76bfb12967fed2bd86e79b30621c29385c","tarball":"https://registry.npmjs.org/@aaoa/sleak/-/sleak-0.1.1.tgz","fileCount":25,"integrity":"sha512-YW1SS3IJ5you+QNzgALUJoskhxtRbhzv6NjoDuMyqx06RoW8DE/Lj1OhcHYZGy3lDJi/JQvvuC+gg/osk1UQbg==","signatures":[{"sig":"MEYCIQDqarrbnCaV8Kwp114MxnM/FYhZc1+wwYJd/9Bju34JMAIhALDNnOLPrDFEEigzIq8ZktDrADGsHdeTH49zvV8wYGI3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aaoa%2fsleak@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":240000},"main":"index.js","type":"module","engines":{"node":">=22.20.0"},"gitHead":"f4ffc17b2cedc750723af7d82dca9e2dce70e552","scripts":{"test":"node --test","prepublishOnly":"npm test && npm run validate:skill","validate:skill":"node scripts/validate-skill.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1d291c55-6c6c-476d-9d25-31927111f2c1"}},"repository":{"url":"git+https://github.com/aaoa-dev/Sleak.git","type":"git"},"_npmVersion":"11.17.0","description":"Install the Sleak design-decision skill for AI coding agents.","directories":{"doc":"docs","test":"test","example":"examples"},"_nodeVersion":"24.19.0","dependencies":{"skills":"^1.5.23"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/sleak_0.1.1_1787410977271_0.4209221880496463","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@aaoa/sleak","version":"0.1.2","description":"Install the Sleak design-decision skill for AI coding agents.","license":"ISC","type":"module","bin":{"sleak":"bin/sleak.mjs"},"scripts":{"test":"node --test","prepublishOnly":"npm test && npm run validate:skill","validate:skill":"node scripts/validate-skill.mjs"},"dependencies":{"skills":"^1.5.23"},"engines":{"node":">=22.20.0"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/aaoa-dev/Sleak.git"},"homepage":"https://aaoa-dev.github.io/Sleak/","bugs":{"url":"https://github.com/aaoa-dev/Sleak/issues"},"keywords":["agent-skill","codex","claude-code","cursor","design-system","ui"],"main":"index.js","directories":{"doc":"docs","example":"examples","test":"test"},"devDependencies":{},"author":"","gitHead":"efe4d04c66668c760a22518d25351212ffb94579","_id":"@aaoa/sleak@0.1.2","_nodeVersion":"24.19.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-QM0+cQOkgLfqTQBG9pxqW32QZAJQwguaT0BE0zksi8hgYi5ud/BkvPTroLNgAMYw+QRZ0ao9+HLjLUTB79Aj9Q==","shasum":"49d87fbbad3f6475dcbbb07b1044699781577eb8","tarball":"https://registry.npmjs.org/@aaoa/sleak/-/sleak-0.1.2.tgz","fileCount":25,"unpackedSize":244607,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aaoa%2fsleak@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQD/ItdqjS4EL73nhdOadPuQ7vC/ILN7zipMBAejZ6+qzQIgI/Vdm2gF4zEG52xRlMNXFQiEAhV4fB06+qNtrh9HB3M="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1d291c55-6c6c-476d-9d25-31927111f2c1"}},"maintainers":[{"name":"aaoa","email":"anatoleayadi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sleak_0.1.2_1788331485539_0.18536149120909773"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-22T08:12:20.053Z","modified":"2026-09-02T06:44:46.094Z","0.1.0":"2026-08-22T08:12:20.347Z","0.1.1":"2026-08-22T15:02:57.409Z","0.1.2":"2026-09-02T06:44:45.768Z"},"bugs":{"url":"https://github.com/aaoa-dev/Sleak/issues"},"license":"ISC","homepage":"https://aaoa-dev.github.io/Sleak/","keywords":["agent-skill","codex","claude-code","cursor","design-system","ui"],"repository":{"type":"git","url":"git+https://github.com/aaoa-dev/Sleak.git"},"description":"Install the Sleak design-decision skill for AI coding agents.","maintainers":[{"name":"aaoa","email":"anatoleayadi@gmail.com"}],"readme":"# Sleak\n\nDesign decision guide for interfaces that feel intentional, concentric radius, accent restraint, motion budget, and the other details that separate craft from template UI.\n\n**[View the site →](https://aaoa-dev.github.io/Sleak/)**\n\n[![Install Sleak with skills.sh](https://skills.sh/b/aaoa-dev/Sleak)](https://skills.sh/aaoa-dev/Sleak)\n\nFor **designers** who want a checklist while reviewing. For **engineers** implementing screens. For **agents** assisting either, load as an agent skill (Claude Code, Cursor, or any `AGENTS.md`-aware tool, see [Install](#install-agents)), or read the reference files directly.\n\n## Structure\n\n```\nSleak/\n├── SKILL.md                 # Entry point, core principles + workflow\n├── AGENTS.md                # Pointer for AGENTS.md-aware agents (Codex, Kimi, …)\n├── checklist.md             # Pre-ship audit\n├── references/\n│   ├── accessibility.md      # names, focus, targets, non-colour cues\n│   ├── color.md              # accent tiers, neutrals, dark mode\n│   ├── components.md         # buttons, icons, clickable cards\n│   ├── concentric-radius.md # parent − padding = child (core)\n│   ├── content-copy.md      # action-first UI copy\n│   ├── contrast.md          # WCAG (mathematical) + APCA (perceptual)\n│   ├── design-systems.md    # tokens, lean sets, elevation\n│   ├── layout-spacing.md\n│   ├── motion.md\n│   ├── principles.md        # decide what to build, iterate\n│   ├── section-eyebrows.md  # limit kickers / overlines (core)\n│   ├── sources.md           # reference library & credits\n│   ├── typography.md\n│   ├── ux.md                # loading/empty/error states, forms\n│   └── writing-docs.md      # how Sleak's own docs get written (not a product rule)\n├── examples/\n│   ├── before-after.md\n│   ├── landing-before.html   # natural default build (no skill applied)\n│   └── landing-after.html    # same content + layout, Sleak applied\n├── docs/                     # Static site (GitHub Pages)\n│   ├── index.html            # Landing page (self-contained)\n│   ├── assets/               # Shared CSS/JS + interactive rule demos\n│   └── rules/                # One hand-authored page per rule\n```\n\nBrowse the rules with a live, interactive demo on each: open `docs/index.html` in a browser (or the published GitHub Pages site). The rule pages under `docs/rules/` are hand-authored vanilla HTML, each interactive demo sits **inline at the section it illustrates**. The pages share `docs/assets/site.css` + `demos.js`; `references/*.md` remain the canonical, agent-facing source of truth (SKILL.md and AGENTS.md point there), so when a rule changes, update the reference **and** the matching page together.\n\n## Install (agents)\n\nThe `skills` CLI detects your coding agent and installs Sleak in the right location:\n\n```sh\nnpx skills add aaoa-dev/Sleak\n```\n\nFor a global Codex install without prompts:\n\n```sh\nnpx skills add aaoa-dev/Sleak --skill sleak --agent codex --global --yes\n```\n\nUse `--agent claude-code`, `--agent cursor`, or another supported agent when you want to choose the target explicitly. Omit `--global` for a project-local install.\n\n### npm convenience CLI\n\nThe repository also ships a scoped npm CLI. Run it directly with `npx`:\n\n```sh\nnpx @aaoa/sleak install\nnpx @aaoa/sleak install --global --agent codex\n```\n\nThe package still installs a `sleak` executable, and delegates to the maintained `skills` CLI, so agent detection, global/project scope, updates, and supported-agent paths stay consistent with skills.sh.\n\nMaintainers: configure npm trusted publishing for `@aaoa/sleak`, repository `aaoa-dev/Sleak`, and `.github/workflows/publish.yml`; GitHub releases can then publish through short-lived OIDC credentials with provenance.\n\n### Manual installation\n\nUse one of the manual methods below when Node.js or `npx` is unavailable.\n\n### Agents with a skills folder (Claude Code, Cursor)\n\nSymlink (or copy) this repo into the skills directory. **The installed folder must be named `sleak`** (lowercase, matching `name:` in `SKILL.md`) because these agents match skills by folder name.\n\n```sh\n# Run these from the Sleak clone for a personal install.\nmkdir -p ~/.claude/skills ~/.cursor/skills\nln -s \"$(pwd)\" ~/.claude/skills/sleak\nln -s \"$(pwd)\" ~/.cursor/skills/sleak\n\n# For a project-local install, run this from the target project and use the\n# absolute path to your Sleak clone.\nmkdir -p .claude/skills .cursor/skills\nln -s /absolute/path/to/Sleak .claude/skills/sleak\nln -s /absolute/path/to/Sleak .cursor/skills/sleak\n```\n\nUse `cp -r \"$(pwd)\" <dest>/sleak` instead of `ln -s` if you prefer a copy over a symlink.\n\n### Agents that use an instructions file (Codex, Kimi, Gemini, Copilot, …)\n\nThese agents have no skills folder, they read a single instructions file. Clone this repo somewhere stable, then add a pointer line to that file so the agent loads the guide when it does UI work:\n\n```md\nFor any UI / frontend / design work, read and follow the Sleak design guide\nat <path-to>/sleak/SKILL.md and its references/.\n```\n\nWhere the instructions file lives per agent:\n\n| Agent            | Project file                     | Global file                          |\n| ---------------- | -------------------------------- | ------------------------------------ |\n| OpenAI Codex     | `AGENTS.md` (repo root)          | `~/.codex/AGENTS.md`                 |\n| Kimi Code        | `AGENTS.md` (repo root)          | `~/.agents/AGENTS.md`, `~/.kimi-code/AGENTS.md` |\n| Gemini CLI       | `GEMINI.md` (repo root)          | `~/.gemini/GEMINI.md`                |\n| GitHub Copilot   | `.github/copilot-instructions.md`| —                                    |\n| Any AGENTS.md-aware tool | `AGENTS.md` (repo root)   | `~/.agents/AGENTS.md`                |\n\n`AGENTS.md` is a shared cross-tool standard, so a single repo-root `AGENTS.md` pointer covers Codex, Kimi, and most other agents that adopt it. Keep the pointer short, the agent reads `SKILL.md` on demand rather than inlining the whole guide.\n\nHuman readers can use the repo as-is, start at `SKILL.md` or jump to any `references/` file.\n\n## Status\n\n- **Concentric corner radius**, drafted (core; includes nested-container radius + text-baseline-concentric-to-corner)\n- **Section eyebrows**, drafted (core)\n- **Intentional accent use**, drafted (core, [color.md](references/color.md))\n- **Accent-hue blacks**, drafted ([color.md](references/color.md))\n- **Layout & spacing**, drafted; avoid full-bleed section dividers and keep repeated content on stable rails ([layout-spacing.md](references/layout-spacing.md))\n- **Content & copy**, drafted ([i-have-adhd](https://github.com/ayghri/i-have-adhd) + [caveman](https://github.com/JuliusBrussee/caveman) patterns)\n- **Motion**, drafted ([motion.md](references/motion.md); informed by [emilkowalski/skills](https://github.com/emilkowalski/skills), [jakubkrehel/skills](https://github.com/jakubkrehel/skills))\n- **Clickable cards**, drafted ([components.md](references/components.md))\n- **Buttons** (icon-in-a-square padding, uneven horizontal), drafted ([components.md](references/components.md))\n- **Typography**, drafted; includes tabular figures and aligned numeric columns ([typography.md](references/typography.md))\n- **Contrast**, drafted, dual-method WCAG + APCA ([contrast.md](references/contrast.md))\n- **Accessibility**, drafted, names/focus/keyboard/targets/non-colour cues ([accessibility.md](references/accessibility.md))\n- **UX & states**, drafted, loading/empty/error states, forms, control mechanics ([ux.md](references/ux.md))\n- **Design system foundations**, drafted, tokens/lean sets/atomic composition/elevation ([design-systems.md](references/design-systems.md))\n- **Principles** (process layer), how to decide what to build, research/framing/iteration/feedback ([principles.md](references/principles.md))\n- **Writing Sleak's own docs** (meta, not a product rule), Diátaxis mode and sentence clarity for this repo's own material ([writing-docs.md](references/writing-docs.md))\n- **Reference library & credits**, reference skills ([sources.md](references/sources.md))\n- **Landing demo** (open in a browser), [landing-before.html](examples/landing-before.html) + [landing-after.html](examples/landing-after.html)\n","readmeFilename":"README.md"}