Esper init
Tool-neutral, simple workflow layer for agentic, spec-driven software development. πͺβ¨
npx -y skills add sichengchen/esper --skill esper-initAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Initialize esper in a project. Interviews the user for workflow preferences, scaffolds the project, and writes the constitution.
SKILL.md
5.7 KB, ~1.4k tokens by cl100k_base, as published. Nobody here has run it
You are initializing the esper agent-powered development toolkit for this project.
Step 0: Detect existing setup
Run esperkit config check. If it exits 0 (project already set up), use AskUserQuestion to ask:
- "Esper is already set up in this project. What would you like to do?"
- Options: "Update the constitution", "Re-run init (non-destructive)", "Reset everything"
- If it exits non-zero (not set up), proceed to Step 1.
When already set up:
- Update the constitution: Re-read
.esper/CONSTITUTION.md, interview the user (Steps 1β2), rewrite it. Keep everything else untouched. - Re-run init: Run
esperkit initβ it is non-destructive and only creates missing files. - Reset everything: Confirm with
AskUserQuestion. If confirmed, delete.esper/and proceed from Step 1.
Before scaffolding, check for root bootstrap docs:
- If
AGENTS.mdexists, read it and preserve its non-Esper content. - If
CLAUDE.mdexists, read it and preserve its non-Esper content. - Treat any existing
## EsperKitsection as managed content that may be replaced.
Step 1: Interview the user
Use AskUserQuestion to interview the user. Cover these areas in 3β4 rounds.
Round 1 β Project vision:
- What is this project and what problem does it solve?
- What is it explicitly NOT? (scope boundaries)
- Who are the primary users?
Round 2 β Technical decisions:
- What is the tech stack? (language, framework, runtime)
- What commands run tests, lint, and typecheck? (can be empty if not set up yet)
- What command starts the dev server?
Round 3 β Workflow preferences (use AskUserQuestion with these as options):
- Commit behavior: how commits should be scoped and when to create them
- PR behavior: when to create PRs and how to group them
- Validation mode:
blocking(must pass before advancing) oradvisory? - Spec sync mode:
proactive(update specs as you go) oron-finish(update at end)? - Review behavior: when to require review passes
Round 4 β Multi-agent preferences (use AskUserQuestion):
- Enable autonomous execution? (yes/no β default: no)
- If yes, ask about agent roles:
- Orchestrator provider: which agent/tool handles planning and coordination? (e.g., codex, claude-code)
- Implementation worker: which agent handles code implementation? (e.g., claude-code, codex)
- Reviewer: which agent handles review passes? (e.g., codex, claude-code)
- If yes, ask about run limits:
- Max review rounds before escalation (default: 3)
- Max runtime in minutes (default: 60)
- Require distinct reviewer? (default: yes)
- Allow parallel tasks? (default: no)
If the user declines autonomous execution, skip agent role questions and use defaults.
Step 2: Write CONSTITUTION.md
Based on the interview, write .esper/CONSTITUTION.md covering:
- Project identity: name, purpose, what it is and is not
- Users: who the project serves
- Tech stack: language, framework, runtime, key dependencies
- Coding standards: naming, structure, patterns to follow
- Testing strategy: what gets tested, how, with what tooling
- Scope boundaries: what will never be built here
Step 3: Run esperkit init
Run esperkit init with any options from the interview (e.g., --spec_root if the user specified a custom location).
Step 4: Configure esper.json
Run esperkit config set commands '<json>' with the test/lint/typecheck/dev commands from the interview.
Run esperkit config set workflow_defaults '<json>' with the workflow preferences from Round 3. Use prompt-style instruction strings:
planning: when to use atom vs batchcommits: commit scoping and granularity guidancepull_requests: PR creation and grouping guidancevalidation: enforcement behaviorspec_sync: code-to-spec synchronization timingreview: review timing and rigorretention: increment close-out and archival guidance
If multi-agent preferences were collected in Round 4:
- Run
esperkit config set agent_roles '<json>'with the role mappings - Run
esperkit config set autonomous_run_policy '<json>'with the run limits - Optionally set
provider_defaultsfor provider-specific guidance
Step 5: Explain what was created
If AGENTS.md or CLAUDE.md already existed:
- Re-open the file after
esperkit init. - Ensure it contains exactly one
## EsperKitsection with the esper bootstrap instructions. - If the file already has an
## EsperKitsection, replace only that section. - If the file has no
## EsperKitsection, append one near the end. - Preserve all non-Esper content outside that section.
If AGENTS.md or CLAUDE.md did not exist:
- Keep the scaffolded files from
esperkit init.
Summarize the scaffolding:
.esper/esper.jsonβ project config (including agent roles and run policy if configured).esper/context.jsonβ runtime context for agent interop.esper/CONSTITUTION.mdβ project vision and constraints.esper/WORKFLOW.mdβ how to work with esperAGENTS.mdβ tool-neutral bootstrap instructions at the repo rootCLAUDE.mdβ Claude-specific bootstrap instructions at the repo root.esper/increments/β increment lifecycle directories.esper/runs/β autonomous execution recordsspecs/β spec tree (system, product, interfaces)
Step 6: Next steps
If this is an existing codebase with code already written:
- Suggest running
esper:specto bootstrap specs from the existing code - Explain that specs document what the system does and serves as the source of truth
If this is a new project:
- Suggest running
esper:specto write the initial spec - Or
esper:atomto create the first increment directly
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.