ss-learn

A local tool for turning a person-approved UI design correction into a reusable style rule. It keeps the source material on the computer and can prepare an optional sharing package.

In plain words
What is it for?
Use it to record, review, generalize, and optionally share lessons from UI design work. Project-specific preferences that should not be generalized belong in STYLESEED.md instead.
Why use it?
It helps preserve useful design decisions without uploading project code, prompts, screenshots, brand information, or telemetry. It also separates personal approval from an agent making a change on its own.

Skill for Claude CodeCodex

Part of the styleseed plugin — 24 skills shipped together

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/bitjaru/styleseed/ss-learn
Any agent
npx skills add bitjaru/styleseed --skill ss-learn
Clone the repo
git clone --depth 1 https://github.com/bitjaru/styleseed

Made for: Claude Code, Codex.

Or install styleseed, the plugin that ships this one along with the rest of its 24 skills.

Per session 73 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,102 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00073 $0.01102
Opus 5 $0.00036 $0.00551
Sonnet 5 $0.00015 $0.00220
Haiku 4.5 $0.00007 $0.00110

Measured 3d ago against content hash 689f7eb21888, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

ss-learn scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.

The scan reads SKILL.md. This mod also ships 5 executable files (scripts/learning-contract.mjs, scripts/learning-package.mjs, scripts/learning.mjs, …), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

extensions/learning/skills/ss-learn/SKILL.md · 126 lines

How it starts

The opening of the file, as written. The whole thing — 126 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Learn from project design decisions

ss-learn turns a specific human-approved correction into a generalized candidate rule. It does not train a model, scrape a repository, or upload telemetry. The CLI is local-only. An optional plugin MCP bridge can expose one exact package to its connected client/model only after a separate one-time human grant.

Read references/privacy-contract.md before using this skill.

When not to use

  • The user did not explicitly ask to capture or share a lesson.
  • The change was accepted only by the agent, not a person.
  • The lesson cannot be expressed without client/product identity, source code, a screenshot, proprietary tokens, or user content.
  • A score or visual pass was not actually measured. Record it as null or not-run; never infer.
  • The observation belongs only to one project's taste. Keep it in STYLESEED.md instead.

1. Initialize local learning

After explicit user approval:

node <installed-ss-learn>/scripts/learning.mjs init --project-root .

This creates .styleseed/learning/config.json with sharing disabled and all raw-material collection disabled. It performs no network request.

2. Draft a candidate

Use references/candidate.schema.json. Generalize the lesson:

  • problem: what design failure was observed;
  • intervention: what bounded change the person accepted;
  • rationale: why it improved the product job;
  • appliesWhen: conditions where the judgment should transfer;
  • avoidWhen: counterexamples and failure boundaries;
  • evidence: only measured scores, verification status, and optional SHA-256 artifact hashes.

Do not include project names, URLs, paths, emails, source snippets, prompts, screenshots, colors, font names, or component names. Then capture it:

node <installed-ss-learn>/scripts/learning.mjs capture \
  --project-root . \
  --input /path/to/candidate.json

The CLI validates maintained context IDs, exact fields, privacy patterns, and evidence honesty. It writes an immutable draft ID under .styleseed/learning/candidates/.

Read the full file on GitHub · 126 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 3d ago First seen · 126 lines · 73 tokens per session scan A 689f7eb21888

Subscribe to this mod's changes

ss-learn is a skill published in the GitHub repository bitjaru/styleseed (928 stars, last pushed 7d ago), licensed MIT. It adds 73 tokens to every session and 1,102 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

extract-design

Extract the full design language from any website URL. Produces 8 output files including AI-optimized markdown, visual HTML preview, Tailwind config, React theme, shadcn/ui theme, Figma variables, W3C design tokens, and CSS variables. Also runs WCAG accessibility scoring. Use when user says 'extract design', 'get…

Manavarya09/design-extract · 98 tokens

design-dna

Extract, define, and apply design DNA across three dimensions: design system (tokens), design style (qualitative feel), and visual effects (Canvas, WebGL, 3D, particles, shaders, scroll effects, etc.). Use this skill when: (1) a user wants to see the full 3-dimension design structure/schema, (2) a user provides…

zanwei/design-dna · 192 tokens

designlang-tokens

Use when styling UI for cal.com — references the extracted design system tokens instead of inventing colors, spacing, or typography.

Manavarya09/design-extract · 30 tokens

omd-apply

프로젝트 DESIGN.md를 UI/시각 작업의 brand context로 적용. 컴포넌트·색상·폰트·레이아웃 수정 같은 구체적 요청과 톤·분위기 표현 — KR '좀 더 따뜻하게', EN 'make it warmer/cooler', 日本語「もう少し暖かく」, 繁體中文「更溫暖一點」 — 모두에 트리거. DESIGN.md 부재 시 omd:init 우선. 화면 전체 신규 디자인은 omd:harness, 교정 기록은 omd:remember.

kwakseongjae/oh-my-design · 129 tokens

claude-design

현재 코드베이스(또는 폴더)를 분석해 "디자인 컨텍스트 브리프"(스택/디자인 토큰/컴포넌트/ 라우트/실제 UI 카피/큐레이션된 에셋/레포 링크)를 합성하고, 그걸 Claude Design (claude.ai/design)에 자동으로 전달해 디자인을 생성한 뒤 결과 링크를 터미널에 클릭 가능한 형태로 돌려주는 스킬. 터미널 한 번의 호출로 코드베이스 → Claude Design 컨텍스트 이관을 수행한다. claude.ai/design 은 사용자의 로그인된 Chrome(claude-in-chrome)으로 구동하되, 상호작용 레이어가 막히면(알려진…

kwakseongjae/oh-my-design · 290 tokens

omd:autopilot

One-prompt autonomous product design and implementation. Use automatically for broad greenfield UI requests such as 'from scratch', '새 제품/화면을 알아서 만들어줘', or requests that delegate DESIGN.md creation. It decides whether to reuse, establish, refresh, or skip a project design system; asks at most one consequential…

kwakseongjae/oh-my-design · 99 tokens