.unpack/skills/up-init/SKILL.md
Initialize a new project from the Unpack template
npx skillsauth add apresmoi/unpack up-initInstall 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.
Quick setup — ask a few questions, save preferences, deploy skills. Everything else (README, LICENSE, standards, .gitignore) happens during /up-bootstrap or /up-adopt when we actually know the project.
$ARGUMENTS is ignored — initialization always runs in the current directory.
Use AskUserQuestion to gather preferences. Aim for 2 rounds max. Group questions so each round has 2-4 questions. Do NOT read any files before asking — you have everything you need here.
Round 1:
Round 2:
Skip questions that don't apply (e.g., don't ask about Mintlify if they said no to docs). If only 1 question remains, merge it into Round 1 instead of doing a separate round.
After Round 2, check the current git config for the repo: git config user.name and git config user.email. Show the user what's configured and ask if they want to change it for this repo. If yes, run git config user.name "..." and git config user.email "..." (repo-level, not global).
Create .unpack/docs/_meta/guide-config.md — this is the only file that MUST exist for the project to be considered initialized:
# Guide Configuration
## Project
- Entry path: <from-scratch/from-reference/existing-project>
- License: <mit/apache-2.0/isc/none>
## Standards
- Approach: <unpack/custom/research>
- Deployment: <aws-copilot/docker/gcp/vercel/fly/railway/other/undecided>
## Human docs
- Enabled: <yes/no/later>
- Level: <end-user/technical/full>
- Mintlify: <yes/no>
## Git
- Autocommit: <yes/no>
## Notes
- `/up-bootstrap` and `/up-adopt` read this file to configure the project
- `/up-document` reads this file to determine what to generate
- Change these settings anytime by editing this file
Overwrite the pre-deployed shims with pointer shims that reference the canonical skill files. Each deployed skill keeps its frontmatter and adds a single instruction line. Do NOT use a Task agent for this — it's a simple loop.
Based on the user's agent selection, run one of:
Claude Code only:
for skill in .unpack/skills/*/; do name=$(basename "$skill"); mkdir -p ".claude/skills/$name" && { head -4 "$skill/SKILL.md"; echo ""; echo "Read and follow the instructions in \`.unpack/skills/$name/SKILL.md\`."; } > ".claude/skills/$name/SKILL.md"; done
Codex only:
for skill in .unpack/skills/*/; do name=$(basename "$skill"); mkdir -p ".agents/skills/$name" && { head -4 "$skill/SKILL.md"; echo ""; echo "Read and follow the instructions in \`.unpack/skills/$name/SKILL.md\`."; } > ".agents/skills/$name/SKILL.md"; done
Both:
for skill in .unpack/skills/*/; do name=$(basename "$skill"); mkdir -p ".claude/skills/$name" ".agents/skills/$name" && { head -4 "$skill/SKILL.md"; echo ""; echo "Read and follow the instructions in \`.unpack/skills/$name/SKILL.md\`."; } | tee ".claude/skills/$name/SKILL.md" > ".agents/skills/$name/SKILL.md"; done
If from scratch or from reference:
Project initialized!
Next step — research your project:
1. Open ChatGPT or Claude
2. Paste the contents of .unpack/prompts/research-guide.md at the start
3. Have your design conversation (any style — stream of consciousness is fine)
4. Save the chat as conversation.md at the project root
5. Run /up-bootstrap
Saving your conversation:
- Any AI: select all → copy → paste into conversation.md
- Long/messy chats: paste .unpack/prompts/extract-conversation.md into the chat — it'll consolidate final decisions for you
Then ask: "Want me to generate a bookmarklet for exporting conversations? It's a one-click bookmark that copies the chat as markdown." If yes, ask which platform (ChatGPT or Claude) and run node .unpack/tools/minify-bookmarklet.js <chatgpt|claude>. Show the output so they can save it as a bookmark.
If from reference, add: "Reference the existing code in your conversation — paste schemas, patterns, or architecture you want to carry forward."
If existing project:
Project initialized!
Next step: run /up-adopt to scan your project and generate documentation + alignment phases.
These are handled by /up-bootstrap or /up-adopt — not init:
tools
Show project progress, phases, blockers, and the next runnable phase
research
Export current project state as a portable markdown snapshot for external research
development
Execute the next runnable build phase
tools
Scan an example repo and extract its coding patterns into a standards file