Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Imprint

ASecurity

Set up a repository with a person's standing preferences — configs, lint/format, tsconfig, CI, GitHub settings, AGENTS.md, IDE settings. Use when the user wants to "imprint" a repo, scaffold a new project to their conventions, apply their house style, or bootstrap tooling for a fresh or existing repo. Looks for a `<username>/imprint` repo and applies its IMPRINT.md. Pass `fork` to instead create the caller's own imprint repo from this one.

2 stars
0 votes
0 copies
0 views
Added 9/23/2026
developmentrustbashgitapi

Works with

api

Security Analysis

A100/100

Scanned 9/23/2026

Install to Claude Code

$npx -y skills add gkurt/imprint --skill imprint --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Imprint?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Imprint
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/gkurt-imprint/badge)](https://www.skillsdirectory.com/skills/gkurt-imprint)

More formats (shields.io, HTML) on the badges page.

Download with Pro
Files
SKILL.md
---
name: imprint
description: Set up a repository with a person's standing preferences — configs, lint/format, tsconfig, CI, GitHub settings, AGENTS.md, IDE settings. Use when the user wants to "imprint" a repo, scaffold a new project to their conventions, apply their house style, or bootstrap tooling for a fresh or existing repo. Looks for a `<username>/imprint` repo and applies its IMPRINT.md. Pass `fork` to instead create the caller's own imprint repo from this one.
user-invocable: true
disable-model-invocation: true
argument-hint: "[fork]"
license: MIT
metadata:
  - type: repo
    name: gkurt/imprint
    url: https://github.com/gkurt/imprint
---

# Imprint

Apply a person's standing repository preferences to the current project. Those
preferences live in a public `<username>/imprint` repo — a manifest (`IMPRINT.md`)
plus template files for configs, CI, IDE settings, and agent instructions.

"To imprint" = read that manifest and apply it to the working repo, adapting to
what the repo already is rather than blindly overwriting.

## Modes

- **Default (no argument)** — apply an imprint to the current repo. Follow the
  procedure below.
- **`fork`** — create the caller's *own* imprint repo from this one, populated
  with their preferences. Do **not** follow the procedure below; follow
  [fork.md](fork.md) instead.

## Procedure

### 1. Pick whose imprint to apply

An imprint source can be **a local directory** or **a GitHub repo (public or
private)**. If the user named one explicitly ("imprint from `~/dev/imprint`", or
"from `torvalds`"), use that and skip the detection below.

Otherwise, resolve the user's own imprint, checking cheapest-first:

1. **Local clone** — the user may already have it on disk. Check, in order:
   - `$IMPRINT_DIR` if set.
   - Common spots near the current repo: a sibling `../imprint`, and dev roots
     like `~/imprint`, `~/dev/imprint`, `~/Work/**/imprint`, `~/src/imprint`.
   - A directory is a valid imprint if it contains an `IMPRINT.md`.
2. **Their GitHub handle**, via `gh api user --jq .login` (if `gh` is
   authenticated), else parse `git config --get remote.origin.url` for
   `github.com[:/]<owner>/`, else `git config user.name` as a hint. Then:
   ```bash
   gh repo view <handle>/imprint --json name,visibility 2>/dev/null
   ```
   `gh` sees **private** repos the user can access, so this works either way.

- **If a local clone or `<handle>/imprint` is found** → use it. Tell the user
  which source (and whether it's local / private / public). For a **local clone
  with a git remote**, check it isn't stale before trusting it: `git -C <dir>
  fetch` then compare with `git -C <dir> status -sb` / `git -C <dir> rev-list
  --count HEAD..@{u}`. If it's behind its upstream (or has uncommitted local
  edits, or you can't determine freshness — no remote, offline), **ask**:

  > Your local imprint at `<dir>` is N commits behind origin (or: has local
  > changes / can't verify it's current). Update it, use it as-is, or fetch from
  > GitHub instead?

  Only skip the prompt when the clone is verifiably up to date with its upstream.
- **If none is found** → ask:

  > No imprint found for you (local or on GitHub). Imprint from someone else's, or
  > a local path? (default: `gkurt`)

  Accept a local path, any `owner/imprint`, or a bare `owner`. If they just
  confirm, use **`gkurt`** (the author's — the one this skill shipped from).
  Encourage them to fork it and make their own for next time (see the source
  repo's README).

### 2. Read the manifest from the source

**If the source is a local directory**, read the files directly — no clone
needed. Prefer a local clone whenever one exists, but only after the freshness
check in step 1: a local clone is the fast path, not an excuse to apply stale
preferences. If the user chose "update," pull first (`git -C <dir> pull --ff-only`)
and then read; if they chose "fetch from GitHub instead," treat it as a remote
source below.

**If the source is a GitHub repo**, get its `IMPRINT.md` in a way that works for
private repos too:

```bash
# gh API — authenticated, so it works for private AND public repos:
gh api repos/<owner>/imprint/contents/IMPRINT.md --jq .content | base64 -d
```

If you'll need many files, clone shallowly (SSH or gh handles private auth;
`git clone https://…` and `raw.githubusercontent.com` do NOT work for private
repos without a token — don't rely on them):

```bash
gh repo clone <owner>/imprint <tmp>/imprint -- --depth 1
```

If `gh` is unavailable/unauthenticated and the repo is public, fall back to
`https://raw.githubusercontent.com/<owner>/imprint/main/IMPRINT.md` or an HTTPS
clone. If it's private and `gh` can't reach it, stop and ask the user to either
`gh auth login`, clone it locally, or point you at a local path — do not guess.

Do NOT assume the imprint content is bundled with this skill — always read it
from the resolved source so you get the owner's current preferences.

### 3. Follow IMPRINT.md

`IMPRINT.md` is the source of truth. It lists the folders (`stack/`, `config/`,
`ide/`, `agents/`, `ci/`, `github/`) and the order to apply them, including the
source→destination file mapping and any rename rules (e.g. `gitignore` → `.gitignore`).

Read `stack/README.md` first to fix the archetype (Bun monorepo? Astro site? npm
lib?), then apply each section.

### 4. Apply — adapt, don't clobber

- **Detect the target repo's reality first**: language, existing configs, whether
  it's a monorepo, what package manager it uses. Only apply what fits.
- **Merge, don't overwrite blindly.** For `package.json`, merge scripts and
  devDependencies into the existing file rather than replacing it. For configs
  that already exist and differ meaningfully, show the diff and confirm before
  replacing.
- **Fill placeholders** (`PACKAGE_NAME`, `PACKAGE_DESCRIPTION`, the `username` owner
  in URLs/author blocks) with the target repo's real values and the current user's
  identity — not the imprint owner's, unless they're the same person.
- Rename dotless template files on copy as `IMPRINT.md` specifies.

### 5. Verify and hand off

- Install deps (`bun i`, or the repo's manager) and run the aggregate check
  (`bun run checks`). Fix what lint/format flags.
- Report a summary: what you copied, what you merged, what you skipped and why.
- Flag anything that needs the user's hands: npm trusted-publishing setup, branch
  protection that needs the GitHub UI, secrets.

## Notes

- This skill is content-free by design — it reads a live imprint source (local
  dir or GitHub repo) so preferences stay current and anyone can bring their own.
- An imprint source can be **local, a private repo, or a public repo.** Prefer a
  local clone when one exists — but verify it isn't stale first and ask if it is;
  use `gh` (not raw HTTPS) for private repos.
- If the user names a specific source ("imprint from `torvalds`", or a path),
  skip the detection and use it directly.
- Never fabricate imprint content or fall back to a hardcoded stack if you can't
  reach the source — surface the access problem and ask how to proceed.

Attribution

gkurtgkurt
View sourceMore from gkurt →
SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Related Skills

Browser Extension Developer

Use this skill when developing or maintaining browser extension code in the `browser/` directory, including Chrome/Firefox/Edge compatibility, content scripts, background scripts, or i18n updates.

284072 votes

Seo Optimizer

SEO optimization with keyword analysis, readability assessment, technical validation, content quality. Use for search rankings, blog posts, content audits, or encountering keyword density, readability scores, meta tags, schema markup errors.

2192 votes

Google Official Seo Guide

Official Google SEO guide covering search optimization, best practices, Search Console, crawling, indexing, and improving website search visibility based on official Google documentation

1862 votes

Tanstack Start

Build a full-stack TanStack Start app on Cloudflare Workers from scratch — SSR, file-based routing, server functions, D1+Drizzle, better-auth, Tailwind v4+shadcn/ui. Use whenever the user mentions TanStack Start, asks to scaffold a full-stack Cloudflare app with SSR, wants an SSR dashboard, or asks for a React 19 + Cloudflare Workers app with file-based routing and server functions — even if they don't name TanStack Start specifically. No template repo — Claude generates every file fresh per ...

9881 votes

Pentest

PTES-aligned adversarial security audit for backend, frontend, and mobile applications. Produces a CVSS-scored Hacker Report with verified PoCs and phased remediation.

5491 votes
View all in development →