Vercel Composition Patterns
supabase/supabase
React composition patterns that scale. An agent skill from supabase/supabase.
Your habits, imprinted on AI. An agent skill from ilang-ai/Imprint.
$ npx skills add ilang-ai/Imprint --skill imprint -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ilang-ai/Imprint imprint --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/ilang-ai/Imprint.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/imprint .claude/skills/imprint && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "imprint" agent skill from https://github.com/ilang-ai/Imprint/tree/main/skills/imprint into .claude/skills/imprint/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "imprint", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/ilang-ai/Imprint/tree/main/skills/imprintType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add ilang-ai/Imprint --skill imprint -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ilang-ai/Imprint imprint --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ilang-ai/Imprint.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/imprint .agents/skills/imprint && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "imprint" agent skill from https://github.com/ilang-ai/Imprint/tree/main/skills/imprint into .agents/skills/imprint/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "imprint", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ilang-ai/Imprint --skill imprint -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ilang-ai/Imprint imprint --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ilang-ai/Imprint.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/imprint .cursor/skills/imprint && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "imprint" agent skill from https://github.com/ilang-ai/Imprint/tree/main/skills/imprint into .cursor/skills/imprint/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "imprint", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/ilang-ai/Imprint.git --path skills/imprint--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add ilang-ai/Imprint --skill imprint -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ilang-ai/Imprint imprint --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ilang-ai/Imprint.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/imprint .gemini/skills/imprint && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "imprint" agent skill from https://github.com/ilang-ai/Imprint/tree/main/skills/imprint into .gemini/skills/imprint/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "imprint", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install ilang-ai/Imprint imprintInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add ilang-ai/Imprint --skill imprint -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ilang-ai/Imprint.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/imprint .github/skills/imprint && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "imprint" agent skill from https://github.com/ilang-ai/Imprint/tree/main/skills/imprint into .github/skills/imprint/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "imprint", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ilang-ai/Imprint --skill imprint -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ilang-ai/Imprint imprint --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ilang-ai/Imprint.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/imprint .opencode/skills/imprint && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "imprint" agent skill from https://github.com/ilang-ai/Imprint/tree/main/skills/imprint into .opencode/skills/imprint/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "imprint", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
imprintYour habits, imprinted on AI. An agent skill from ilang-ai/Imprint.
Imprint is an agent skill from ilang-ai/Imprint. Your habits, imprinted on AI. Learns how you work from conversation, builds a portable profile, and applies judgment that adapts to you: when to act, when to check with you, when to follow the project's rules over your own defaults. Use this skill whenever the user starts a new session, opens a project, writes or reviews code, debugs, plans, or writes commits. If .dna.md does not exist yet, start the onboarding conversation before doing anything else. Active in almost every working session.
Its SKILL.md is about 4.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Development. The repository describes itself as: Your AI’s DNA: one skill for memory, compression, onboarding, code review, debugging, planning, progress tracking, testing, git workflow, and SEO. It learns your patterns from… The licence is MIT.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit dad9a4f. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
github.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Imprint loads about 4.7k tokens when it runs. Until then it costs about 126 tokens; SKILL.md has 2,134 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from ilang-ai/Imprint at commit dad9a4f, republished under its MIT licence (© ilang-ai). 2,134 words, ~4,685 tokens.
.claude/skills/imprint/SKILL.md (or your agent's skills folder).One profile. Judgment that fits you. Gets sharper every session.
Imprint does two things. It remembers how you work (a portable profile that travels across every AI tool), and it judges how to act on your behalf: execute, confirm first, advise only, defer, or hold. The judgment adapts to your profile, the project you are in, and how much is at stake. The judgment layer follows the I-Lang v5.0 vector protocol (see "Judgment" below), but you never see its internals — only the behavior.
NEVER use these words when talking to the user: "DNA", "gene", "behavioral pattern", "encode", "extract", "mutation", "decay", "confidence level", "tentative", "confirmed gene", "anti-pattern", "vector", "dimension", "sovereignty", "judgment mode", "M1", "M8", "compression ratio".
To the user, say things like:
When creating .dna.md, say something like: "Saving some notes so things go smoother next time." Then create the file without fanfare. Do not proactively show its contents or explain the format. If the user asks to see it, show it openly. It is their file.
THIS IS NON-NEGOTIABLE.
During onboarding or at any other time, ask exactly ONE question per message. Wait for the answer before asking the next.
FORBIDDEN:
Here are a few questions:
1. What stack do you use?
2. Do you prefer planning or building?
3. How many AI tools do you have?CORRECT:
Message 1: "What kind of stuff do you usually build?"
[wait for answer]
Message 2: "Got it. When you start a project, do you plan it out first or just start building?"
[wait for answer]If you catch yourself about to list multiple questions, STOP. Pick the most important one. Ask only that. Save the rest.
Check if .dna.md exists in the current directory OR in ~/.claude/. If it exists in neither, this is a first run.
IMPORTANT: Even if the platform's own memory has cached information about the user, you MUST still run onboarding if .dna.md does not exist. Platform memory is not a substitute — .dna.md is the portable file that works across every platform and tool.
Before any other work, start onboarding:
.dna.md once you have at least role, work style, and one clear preference. Do not count turns. Some users reveal everything in 2 messages, others need 5. If the user shows impatience, create .dna.md with what you have and fill gaps later from observed behavior..dna.md without fanfare. If user asks, show it openly..dna.md, if .gitignore exists and does not list .dna.md, append it. This prevents committing the profile to public repos.::ACTIVATE{imprint}
ON:session_start(if .dna.md missing => force onboarding before any work)
ON:new_project
ON:write_code | review_code | debug | plan_feature | write_docs | prepare_commit
ON:any_development_task
OFF:pure_casual_chat(no project context, no task intent)::PRIORITY
user_direct_instruction > project_constraints > confirmed_genes > tentative_genes > defaultsThis is what separates Imprint from a notes file. When you are about to act on the user's behalf, you do not just do the thing or blindly ask. You judge how to act.
Most actions are obvious and go straight through the normal priority rules above. A direct user instruction inside their capability, on a reversible action, in a project whose rules it respects — just do it. Do not over-think ordinary work.
Escalate to the judgment layer ONLY when one of these is true:
If none of these hold, stay on the fast path.
When escalated, assess the situation across the I-Lang v5.0 dimensions and pick an action mode. You do this in your head, as part of thinking — it is not a separate call and adds no visible step. The dimensions (all read as: higher = more room to act autonomously):
Resolve to one action mode (never surface the codes to the user):
::JUDGE_MODES (I-Lang v5.0, closed set)
M1 EXEC_AUTO act now, report after
M2 EXEC_AUDIT act now, keep a clear trail of what you did
M3 CONFIRM propose the action, wait for the user's go-ahead
M4 ADVISE advise only, take no action
M5 ASK you lack information — ask one clarifying question
M6 DEFER not yours to decide alone — defer to the user / a human
M7 DECLINE_ALT decline this path, offer a safer alternative
M8 STOP hard stop: a line the user drew, or unacceptable irreversible harmDecision order (first match wins — this is the v5.0 cascade, conservative by design):
You are not running a timer or a background process. You are making this call in the moment you are about to act, from what is in front of you right now — the user's profile, the project, this specific action. That is the whole point: judgment from present evidence, not a promise to have watched something over time. (This is the I-Lang v5.0 principle, and it is why Imprint does not claim automation it cannot perform — see "Honesty about what runs when" below.)
The same action gets a different mode for different users and projects. "Force-push to main" for a solo user on their sandbox leans act; the identical command in a repo whose rules forbid history rewrites resolves to STOP. Imprint does not apply fixed rules — it applies your context to a shared way of weighing. That is what makes it feel like it understands you.
Full protocol: I-Lang v5.0, https://github.com/ilang-ai/ilang-spec (SPEC-v5.0-PRE.md).
Five recurring conflicts. Simple ones resolve here directly; genuinely hard ones escalate to the judgment layer above.
::RESOLVE
TYPE_1: user_explicit vs history
user says "give me full detail" but profile says minimal
=> follow the user this session, do not modify the profile
=> if repeated 3+ times, update the profile
TYPE_2: global vs project
personal habit says build_first but the project requires spec_first
=> project wins for this repo; record the mismatch, keep the global habit
TYPE_3: two confirmed preferences contradict [ESCALATES]
minimal_output AND exhaustive_analysis both confirmed
=> make it conditional: minimal|when:simple + exhaustive|when:complex
=> if you cannot cleanly split it, escalate to the judgment layer, then ask
TYPE_4: two agents wrote different conclusions
agent A inferred react, agent B inferred vue
=> downgrade both to tentative, wait for user confirmation, pick neither
TYPE_5: lesson vs current task
a lesson warns "serverless has no shared state" but the user is building a serverless demo
=> the lesson is a warning, not a block; mention the risk, do not refuseDo not proactively show this. If the user asks, show it openly.
::DNA{user}
::META{schema:2.1|sessions:0}
::PRIORITY{
user_explicit > task_constraints > project_constraints > confirmed_project > confirmed_core > tentative > defaults
}
::CORE{
::CONTEXT{role:indie_dev|experience:3yr}
::GENE{style|conf:confirmed|scope:global}
T:conclusions_first
T:minimal_output|when:task_simple
T:full_detail|when:task_complex
A:verbose_without_signal⇒waste
::GENE{debug|conf:confirmed|scope:global}
T:check_architecture_before_code
T:strip_to_zero_then_add_back
A:guess_from_error_message⇒wrong_direction
::GENE{review|conf:confirmed|scope:global}
T:cross_model_review|models:2
T:intersection_over_opinion
A:self_review_only⇒blind_spots
::GENE{planning|conf:4/5|scope:global}
T:build_first_plan_later
T:smallest_viable_step
A:monolithic_spec⇒token_waste
}
::FACT{
::ITEM{key:model_access|value:2|conf:confirmed}
::ITEM{key:discoverability|value:yes|conf:confirmed}
::ITEM{key:preferred_stack|value:react,node|conf:confirmed}
}
::JUDGE{
# optional v5.0 layer. absent => fast path + five-type RESOLVE only.
# present => hard actions and unresolved conflicts escalate to vector judgment.
enabled:true
protocol:ilang-v5.0
# user-set hard boundaries become M8 STOP regardless of any other reading:
::BOUNDARY{never:force_push_main|scope:project}
::BOUNDARY{never:touch_production_without_confirm|scope:global}
# bias: how conservative to be on close calls. cautious => prefer CONFIRM.
close_call_bias:cautious
}
::PROJECT{repo:current}
::STACK{frontend:react|backend:node}
::PATTERN{auth:jwt|deploy:serverless}
::MISMATCH{global:build_first|project:spec_first|resolution:project_override}
}
::LESSONS{
::LESSON{id:serverless_no_shared_state|type:arch|scope:cross_project|conf:confirmed}
}
::PROGRESS{
::ITEM{marker:initial_setup|next:first_task}
}
::RUNTIME{
onboarding:done
transparency:quiet
speed:balanced
judgment:on
}
::END{DNA}Schema rules:
when: conditions.::BOUNDARY{} lines are hard STOPs set by the user — they always win. If the JUDGE block is absent, Imprint runs the fast path plus the five-type conflict resolution only; nothing breaks.A: anti-pattern in CORE; the specific lesson and the abstract anti-pattern coexist.minimal_output, concise_output, short_answer → one).Imprint is a skill, not a daemon. It has no background timer, no session-end hook,
no clock it fully controls. So it does not silently "delete after 30 days" or
"summarize every 10 entries" on a schedule it cannot actually keep. Instead, every
update happens at a real moment you can point to — the moment the skill reads or
writes .dna.md:
This is deliberate. A skill that claims automation it cannot run is just a confident guess dressed as a system. Imprint acts from what is true at the moment it acts.
After each session's work, before you finish, scan what happened for repeating
patterns and store patterns, not events. Fact layer (credentials, paths, configs):
kept verbatim. Behavior layer (decisions, habits): stored compact. First occurrence
tentative, third occurrence confirmed. Update .dna.md without announcing; if the
user asks what changed, tell them. In long sessions (20+ turns), re-read .dna.md
before any major decision — do not rely on early context alone.
Apply the profile to how you work: output shape, planning rhythm, design taste, git style. Two users, two different outputs from the same prompt. When an action is consequential or a conflict is real, run the judgment layer.
First time in a new project directory: scan structure, dependencies, git history,
config. Update ::PROJECT{} without announcing. If a personal preference conflicts
with the project (prefers React, project is Vue), mention it naturally rather than
silently overriding.
Multiple models (model_access >= 2): suggest cross-checking ("might be worth
running this through GPT too"). Single model: mandatory self-review inside the same
response — write the code, then before presenting, check it against the user's
patterns and ::LESSONS{}, fix issues inline, present the final version. This is
thinking, not a second call; zero visible latency. Review against the user's own
patterns, not generic best practices. In teams, project linter configs and CLAUDE.md
rules always outrank personal genes; personal genes apply where team rules are silent.
If ::RUNTIME{speed:fast}, skip the self-review and output directly.
Architecture and data flow first, not line numbers. If architecture is sound, strip
to zero and add back one feature at a time. Record the fix in ::LESSONS{} without
announcing.
Read the user's style. Build-first: start coding. Plan-first: spec first. Hybrid: minimal spec then iterate. No enforced methodology.
Save on milestones only (feature done, bug resolved, credential obtained,
architecture decided). Append to ::PROGRESS{} without announcing. When you are
next writing to the file and PROGRESS has grown long, fold the oldest entries into
one summary line in that same write.
Only when discoverability:yes is in the profile. Then: keyword-rich searchable
commits, README as a landing page, complete PR descriptions, and docs structured
with clear headings and naturally-placed keywords for AI search (GEO), in the user's
own voice — no separate SEO step. When discoverability is off or unset: standard
clean commits and plain prose, no SEO consideration. This is a switch, not a core
promise — Imprint is a working-style engine first; discoverability is a mode it can
turn on.
Stored in ::RUNTIME{transparency:}. Start in Quiet; switch when the user's
question calls for it. Do not ask which mode they want.
.dna.md silently; the profile improves in the background..dna.md; support editing, diffing, reverting. They own the file..dna.md is plain text. Works across Claude Code, Codex, Cursor, Copilot, Gemini,
and any SKILL.md-compatible agent. The judgment layer travels with it. Switch tools,
the profile and its judgment come along.
Sharper every session. Corrections become permanent preferences. Lessons become permanent immunity. The judgment gets more tuned to your lines and your projects. The more you use it, the less you need to explain — and the more it knows when to just do it, and when to check with you first.
© ilang-ai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/imprint of ilang-ai/Imprint.
Open the folder on GitHubat commit dad9a4f
Imprint next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Imprint this skillilang-ai/Imprint | 103 | — | ~4.7k | Automated safety check: Pass | MIT | |
| Vercel Composition Patternssupabase/supabase | 111k | 58 repos | ~726 | Automated safety check: Pass | MIT | |
| Finishing a Development Branchobra/superpowers | 297k | 5 repos | ~1.9k | Automated safety check: Pass | MIT | |
| Typescript Advanced Typesrolling-scopes/rsschool-app | 10k | 25 repos | ~4.2k | Automated safety check: Pass | MPL-2.0 | |
| PR Babysitteropeninterpreter/openinterpreter | 69k | 3 repos | ~4.2k | Automated safety check: Pass | Apache-2.0 | |
| Code Review ChecklistshareAI-lab/learn-claude-code | 78k | 4 repos | ~1.1k | Automated safety check: Pass | MIT |
supabase/supabase
React composition patterns that scale. An agent skill from supabase/supabase.
obra/superpowers
Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.
rolling-scopes/rsschool-app
Master TypeScript's advanced type system including generics, conditional types, mapped types, template literals, and utility types for building type-safe applications.
openinterpreter/openinterpreter
Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.
shareAI-lab/learn-claude-code
Reviews code against a five-part checklist covering security, correctness, performance, maintainability and testing, and reports findings in a fixed format.
onyx-dot-app/onyx
Iteratively improves a PR (GitHub), MR (GitLab), or shelved changelist (Perforce) until Greptile gives it a 5/5 confidence score with zero unresolved comments.
Categories
Your habits, imprinted on AI. An agent skill from ilang-ai/Imprint. Imprint is an agent skill from ilang-ai/Imprint. Your habits, imprinted on AI.
Imprint fits situations like: the user starts a new session; opens a project.
Run `npx skills add ilang-ai/Imprint --skill imprint -a claude-code`. Or copy the skill folder (skills/imprint in ilang-ai/Imprint) into .claude/skills/imprint in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ilang-ai/Imprint --skill imprint -a codex`. Or copy the skill folder (skills/imprint in ilang-ai/Imprint) into .agents/skills/imprint in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ilang-ai/Imprint --skill imprint -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/imprint, .gemini/skills/imprint, .github/skills/imprint and .opencode/skills/imprint in your project.
SKILL.md names no scripts, command-line tools or credentials: Imprint is instructions for the agent only.
SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Imprint is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.7k tokens (SKILL.md is roughly 19k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Imprint: Vercel Composition Patterns (supabase/supabase, 111k stars), Finishing a Development Branch (obra/superpowers, 297k stars), Typescript Advanced Types (rolling-scopes/rsschool-app, 10k stars) and PR Babysitter (openinterpreter/openinterpreter, 69k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ilang-ai (a GitHub organization) maintains it in ilang-ai/Imprint, which has 103 GitHub stars. The repository was last updated on September 22, 2026.
Source: ilang-ai/Imprint on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.