---
name: IJFW New Project
slug: ijfw-new-project
category: Automation
description: IJFW New Project bootstraps a new project brief for software and non-software domains like books, campaigns, landing pages, design systems, and launches. Use it when starting from a vague idea and needing a confirmed brief plus next step.
github: "https://github.com/FerroxLabs/ijfw/tree/main/claude/skills/ijfw-new-project"
language: JavaScript
stars: 210
forks: 40
install: "npx degit https://github.com/FerroxLabs/ijfw/tree/main/claude/skills/ijfw-new-project ~/.claude/skills/ijfw-new-project"
installs_to: ~/.claude/skills/ijfw-new-project
source_path: claude/skills/ijfw-new-project/SKILL.md
collection_size: 25
category_size: 1860
collection_url: "https://dirskills.com/collections/FerroxLabs/ijfw"
added: 2026-09-04T05:26:37.352Z
last_synced: 2026-09-04T05:26:37.352Z
canonical_url: "https://dirskills.com/skills/ijfw-new-project"
---

# IJFW New Project

IJFW New Project bootstraps a new project brief for software and non-software domains like books, campaigns, landing pages, design systems, and launches. Use it when starting from a vague idea and needing a confirmed brief plus next step.

**Install:**

```bash
npx degit https://github.com/FerroxLabs/ijfw/tree/main/claude/skills/ijfw-new-project ~/.claude/skills/ijfw-new-project
```

## README

# IJFW New Project

Domain-agnostic bootstrap. Software is one domain; book, campaign,
landing-page, design-system, and launch are first-class peers. The end state
is the same: a confirmed brief, durable memory, and a clear next move.

## Step 1 -- Detect domain (one question, max)

Read the user's first line. Map silently:

| Phrase contains | Domain |
|---|---|
| "app", "site", "API", "service", "CLI", "library", "tool" | `software` |
| "book", "chapter", "manuscript", "novel", "essay collection" | `book` |
| "campaign", "ad", "funnel", "email sequence", "drip" | `campaign` |
| "landing page", "one-pager", "splash", "lead magnet" | `landing-page` |
| "design system", "component library", "brand kit", "tokens" | `design-system` |
| "launch", "release plan", "PR/FAQ", "go-to-market" | `launch` |

If no signal, ask once: `One word: software / book / campaign / landing-page / design-system / launch?`
Accept aliases. Do not interrogate. Do not assume software.

## Step 2 -- Memory recall

Call `ijfw_memory_recall` with the project name + domain. If matches return,
surface up to 3 relevant prior decisions inline:

> `I remember: <project> -- <decision>. Want me to apply that pattern here?`

If empty, say `clean slate -- no prior context` and continue. Never silent.

## Step 3 -- Brief skeleton

Write `.ijfw/memory/brief.md` from the domain template:

- `software`         -> `claude/skills/ijfw-new-project/templates/software.brief.md`
- `book`             -> `claude/skills/ijfw-new-project/templates/book.brief.md`
- `campaign`         -> `claude/skills/ijfw-new-project/templates/campaign.brief.md`
- `landing-page`     -> `claude/skills/ijfw-new-project/templates/landing-page.brief.md`
- `design-system`    -> `claude/skills/ijfw-new-project/templates/design-system.brief.md`
- `launch`           -> `claude/skills/ijfw-new-project/templates/launch.brief.md`

If the template file is absent in this checkout, fall back to a minimal
skeleton (goal / audience / success criteria / out-of-scope / first move).
Templates are the contract; the skill must still produce a brief if they
haven't shipped yet.

The skeleton fields are domain-shaped, not software-shaped:
- `book` -> premise / reader / chapter spine / voice / publication target
- `campaign` -> offer / audience / channels / KPI / objection map
- `landing-page` -> promise / proof / CTA / scroll narrative / metric
- `design-system` -> tokens / primitives / patterns / governance / consumers
- `launch` -> PR/FAQ / target date / channels / readiness gates

## Step 4 -- Socratic fill (one question at a time)

Walk the user through the brief in order. ONE question per turn. Echo back
every 3 turns: `So far: <2-line recap>. Yes?`

Never paste the empty template and wait. Never dump a numbered list. The
brainstorm-discipline invariants from `ijfw-workflow` apply: one question,
no offscreen research, no silent advance, visible deliverable.

If the user gives a thin answer, do one 5-Why drill, then move on. If they
say `enough` or `skip`, stop filling and move to LOCK with what you have.

## Step 5 -- ROADMAP stub (optional, prompted)

After brief is full, ask once: `Want a milestone roadmap stub now, or jump to first move?`

On `roadmap`: write `.planning/ROADMAP.md` with 3-5 milestones inferred from
the brief. Each milestone is one line: name + success criterion. No tasks
yet -- that belongs to `ijfw-plan` per milestone.

On `jump`: skip ROADMAP. The brief alone is enough to start.

Mark the active milestone with `.planning/<milestone>/` directory + an empty
`MILESTONE.md` placeholder. Future planning skills key off this directory.

## Step 6 -- Persist + LOCK

Call `ijfw_memory_store` with:

- `key`: `project_meta`
- `value`: JSON object `{domain, name, brief_path, created_at, milestone}`

This is the single source of project type identity for downstream skills.
`ijfw-design`, `ijfw-plan-check`, `ijfw-workflow`, `ijfw-verify`, and
`ijfw-ship` all read `project_meta.domain` to adapt their checklists.

Paste the brief back in-chat (max 8 lines) and end:

> `Project locked. Brief at .ijfw/memory/brief.md. Domain: <domain>.`
> `Next: <recommended-next-skill>` (software -> `ijfw-plan`, book -> chapter outline, campaign -> offer matrix, etc.)

## Step 7 -- Seed AGENTS.md (idempotent)

Invoke the `ijfw-agents-md` skill with intent context (brief.md). It will
seed AGENTS.md and the platform adapter (CLAUDE.md, GEMINI.md, etc.) only
if those files are absent. Already-present files are left untouched.

## Domain non-negotiables

- Do not assume software. Phrases like "tests", "deploy", "CI" are
  domain-specific; do not surface them outside `software` / `landing-page`.
- Do not require git. A book or campaign project may have no repo at all.
  Skip git-dependent steps gracefully; tell the user once if skipped.
- Do not write code. This skill produces a brief, a memory record, and an
  optional roadmap. Implementation belongs to downstream skills.

## Output format

```
DOMAIN:   <detected or chosen>
BRIEF:    .ijfw/memory/brief.md (<N> lines)
ROADMAP:  .planning/ROADMAP.md (<N> milestones) | skipped
MEMORY:   project_meta stored
NEXT:     <recommended next skill or command>
```
