advise
Pre-work command that queries past learnings and leverages MCPs before starting a new task
Create a feature specification using spec-driven development
$ npx -y skills add DanielPodolsky/ownyourcode --agent claude-codeHow it fires
How this command gets triggered: by you, by Claude, or both.
/featureContext preview
What this command does when you run it.
Create a feature specification using spec-driven development
name: feature description: Create a feature specification using spec-driven development allowed-tools: Read, Glob, Grep, Write, Edit, Bash, AskUserQuestion, mcp__context7__resolve-library-id, mcp__context7__get-library-docs, mcp__octocode__githubSearchCode, mcp__octocode__githubGetFileContent, mcp__octocode__githubSearchRepositories
> ⚠️ **PLAN MODE WARNING:** Toggle plan mode off before running this command (`shift+tab`). OwnYourCode commands don't work correctly with plan mode.
Create a feature specification using **Spec-Driven Development (SDD)**.
This command follows the SDD workflow: 1. **AI generates** the spec, design, and tasks for a phase based on minimal input 2. **Developer reviews** them in the dashboard (the phase's Spec / Design / Tasks tabs) 3. **Developer adds** any missing edge cases or requirements 4. **Then** implementation begins with mentorship
**Output (v2.5 — Dashboard SDD):**
advanced to `specced` — its `spec`, `design`, and `tasks` objects are written in place (replacing the phase's `items[]`). No `spec.md`/`design.md`/`tasks.md` files; everything lives in `window.PROJECT`, rendered by the dashboard's tabs.
> **Schema authority:** `ownyourcode/dashboard/DASHBOARD_CONTRACT.md` defines the exact > `spec` / `design` / `tasks` shapes and the mutation rules. Read it before > writing. When this command's prose and the contract disagree, the contract wins.
**Profile-Aware Behavior:** Check `.claude/ownyourcode-manifest.json` for profile settings:
---
> "Spec first, code second. But YOU own the judgment behind every line."
OwnYourCode uses SDD for planning, then builds with ownership — not by handing the junior a finished feature to read. **How "build" works depends on profile:**
judgment for each task *before* the AI reveals the code, then gets graded on the prediction. They own the code by being able to evaluate it, not by transcribing it.
and implementation happens however that developer ships. > **Deliberate v1 scoping, not a permanent exclusion.** The loop is built for the Junior > profile first. **Interview Prep** is the strongest candidate to get it next — defending > judgment in a live review is exactly what predict-before-reveal trains — with **Career > Switcher** (rebuilding fundamentals) close behind. A future PR can extend Phase 6 to > those profiles without contradicting this copy.
---
Before asking the user for feature details, auto-detect which phase to spec by reading the dashboard data — there is no `roadmap.md` to parse in v2.5.
1. **Read** `ownyourcode/dashboard/dashboard-data.js` (the `window.PROJECT` object). 2. **Find** the FIRST phase in `window.PROJECT.phases` with `status: "roadmap-only"` — that is the phase to spec. 3. **Auto-select** it — no asking, keep it simple. Capture its `n`, `name`, `slug`, and `items[]` (the planned scope you'll expand into a full spec).
**Status meaning (see contract §3.4 / §5):**
**If a `roadmap-only` phase is found:**
📍 Detected from your roadmap: Phase [n] — [name] This phase covers: - [item 1] - [item 2] ... Generating the spec for this phase...
→ Proceed directly to Phase 2 (MCP Research). You will write the spec/design/ tasks into THIS phase object in `dashboard-data.js`.
**If `dashboard-data.js` is missing or has no `phases`:** → The project isn't initialized. Tell the user to run `/own:init` first.
**If ALL phases are `specced`/`complete` (no `roadmap-only` left):** → Congratulate them! Then ask what they want to build next (a new phase can be appended to `window.PROJECT.phases` with `status:"roadmap-only"`).
---
Ask only what's needed to generate specs:
**1a. Feature Name:** > "What are you building? Give it a short name (e.g., 'login form', 'user settings', 'dark mode')."
Generate slug: `login-form`, `user-settings`, `dark-mode`
**1b. One-Line Description:** > "In one sentence, what does this feature do?"
**1c. User Story (Keep it simple):** > "Complete this: As a [user type], I want to [action] so that [benefit]."
Push back ONLY if they skip the 'so that' part — that's the value.
---
Before generating specs, gather intelligence using **BOTH** MCPs. Never rely on just one source.
Fetch latest docs for relevant libraries:
Use mcp__context7__get-library-docs for: - Form handling (if form feature) - Authentication (if auth feature) - Data fetching (if API feature) - State management patterns - Latest API patterns and version-specific features
Search GitHub for how real apps implement similar features:
Use mcp__octocode__githubSearchCode to find: - How popular projects implement this feature - Common patterns and approaches - Edge cases handled in production Example: For "login form", search: - "login form react" in popular repos - "authentication flow next.js" - "form validation typescript"
**BOTH sources are required.** If you only use one, research is incomplete.
Present research findings:
📖 Documentation (Co
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
Pre-work command that queries past learnings and leverages MCPs before starting a new task
Guide the junior through writing documentation for their project or code
Complete a task with 6 Gates verification, code review, and career value extraction