| name | dev-project-open |
| description | Open, create, and bootstrap local development projects, especially repos under `<DEFAULT_PROJECTS_DIR>`. Use when the user asks to create, open, or develop a project/repo/codebase. Always resolve the target project path first. If the local project already exists, open it in Cursor by default and load `@skills/cursor-ide-agent` before continuing. If the project does not exist locally, ask whether to clone it from GitHub with `gh` or create a new repo with `gh`. If the user explicitly asks to use Codex, keep the resolved project path as the source of truth, then hand off to `codex-session-handoff` so it can choose between visible tmux-backed live collaboration and existing-session resume or background handoff. |
Dev Project Open
Use this skill whenever the user wants help creating, opening, or developing a project.
Default local repo root
Check this directory first:
<DEFAULT_PROJECTS_DIR>
If the user provides an explicit path, prefer that path.
Workflow
- Determine the target project name or path.
- Resolve the target directory first.
- Prefer an explicit path if the user gave one.
- Otherwise check
<DEFAULT_PROJECTS_DIR>/<project-name> first.
- If the local directory already exists:
cd into that path conceptually for the rest of the workflow.
- If the user explicitly asked to use Codex, continue into the Codex handoff flow below.
- Otherwise load
@skills/cursor-ide-agent first, then open it in Cursor.
- If the local directory does not exist:
- Ask the user whether to:
- Search GitHub and clone it with
gh CLI
- Create a new GitHub repo with
gh CLI
- After clone/create succeeds, treat the new repo path as the active target path.
- After the target path is ready, choose the collaboration surface:
- Cursor path:
- Load
@skills/cursor-ide-agent first.
- Open the resolved project path in Cursor.
- Preferred command forms:
cursor <project-path>
- or
cd <project-path> && cursor .
- Codex path:
- Load
codex-session-handoff.
- Keep the resolved project path explicit for every later command.
- Let
codex-session-handoff choose the collaboration mode from the user's intent.
Codex handoff flow
Use this section only after the project path is already resolved.
- If the user already provided a Codex / ACP / acpx session handle, pass that handle to
codex-session-handoff.
- If the user explicitly wants live collaboration, a real local Codex terminal, or a tmux workflow, prefer
codex-session-handoff live tmux mode instead of ACP/acpx bootstrap.
- If the user wants background continuation, says you should run first, does not want to watch the session, or already has an ACP/acpx-backed session, use
codex-session-handoff background handoff mode.
- If the user asks for Codex collaboration but no session exists yet, create or ensure the initial Codex session from the resolved project path, then immediately hand off through
codex-session-handoff.
- When bootstrapping through
acpx, capture the returned acpx record id and prefer that record id over only the session name, because duplicate session names can exist across directories.
- The project path remains the source of truth throughout bootstrap, tmux launch, and native
codex resume -C <project-path> ... handoff.
Decision rules
- Always use this skill when the request is about creating, opening, or developing a project.
- Prefer local filesystem check before browser search.
- Prefer
gh CLI over manual browser flows for clone/create.
- If multiple local directories may match, ask a short disambiguation question.
- If the repo name is ambiguous and no local match exists, ask before cloning.
- If the user only says “open xxx project”, default to checking
<DEFAULT_PROJECTS_DIR>/xxx first.
- Default to Cursor unless the user explicitly asks for Codex.
- Treat
一起做 / 实时协作 / 本地 tmux / 真实 codex as live collaboration signals.
- Treat
后台运行 / 你先跑 / 不用我盯着 or an existing ACP/acpx handle as background handoff signals.
- If the chosen path is Cursor,
@skills/cursor-ide-agent is mandatory before continuing.
- If the chosen path is Codex, this skill resolves the project path first and
codex-session-handoff owns the mode-specific terminal flow after that.
Examples
Example 1: Local repo exists, default Cursor
User: 打开 my-app 项目
Action:
- Check
<DEFAULT_PROJECTS_DIR>/my-app
- Load
@skills/cursor-ide-agent
- If it exists, run:
cursor <DEFAULT_PROJECTS_DIR>/my-app
Example 2: Local repo exists, explicit Codex
User: 打开 my-app 项目,然后用 codex 一起开发
Action:
- Check
<DEFAULT_PROJECTS_DIR>/my-app
- Enter that project path first
- Load
codex-session-handoff
- Prefer live tmux mode because the user asked to collaborate together
- If a Codex handle already exists, resolve and continue from that same project context
- Otherwise create the needed Codex session only if required, then let
codex-session-handoff expose the visible terminal flow
Example 3: Local repo exists, explicit tmux collaboration
User: 打开 my-app,然后开一个 tmux 里的 codex 我们一起改
Action:
- Check
<DEFAULT_PROJECTS_DIR>/my-app
- Enter that project path first
- Load
codex-session-handoff
- Use live tmux mode, not ACP/acpx
- Return the exact
tmux attach -t <session> command to the user
Example 4: Local repo missing
User: 打开 foo 项目
Action:
- Check
<DEFAULT_PROJECTS_DIR>/foo
- If missing, ask:
本机没找到 foo。要我去 GitHub 搜并用 gh clone 下来,还是直接用 gh 给你创建一个新仓库?
Example 5: Explicit path
User: 用 Cursor 打开 /tmp/demo
Action:
- Load
@skills/cursor-ide-agent
- Open that exact path directly.
Scope boundary
- This skill owns project path resolution, repo bootstrapping, and the first collaboration-surface decision.
@skills/cursor-ide-agent owns Cursor-side follow-through after the path is ready.
codex-session-handoff owns tmux live collaboration, native session resume, and background handoff details after the path is ready.