init

A project setup command that creates local product-management files, checks for Spec Kit, and can draft a product requirements document (PRD) for approval before scanning the codebase.

In plain words
What is it for?
Use it to initialize project governance, create or review a PRD, and run an initial technical scan.
Why use it?
It gives a project a consistent planning structure and helps identify the project's type and technical state before work begins.

Command

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add commands/wei63w/pm-manager/init
Clone the repo
git clone --depth 1 https://github.com/wei63w/pm-manager
Per session 35 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 2,379 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin 100% copy Near-identical to another mod in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00035 $0.02379
Opus 5 $0.00017 $0.01189
Sonnet 5 $0.00007 $0.00476
Haiku 4.5 $0.00003 $0.00238

Measured 2d ago against content hash 9c411c6cdbc6, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

init scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

Origin

This is a copy

100% identical to pm-init — 0 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

skills/pm-manager/templates/commands/init.md · 169 lines

How it starts

The opening of the file, as written. The whole thing — 169 lines — stays where its author put it; the contents beside it link to each section on GitHub.

User Input

$ARGUMENTS

You MUST consider the user input before proceeding (if not empty).

Accepted extra words: confirm | approve | revise: <notes> | skip | a one-line project intent.

Outline

You are running /pm-init for the current workspace project root.

User-facing replies must be Chinese when the user writes Chinese. Command names stay /pm-*.

1. Scaffold

Preferred: pm init <root> (creates .pm/, git exclude, adapters). CLI no longer runs skills.sh unless --skills-sh.

Fallbacks: npx @wei63w/pm-manager init, scripts/powershell/create-pm-scaffold.ps1, python scripts/python/create_pm_scaffold.py, or copy templates/pm/ by hand.

Do not overwrite user-edited files under .pm/. Never overwrite prd.status=confirmed or charter.status=approved.

2. Lifecycle and type

  • new: empty or scaffold-only (README / .git only, no business source).
  • existing: build files, src / app / lib, or app config present.

If project.type is unknown / empty, infer from manifests (package.json with vue/nuxt deps → vue, other package.json → node, pyproject.toml → python, go.mod → go, pom.xml / build.gradle → java, Cargo.toml → rust). Do not invent a stack. Write project.lifecycle and project.type on .pm/config/project.yaml. If type is vue and fields still match scaffold defaults, apply Vue frontend seeds (modules.database/operations/cost: false, Vite/Vue runtime on stack, extra scan excludes).

3. Detect Spec Kit (required)

Treat the repo as using Spec Kit only if either exists:

  • .specify/memory/constitution.md
  • at least one .md under .specify/specs/

An empty .specify/ directory does not count.

Write speckit.present / constitution / specs on project.yaml.

4. Branch

A. Spec Kit is present
  1. Map constitution → .pm/charter/charter.md + DoD hints.
  2. Map .specify/specs/**/*.md.pm/charter/requirements.md (REQ-xxx).
  3. Write .pm/charter/sources.md. Set charter.status=draft, source=discovered, prd.source=speckit, prd.status=draft.
  4. Do not invent a competing PRD that disagrees with Spec Kit.
  5. Stop and ask the user to confirm / revise / skip (Chinese prompt).
  6. Do not run a module deep-scan yet.

Read the full file on GitHub · 169 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 169 lines · 35 tokens per session scan A 9c411c6cdbc6

Subscribe to this mod's changes

init is a command published in the GitHub repository wei63w/pm-manager (96 stars, last pushed 2d ago), licensed MIT. It adds 35 tokens to every session and 2,379 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. It is 100% identical to pm-init, differing in 0 lines, and is treated as a copy.