first-run
One-time setup — detect this codebase and write a profile the essentials agents specialize to.
Skill by jshepelsky
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/jshepelsky-first-run
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/first-run
What's inside
- Skill name
first-run- Description
- One-time setup — detect this codebase and write a profile the essentials agents specialize to.
- License
- MIT
- Instructions
- 92 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
Generate the project profile that tailors every essentials primitive to **this** codebase: $ARGUMENTS
The agents and skills are codebase-agnostic and re-detect the stack on every run. This skill does that detection **once**, deeply, and writes the result to `.claude/essentials-profile.md` — which every primitive reads first and trusts over ad-hoc detection. Run it once per project (and again after a major stack change).
**If the profile already exists**, read it first, re-verify each line against the current repo, and update only what changed — preserve any lines the user added or edited by hand.
## Step 1 — Detect the codebase
Investigate thoroughly. Use the Explore agent (breadth: very thorough) for the sweep, then confirm specifics yourself. Determine:
- **Stack** — language(s) + version, framework(s), runtime, package manager(s), database/data layer. For the data layer, note the access idiom and what a "no row found" lookup returns (`null`/`None`/`false`/empty/throws) — the logic reviewer keys off this.
- **Commands** — the exact `test`, `lint`, `typecheck`, `build`, and `run` invocations the project actually uses (from `package.json` scripts, `Makefile`, `justfile`, `pyproject.toml`, CI config). If there's a separate E2E suite (Playwright/Cypress/Selenium), record its command too. For `run`, note the local URL/port. Prefer real project scripts over generic guesses.
- **Git** — the default branch (from `git symbolic-ref -q --short refs/remotes/origin/HEAD`, or the branch CI targets). Review agents diff against it.
- **Layout** — where source lives, where tests live and their naming pattern, where migrations live (which tool, which database dialect), where routes are declared (explicit route table vs convention-based), the templating/styling approach, where docs live, and which dirs to **skip** (vendored, generated, build output, fixtures).
- **Integrations** — inbound webhook receivers (Stripe, GitHub, Twilio, custom HMAC…): provider and handler path, or "none".
- **Deploy** — how this project ships, per environment: the trigger or command (a CI job on push/tag, `vercel --prod`, `fly deploy`, `cap production deploy`, a `make deploy`), the environment URLs, a health-check URL, the logs command, pre-deploy steps (migrations, asset build, cache clear), where env vars/secrets live, and how to roll back. Read CI config and platform files (`vercel.json`, `fly.toml`, `Procfile`, `Dockerfile`, `Capfile`, k8s/terraform dirs) and the README's deploy notes. `/deploy` refuses to guess at this.
- **Conventions** — hard rules the project states in `CLAUDE.md`, `CONTRIBUTING`, lint/formatter config, or that are obvious from the code (e.g. "data access stays out of controllers", "no inline styles", error-handling idiom, the test framework + assertion style).
- **Domain** — 1–3 sentences on what the app does and its key entities, so reviewers judge behavior, not just syntax.
**Verify, don't guess.** For each command, confirm it actually exists (the script is defined, the binary is on PATH); where cheap, run it in a list/dry-run/`--version` form. Record only what you verified; mark anything uncertain as `(unconfirmed)` rather than guessing.
## Step 2 — Write the profile
Show the user the detected summary first. On confirmation, create `.claude/essentials-profile.md` (create the `.claude/` dir if needed) using this structure — fill every section, omit lines you couldn't determine:
```markdown
# Essentials project profile
<!-- Generated by /first-run on <date> at <short commit sha>. profile-schema: 3. Read first by the essentials agents/skills. Edit freely — it's yours. -->
## Stack
- Language: …
- Framework: …
- Package manager: …
- Data layer: … ("no row found" returns: …)
## Commands
- Test: …
- Test (E2E): …
- Lint: …
- Typecheck: …
- Build: …
- Run: … (serves at: …)
## Git
- Default branch: …
## Layout
- Source: …
- Tests: … (pattern: …)
- Migrations: … (tool: …, database: …)
- Routes: … (style: explicit | convention-based)
- Templates/UI: …
- Docs: …
- Skip: …
## Integrations
- Webhooks: …
## Deploy
- Environments: … (e.g. staging → https://…, production → https://…)
- Trigger: … (e.g. merge to main runs .github/workflows/deploy.yml | manual `fly deploy`)
- Command: …
- Pre-deploy: … (migrations, build, cache)
- Health check: …
- Logs: …
- Secrets/env: … (where they're managed)
- Rollback: …
## Conventions
- …
## Domain
…
```
Omit any line that doesn't apply (no migrations, no webhooks, no E2E suite) rather than writing "none" everywhere — but keep `Webhooks: none` explicitly if you checked and found none, so the webhook reviewer can skip its search. Same for `Deploy`: if the project has no deploy mechanism (a library, a script), write `- Trigger: none` so `/deploy` knows to stop rather than detect.
## Step 3 — Make it auto-load
So the main loop (and `/commit`, `/pr`) sees it too, ensure the project `CLAUDE.md` imports it — add this line if not already present (create `CLAUDE.md` if absent):
```
@.claude/essentials-profile.md
```
## Output
Confirm the file was written, show its path, and list which primitives now consume it (all review agents, the test/docs/dependency agents, the `/test`, `/smoke-test`, and `/code-review` skills, the `/ship` workflow skills (`/plan`, `/develop`, `/deploy`, `/env-test`, and the rest), the workflows, the run-tests-on-stop hook, and the flaky-test / regression-bisect / stacktrace skills). Tell the user to re-run `/first-run` after a major stack change or a plugin update (the session-start nudge flags when the profile's schema is stale), or just edit the file directly.
> Keep the `profile-schema: 3` marker in the header comment exactly as written — the session-start hook uses it to detect profiles generated by older plugin versions. Bump it here and in `hooks/suggest-first-run.sh` together whenever the template gains or renames fields.From jshepelsky/claude-essential-plugin, MIT.
More from jshepelsky/claude-essential-plugin
- 0.565score
flaky-test-investigation
jshepelsky
Investigate a flaky or failing test using evidence before proposing a fix.
SkillAFreshness: AClaude Code +9 - 0.565score
humanize
jshepelsky
Rewrite text to remove signs of AI-generated writing — inflated significance, promotional language, em-dash overuse, rule of three, AI vocabulary, copula…
SkillAFreshness: AClaude Code +9 - 0.561score
mockup
jshepelsky
Create HTML mockups when no design was supplied, with real research, then review them with a critical eye.
SkillAFreshness: AClaude Code +9 - 0.561score
phase-plan
jshepelsky
Order the work into phases with dependencies and blockers so development runs in the most efficient sequence.
SkillAFreshness: AClaude Code +9 - 0.561score
document
jshepelsky
Write and audit documentation after a feature ships - CLAUDE.md, process docs, and anything a future session or developer needs.
SkillAFreshness: AClaude Code +9 - 0.561score
env-test
jshepelsky
Run the feature's tests against a deployed environment - full suites on staging, read-only and data-safe checks on production.
SkillAFreshness: AClaude Code +9 - 0.561score
deploy
jshepelsky
Get the feature deployed to staging (preferred) or production using the project's real mechanism, with preflight, confirmation, and verification.
SkillAFreshness: AClaude Code +9 - 0.561score
dev-setup
jshepelsky
Create and refresh the files that help Claude develop this feature well - CLAUDE.md, the essentials profile, and per-area notes.
SkillAFreshness: AClaude Code +9 - 0.561score
develop
jshepelsky
Build one phase from the phase plan - code, planned tests, every test type, per-phase code review - then hand off with a branch name, commit message, and a…
SkillAFreshness: AClaude Code +9 - 0.558score
commit
jshepelsky
Stage logical change groups and write a clean commit message from the diff.
SkillAFreshness: AClaude Code +9 - 0.558score
changelog
jshepelsky
Generate release notes from git history since the last tag (or a given range).
SkillAFreshness: AClaude Code +9 - 0.553score
dependency-audit
jshepelsky
Audit dependencies for known vulnerabilities, outdated versions, and unused packages.
SkillAFreshness: AClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 22, 2026 (7 days ago)
- Last release
- Oct 22, 2026 (7 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from jshepelsky
- 0.565score
flaky-test-investigation
jshepelsky
Investigate a flaky or failing test using evidence before proposing a fix.
SkillAFreshness: AClaude Code +9 - 0.565score
humanize
jshepelsky
Rewrite text to remove signs of AI-generated writing — inflated significance, promotional language, em-dash overuse, rule of three, AI vocabulary, copula…
SkillAFreshness: AClaude Code +9 - 0.561score
deploy
jshepelsky
Get the feature deployed to staging (preferred) or production using the project's real mechanism, with preflight, confirmation, and verification.
SkillAFreshness: AClaude Code +9 - 0.561score
env-test
jshepelsky
Run the feature's tests against a deployed environment - full suites on staging, read-only and data-safe checks on production.
SkillAFreshness: AClaude Code +9 - 0.561score
phase-plan
jshepelsky
Order the work into phases with dependencies and blockers so development runs in the most efficient sequence.
SkillAFreshness: AClaude Code +9 - 0.561score
dev-setup
jshepelsky
Create and refresh the files that help Claude develop this feature well - CLAUDE.md, the essentials profile, and per-area notes.
SkillAFreshness: AClaude Code +9
Cite this page
first-run skill. Agent Mart. https://agentmart.dev/skills/jshepelsky-first-run (last updated 2026-10-24)