/init
Initialize OwnYourCode project with mission, stack, and roadmap
$ npx -y skills add DanielPodolsky/ownyourcode --agent claude-codeHow it fires
How this command gets triggered: by you, by Claude, or both.
- Fires itselfClaude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/init
Context preview
What this command does when you run it.
Initialize OwnYourCode project with mission, stack, and roadmap
Command definition
init.mdname: init
description: Initialize OwnYourCode project with mission, stack, and roadmap
allowed-tools: Read, Glob, Grep, Write, Edit, AskUserQuestion, Bash, mcp__context7__resolve-library-id, mcp__context7__get-library-docs, mcp__octocode__githubSearchRepositories, mcp__octocode__githubViewRepoStructure, mcp__octocode__packageSearch
/own:init
> ⚠️ **PLAN MODE WARNING:** If plan mode is enabled, disable it before running this command. OwnYourCode commands don't work correctly with plan mode — it causes skipped steps and unexpected behavior. Press `shift+tab` to toggle plan mode off.
Initialize a OwnYourCode project by selecting your profile, defining the mission, detecting the stack, and creating a roadmap.
Overview
This command works for both **new projects** (empty directory) and **existing projects** (mid-development).
**Output (v2.5 — Dashboard SDD):**
- `ownyourcode/dashboard/dashboard-data.js` — `window.PROJECT`: mission, stack, and
roadmap as a single source of truth (THIS is what you fill in Phase 6)
- Updated `.claude/ownyourcode-manifest.json` — Profile + theme settings
- Updated `CLAUDE.md` — Profile-specific behavior injected
> **Schema authority:** `ownyourcode/dashboard/DASHBOARD_CONTRACT.md` defines the exact > `window.PROJECT` shape and mutation rules. When this command's prose and the > contract disagree, the contract wins. Read it before writing Phase 6 output.
**CRITICAL: You Fill the Data File — You Do NOT Touch the Shell**
The installation script already seeded `ownyourcode/` with the dashboard:
<install-location>/
├── CLAUDE.md ← Created/modified during install
├── ownyourcode/ ← Created during install (sibling to CLAUDE.md)
│ └── dashboard/
│ ├── dashboard.html ← The VIEW SHELL — never edit for content
│ ├── dashboard-data.js ← Empty scaffold — YOU fill this in Phase 6
│ └── DASHBOARD_CONTRACT.md ← The schema authority
**Rules:**
1. Your job is to **fill `dashboard-data.js`** (the data) — never hand-edit `dashboard.html` (the shell). Styling is `/own:theme`'s job, not yours. 2. `ownyourcode/` is always a **sibling to CLAUDE.md** (same directory level) 3. If `ownyourcode/dashboard/dashboard-data.js` doesn't exist, the installation is incomplete or pre-v2.5 — tell the user to re-run the install script 4. If you detect a project in a subdirectory (e.g., `shelfie/package.json`), still update the `ownyourcode/` at the installation root (sibling to CLAUDE.md), not inside the subdirectory
---
The Philosophy
These questions force THINKING, not feature-listing. Most juniors skip straight to "I want a login form." We force them to think about VALUE first.
---
Execution Flow
Phase -1: Profile Selection (NEW)
**Before anything else, set up the developer's profile.**
This determines HOW OwnYourCode teaches—the pedagogy, not the standards. The 6 Gates, code reviews, and quality expectations remain the same for everyone.
Step 1: Profile Type Selection
Use AskUserQuestion:
Question: "Which profile fits you best?"
Options:
1. Junior Developer
Description: Learning to code, building portfolio projects, need guidance on fundamentals
2. Career Switcher
Description: Transitioning from another field, have problem-solving skills, learning tech
3. Interview Prep
Description: Preparing for job interviews, need portfolio pieces and STAR stories
4. Experienced Developer / Custom Profile
Store the selection in memory for manifest update.
**If option 4 is selected (Experienced / Custom):** Ask a follow-up question:
Question: "Which one?"
Options:
1. Experienced Developer
Description: Understands software engineering, has experience
2. Custom Profile
Description: Create your own mentoring experience
**If Custom Profile is selected:** Skip to "Custom Profile Questionnaire" section below, then return to Step 5 (Update Manifest).
Step 2: Shared Questions (All Profiles)
**Question 2a: Career Focus**
Question: "Are you preparing for job interviews?"
Options:
1. Yes, full extraction (Recommended for job seekers)
Description: Get STAR stories and resume bullets after every task
2. Yes, just tips
Description: Get interview insights while learning, no formal extraction
3. No, focused on learning
Description: Skip career extraction, focus on building
**Note:** For "Interview Prep" profile, default to "full extraction" and skip this question.
**Question 2b: Analogies**
Question: "Want me to use analogies from something you know well?"
Options:
1. Yes
Description: I'll ask what domain to draw from (e.g., cooking, sports, Star Wars)
2. No
Description: Just explain concepts directly
**IMPORTANT: If "Yes" is selected, IMMEDIATELY ask a FREE-TEXT follow-up (NOT AskUserQuestion):**
Simply ask in chat: "What should I draw analogies from? (e.g., cooking, military, music, sports, Star Wars)"
Do NOT use AskUserQuestion with predefined options. Let them type their own answer freely.
Wait for their answer and store it. Only THEN proceed to Step 3.
---
Step 3: Profile-Specific Questions
**For Junior:**
Question: "How would you describe your coding background?"
Options:
1. I'm completely new to coding
Description: I'll explain everything from zero, define terms as we go
2. I've coded before, but I'm still learning
Description: I'll skip basic vocabulary but still cover fundamentals thoroughly
**For Career Switcher:**
Question 1: "What field are you transitioning from?"
→ Free text
Store as `previous_field` — used for analogies and context
Question 2: "What area of software development are you focusing on?"
→ Free text (e.g., "frontend", "backend", "full-stack", "data engineering")
Store as `focus_area` — used for guidance focus
**For Interview Prep:**
Question 1: "What position are you preparing for?"
→ Free text (e.g., "Senior Frontend Engineer", "Backend Devel
Read more
name: init description: Initialize OwnYourCode project with mission, stack, and roadmap allowed-tools: Read, Glob, Grep, Write, Edit, AskUserQuestion, Bash, mcp__context7__resolve-library-id, mcp__context7__get-library-docs, mcp__octocode__githubSearchRepositories, mcp__octocode__githubViewRepoStructure, mcp__octocode__packageSearch
/own:init
> ⚠️ **PLAN MODE WARNING:** If plan mode is enabled, disable it before running this command. OwnYourCode commands don't work correctly with plan mode — it causes skipped steps and unexpected behavior. Press `shift+tab` to toggle plan mode off.
Initialize a OwnYourCode project by selecting your profile, defining the mission, detecting the stack, and creating a roadmap.
Overview
This command works for both **new projects** (empty directory) and **existing projects** (mid-development).
**Output (v2.5 — Dashboard SDD):**
- `ownyourcode/dashboard/dashboard-data.js` — `window.PROJECT`: mission, stack, and
roadmap as a single source of truth (THIS is what you fill in Phase 6)
- Updated `.claude/ownyourcode-manifest.json` — Profile + theme settings
- Updated `CLAUDE.md` — Profile-specific behavior injected
> **Schema authority:** `ownyourcode/dashboard/DASHBOARD_CONTRACT.md` defines the exact > `window.PROJECT` shape and mutation rules. When this command's prose and the > contract disagree, the contract wins. Read it before writing Phase 6 output.
**CRITICAL: You Fill the Data File — You Do NOT Touch the Shell**
The installation script already seeded `ownyourcode/` with the dashboard:
<install-location>/ ├── CLAUDE.md ← Created/modified during install ├── ownyourcode/ ← Created during install (sibling to CLAUDE.md) │ └── dashboard/ │ ├── dashboard.html ← The VIEW SHELL — never edit for content │ ├── dashboard-data.js ← Empty scaffold — YOU fill this in Phase 6 │ └── DASHBOARD_CONTRACT.md ← The schema authority
**Rules:**
1. Your job is to **fill `dashboard-data.js`** (the data) — never hand-edit `dashboard.html` (the shell). Styling is `/own:theme`'s job, not yours. 2. `ownyourcode/` is always a **sibling to CLAUDE.md** (same directory level) 3. If `ownyourcode/dashboard/dashboard-data.js` doesn't exist, the installation is incomplete or pre-v2.5 — tell the user to re-run the install script 4. If you detect a project in a subdirectory (e.g., `shelfie/package.json`), still update the `ownyourcode/` at the installation root (sibling to CLAUDE.md), not inside the subdirectory
---
The Philosophy
These questions force THINKING, not feature-listing. Most juniors skip straight to "I want a login form." We force them to think about VALUE first.
---
Execution Flow
Phase -1: Profile Selection (NEW)
**Before anything else, set up the developer's profile.**
This determines HOW OwnYourCode teaches—the pedagogy, not the standards. The 6 Gates, code reviews, and quality expectations remain the same for everyone.
Step 1: Profile Type Selection
Use AskUserQuestion:
Question: "Which profile fits you best?" Options: 1. Junior Developer Description: Learning to code, building portfolio projects, need guidance on fundamentals 2. Career Switcher Description: Transitioning from another field, have problem-solving skills, learning tech 3. Interview Prep Description: Preparing for job interviews, need portfolio pieces and STAR stories 4. Experienced Developer / Custom Profile
Store the selection in memory for manifest update.
**If option 4 is selected (Experienced / Custom):** Ask a follow-up question:
Question: "Which one?" Options: 1. Experienced Developer Description: Understands software engineering, has experience 2. Custom Profile Description: Create your own mentoring experience
**If Custom Profile is selected:** Skip to "Custom Profile Questionnaire" section below, then return to Step 5 (Update Manifest).
Step 2: Shared Questions (All Profiles)
**Question 2a: Career Focus**
Question: "Are you preparing for job interviews?" Options: 1. Yes, full extraction (Recommended for job seekers) Description: Get STAR stories and resume bullets after every task 2. Yes, just tips Description: Get interview insights while learning, no formal extraction 3. No, focused on learning Description: Skip career extraction, focus on building
**Note:** For "Interview Prep" profile, default to "full extraction" and skip this question.
**Question 2b: Analogies**
Question: "Want me to use analogies from something you know well?" Options: 1. Yes Description: I'll ask what domain to draw from (e.g., cooking, sports, Star Wars) 2. No Description: Just explain concepts directly
**IMPORTANT: If "Yes" is selected, IMMEDIATELY ask a FREE-TEXT follow-up (NOT AskUserQuestion):**
Simply ask in chat: "What should I draw analogies from? (e.g., cooking, military, music, sports, Star Wars)"
Do NOT use AskUserQuestion with predefined options. Let them type their own answer freely.
Wait for their answer and store it. Only THEN proceed to Step 3.
---
Step 3: Profile-Specific Questions
**For Junior:**
Question: "How would you describe your coding background?" Options: 1. I'm completely new to coding Description: I'll explain everything from zero, define terms as we go 2. I've coded before, but I'm still learning Description: I'll skip basic vocabulary but still cover fundamentals thoroughly
**For Career Switcher:**
Question 1: "What field are you transitioning from?" → Free text Store as `previous_field` — used for analogies and context
Question 2: "What area of software development are you focusing on?" → Free text (e.g., "frontend", "backend", "full-stack", "data engineering") Store as `focus_area` — used for guidance focus
**For Interview Prep:**
Question 1: "What position are you preparing for?" → Free text (e.g., "Senior Frontend Engineer", "Backend Devel
Claude Code workflow for AI-mentored development. Work efficiently with Spec-Driven Development and the 6 Gates. Built to fight cognitive offloading — for developers using AI to grow and maintain ownership.
Repo: DanielPodolsky/ownyourcode
Other commands on ownyourcode.
- /advise
Pre-work command that queries past learnings and leverages MCPs before starting a new task
Open command - /docs
Guide the junior through writing documentation for their project or code
Open command - /done
Complete a task with 6 Gates verification, code review, and career value extraction
Open command - /feature
Create a feature specification using spec-driven development
Open command - /guide
Get implementation guidance for the current task
Open command - /profile
View or change your OwnYourCode profile settings
Open command

