configs/skills/init-profile/SKILL.md
Generate `.claude/PROJECT_PROFILE.md` — the project-specific facts that should be loaded into every session (deployment topology, host mapping, env file locations, verification commands). Run once per project after clone.
npx skillsauth add shenxingy/claude-code-kit init-profileInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Capture project-specific facts that the SessionStart hook will inject every time. Pairs with the Environment Fingerprint block (host-level facts) by adding the Project Profile block (project-level facts).
Writes .claude/PROJECT_PROFILE.md with five sections, filled in interactively. The session-context.sh hook auto-loads this file on every SessionStart, so the agent has the facts upfront and stops guessing.
Without a profile, the agent re-discovers the same facts each session ("where does prod run?", "is this hostname local or remote?", "where are the env secrets?"). With a profile, those facts live in the system prompt from session 1.
Detect what already exists. Read these for clues:
CLAUDE.md (deployment URLs, commands).env, .env.example, .env.*.local, brands/*.local.envpackage.json, Dockerfile, docker-compose.yml, vercel.json, netlify.toml~/.profile / ~/.zshrc for project-specific env varsgit log for clues on dev workflowAsk the user (one question per section, skip if already obvious from step 1):
a. Hosts & topology
b. Service URLs
c. Secret/env file locations
d. Verification commands
gh api repos/x/y/actions/runs --jq '.workflow_runs[0].conclusion'e. Aliases the user uses for this project
brands/*.local.env)Write .claude/PROJECT_PROFILE.md in this format:
# Project Profile — <project name>
## Hosts
- <hostname>: <role> (this machine | remote)
- <hostname>: <role> (this machine | remote)
## URLs
- Production: <url>
- Local dev: <url(s)>
## Env / secrets
- <path>: <what's in it>
## Verify commands
- <env>: `<command>`
## Aliases
- "<phrase user uses>" → <what it actually maps to>
Confirm — show the file content, ask the user to approve before writing.
Do NOT git-commit. The user decides what's safe to commit. .claude/PROJECT_PROFILE.md may contain internal hostnames or URLs that shouldn't be public — recommend .gitignore if the project is public.
.claude/PROJECT_PROFILE.md/init-profile.Environment Fingerprint block in session-context.sh — don't duplicate them here.testing
Test-suite diet — consolidate near-identical tests into table-driven cases, delete trivial/mock-only/brittle tests, and report every piece of coverage intentionally given up. Counterweight to AI test bloat that erodes loop clock speed.
development
In-session iterative loop — keeps Claude running in the current session until a task is done. Unlike /loop (which spawns background workers), /iloop stays in the current session and re-prompts each iteration via Stop hook. Use for: 'keep fixing until tests pass', 'iterate until this feature works', autonomous debugging. Triggers on: '/iloop', 'in-session loop', 'keep iterating', 'loop until done'.
development
Compose high-converting emails using proven copy frameworks (PAS, AIDA, BAB, FAB, 4Ps). Generates subject line variants with scores, responsive HTML templates with dark mode support, plain-text fallback, and preheader recommendations. Optimized for cold outreach, newsletters, product launches, promotions, and transactional emails. Adapts to user context from email-profile.md.
tools
Designs complete email automation sequences with timing, subject lines, copy, and conditional logic. Supports welcome series, nurture campaigns, re-engagement, abandoned cart, post-purchase, review requests, and custom sequences. Adapts sequence type, cadence, frameworks, and conditional branching to business context. Use when user wants to create an automated email series triggered by subscriber actions or time intervals.