Skip to content
Development
Command

/init

Initialize OwnYourCode project with mission, stack, and roadmap

From plugin
ownyourcode
27412 skills12 commands
Install
$ npx -y skills add DanielPodolsky/ownyourcode --agent claude-code

How 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.md
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
Read more
Ships withownyourcode

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.

Get the whole plugin