daymade/auto-repo-setup
>- Diagnose, repair, and standardize repository setup and safe Git workflows for Claude Code or Codex. Use when a repository will not run, a collaborator is onboarding, dependencies or credentials are missing, the user wants startup sync, SessionStart output is duplicated, project instructions or hooks need auditing, or commit/push/conflict/history-cleanup needs a guarded workflow. Route ordinary startup behavior through project instructions or a natural language request; use lifecycle hooks only when behavior must occur before the first prompt and the target runtime has been verified.
npx skills add https://github.com/daymade/claude-code-skills --skill auto-repo-setup
Make the repository usable without changing the user's normal way of working.
Treat setup as an evidence-driven repository task, not as a special interface for
people with a particular job title.
Classify the request before changing anything. Do not combine modes merely because
they all contain the word "setup".
| User outcome | Mode | First action |
|---|---|---|
| "It won't run", missing dependency, new machine | Environment repair | Read project instructions and detect the actual stack |
| "Sync before we work", "pull the latest" | Session routine | Use project instructions or execute the user's natural-language request |
| Repeated or unexpected hook output | Hook diagnosis | Count registrations and firing sessions before editing configuration |
| A teammate needs a repeatable handoff | Repository handoff | Audit existing onboarding and fill only the missing operational contract |
| Commit, push, conflict, leaked secret/history | Git safety | Read references/git_safety.md before mutation |
| Behavior must happen before the first prompt | Startup automation | Read references/startup_automation.md and pass its hook gate |
A collaborator can tell an agent "sync the remote first"; do not invent a
launcher, shortcut, or wizard unless the user asked for one.
direct Agent instruction → project instruction → explicit command → lifecycle
hook. A hook is not a more professional version of a sentence.
project instructions, onboarding/runbooks, manifests, lockfiles, and actual
command output. Do not make ONBOARDING.md, Python, uv, ffmpeg, or .env mandatory
for repositories that do not declare them.
overwrite local changes to make setup look successful.
run the project's real smoke test or startup command and verify the observable
result.
edits, hook registration, commits, and external writes require the authority
implied by the user's request; destructive or public actions require explicit
approval.
Read only files that exist, in this order:
If no onboarding guide exists, infer the setup path from authoritative manifests
and exercised commands. Do not stop to ask whether to create documentation unless
a durable handoff is part of the request.
Use the bundled scripts/check_env.py against the repository root when a Python
3.10+ runner is already available. It detects the declared ecosystem and checks
only the relevant toolchain; it does not install dependencies or read secret
values. If Python is itself the missing prerequisite, perform the same read-only
manifest inventory directly instead of installing Python merely to run the audit.
~~~bash
uv run python scripts/check_env.py --repo <repo-root>
uv run python scripts/check_env.py --repo <repo-root> --json
~~~
Treat the inventory as evidence, not as the project setup specification. A custom
runbook or CI workflow can require tools the generic inventory cannot infer.
Expected result:
For each failed requirement:
configuration, or runtime log.
Do not restart, reinstall everything, or switch package managers as a first move.
Do not print .env or credential contents; verify presence and behavior without
echoing values.
Run the project's documented smoke test, build, or start command. If none exists,
derive one from CI/task-runner configuration and label the derivation. Verify the
observable result, not merely a zero exit code.
Report:
For "sync before work", prefer a short project instruction shared by the agents
that use the repository. The routine is:
explain the state.
safely proceed on the local version.
A collaborator may also simply say:
> Sync the latest remote version before starting.
That is a normal Agent instruction, not a degraded fallback.
Do not register SessionStart merely to automate this routine. Static behavior
belongs in AGENTS.md/CLAUDE.md; the Agent can inspect context and handle exceptional
Git states instead of hiding them in a shell process.
Create or revise onboarding only when the user wants a durable handoff and the
existing project map does not already provide one.
Use references/onboarding_template.md as a
checklist, not as a literal Python/video template:
Validate every command on the target operating systems that matter to the user.
Read references/startup_automation.md before
adding or changing any hook.
The bundled initializer is Claude Code-specific and installs only a lightweight
startup context nudge. It preserves unrelated settings, adds matcher startup,
validates the guide path, writes atomically, and is idempotent.
Preview first:
~~~bash
uv run python scripts/init_session_start_hook.py \
--repo <repo-root> \
--guide ONBOARDING.md \
--dry-run
~~~
After the user confirms that pre-prompt injection is genuinely required, run the
same command without --dry-run. Remove only the managed entry with --remove.
Never copy this configuration into Codex by analogy. Codex project behavior should
normally live in AGENTS.md; if a Codex hook is truly required, verify the installed
version's root/subagent behavior and payload first.
Read references/git_safety.md before commit, push,
conflict resolution, or history rewrite. The load-bearing rules are:
"theirs";
Use references/pii_guard.md for public-distribution
content review. A green scanner does not replace semantic review.
For a read-only history scan, the existing scripts/sanitize_history.sh remains
available. It never rewrites history; treat its findings as candidates and do not
execute rewrite commands without explicit approval.
Use counter-review when the approved work materially changes security policy,
shared lifecycle hooks, CI/CD, dependencies, or destructive Git behavior. Do not
spawn a review team for an ordinary setup check or a one-line project instruction.
Filter every finding by probability, cost, real usage, and direct verification.
instruction vs command vs hook decision and verification
conflict, and history rewrite gates
handoff checklist
Take daymade/auto-repo-setup from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.