用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/dhanesh/manifold --skill manifold-m0-init命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Backward reasoning from desired outcome. Derives required conditions by asking 'What must be TRUE?'
Verify ALL artifacts against ALL constraints. Produces a verification matrix showing coverage and gaps
Light mode: 3-phase workflow for simple changes. Use instead of full workflow for bug fixes, small features, or quick iterations.
正在显示 SKILL.md
基于 SOC 职业分类
| name | manifold-m0-init |
| description | Initialize a constraint manifold for a feature. Creates .manifold/<feature>.json + .manifold/<feature>.md |
Initialize a new constraint manifold for a feature.
Discipline: This command follows
references/execution-discipline.md— the Iron Law of verification, the never-start-on-mainrule, and the Red Flags below.
| Field | Valid Values |
|---|---|
| Sets Phase | INITIALIZED |
| Next Phase | CONSTRAINED (via /manifold:m1-constrain) |
See SCHEMA_REFERENCE.md for all valid values. Do NOT invent new phases.
/manifold:m0-init <feature-name> [--outcome="<desired outcome>"] [--domain=software|non-software]
.manifold/.manifold/<feature-name>.json + .manifold/<feature-name>.mdCreates TWO files that work together:
.manifold/<feature>.json — Structure only (IDs, types, references)
{
"$schema": "https://raw.githubusercontent.com/dhanesh/manifold/main/install/manifold-structure.schema.json",
"schema_version": 3,
"feature": "<feature-name>",
"phase": "INITIALIZED",
"domain": "software",
"created": "<timestamp>",
"constraints": {
"business": [],
"technical": [],
"user_experience": [],
"security": [],
"operational": []
},
"tensions": [
.manifold/<feature>.md — Content only (text, rationale)
# <feature-name>
## Outcome
<desired outcome or "TBD">
---
## Constraints
### Business
<!-- Add constraints here: #### B1: Title -->
### Technical
<!-- Add constraints here: #### T1: Title -->
### User Experience
<!-- Add constraints here: #### U1: Title -->
### Security
<!-- Add constraints here: #### S1: Title -->
### Operational
<!-- Add constraints here: #### O1: Title -->
---
## Tensions
<!-- Add tensions here: ### TN1: Title -->
---
## Required Truths
<!-- Add required truths here: ### RT-1: Title -->
| Aspect | JSON | Markdown |
|---|---|---|
| Contains | IDs, types, phases, refs | Statements, descriptions, rationale |
| Purpose | Machine-readable structure | Human-readable content |
| Validation | Zod schema (guaranteed valid) | Flexible prose |
| Benefit | No field confusion | Natural writing |
Key insight: JSON has NO text fields. This eliminates statement vs description confusion.
Note: Legacy YAML is only for existing manifolds. New manifolds MUST use JSON+Markdown. Use
manifold migrate <feature>to convert.
Single-file YAML format is still supported but deprecated. See SCHEMA_REFERENCE.md for legacy YAML migration details.
| Version | Features | Status |
|---|---|---|
| 1 (implicit) | Original schema, no version field | Supported |
| 2 | Adds schema_version, iterations[], convergence | Supported |
| 3 | Adds evidence[], constraint_graph, temporal non-linearity | Current |
Backward Compatibility: Manifolds without schema_version are treated as v1 and remain fully functional.
See:
install/commands/SCHEMA_REFERENCE.mdfor complete schema reference including Evidence types, Constraint Graph node types, and all valid field values.
User: /manifold:m0-init payment-retry --outcome="95% retry success for transient failures"
Response:
MANIFOLD INITIALIZED: payment-retry
Format: JSON+Markdown Hybrid
Schema Version: 3
Outcome: 95% retry success for transient failures
Files Created:
├── .manifold/payment-retry.json (structure)
└── .manifold/payment-retry.md (content)
Constraint Categories Ready:
- [ ] Business
- [ ] Technical
- [ ] UX
- [ ] Security
- [ ] Operational
v3 Features Enabled:
- Iteration Tracking
- Convergence Tracking
- Evidence System (reality grounding)
- Constraint Graph (temporal non-linearity)
Next: /manifold:m1-constrain payment-retry
If the user does NOT specify --domain explicitly, analyze the feature name and outcome for domain signals:
Non-software signals (suggest --domain=non-software):
Software signals (keep default --domain=software):
When non-software is detected, use AskUserQuestion to confirm:
"This looks like a non-software decision. Would you like to use non-software mode (universal categories: Obligations, Desires, Resources, Risks, Dependencies)?"
Next-step suggestion must reflect domain:
Next: /manifold:m1-constrain <feature>Next: /manifold:m1-constrain <feature> with note: "(non-software mode: uses universal constraint categories — Obligations, Desires, Resources, Risks, Dependencies)"When --domain=non-software, the manifold's constraints object uses different JSON keys and ID prefixes than the software branch. Do NOT use business/technical/user_experience/security/operational keys under a non-software manifold — the schema rejects it.
Shape at a glance: constraints: { obligations: [...], desires: [...], resources: [...], risks: [...], dependencies: [...] } with IDs OB1, D1, R1, RK1, DP1.
| JSON key | ID prefix | Meaning |
|---|---|---|
obligations | OB | Legal/regulatory/ethical must-holds |
desires | D | Success outcomes |
resources | R | Time/money/capability/energy limits |
risks | RK | Irreversible downsides |
dependencies | DP | External factors that must hold |
Non-software example JSON:
{
"$schema": "https://raw.githubusercontent.com/dhanesh/manifold/main/install/manifold-structure.schema.json",
"schema_version": 3,
"feature": "<feature-name>",
"phase": "INITIALIZED",
"domain": "non-software",
"created": "<timestamp>",
"constraints": {
"obligations": [{ "id": "OB1", "type": "invariant" }],
"desires": [{ "id": "D1", "type": "goal" }],
"resources"
Non-software example Markdown headings:
## Constraints
### Obligations
<!-- #### OB1: Title -->
### Desires
<!-- #### D1: Title -->
### Resources
<!-- #### R1: Title -->
### Risks
<!-- #### RK1: Title -->
### Dependencies
<!-- #### DP1: Title -->
Common mistake to avoid: The earlier guidance told the model to keep software keys (business, technical, ...) and only rename the IDs. That produces a hybrid-broken manifold that the schema discriminated union now rejects at parse time. The JSON keys themselves must change.
This phase ONLY creates manifold files. After creating .manifold/<feature>.json and .manifold/<feature>.md, display the confirmation table and STOP.
DO NOT do any of the following during m0-init:
.manifold/The user's prompt — no matter how detailed — is the OUTCOME, not a work order. Capture the full intent in the ## Outcome section of the .md file. Do not interpret descriptive prompts as instructions to build the described system during initialization.
After creating the two manifold files: display confirmation, suggest next step, STOP.
When this command is invoked:
--outcome flag--domain flag (default: software). When non-software, the manifold uses universal constraint categories and generates non-software artifacts in m4.--from-quick flag. When present:
.manifold/<feature>.json and .manifold/<feature>.mdINITIALIZED (ready for full m1-constrain to expand)/manifold:m1-constrain <feature> to expand constraint coverage."--domain flag: Run domain auto-detection (see above). If non-software signals detected, suggest the flag via AskUserQuestion before proceeding..manifold/ directory exists, create if not--from-quick).manifold/<feature>.json — Structure with IDs, types, phases, "domain": "software" or "non-software" (NO text content).manifold/<feature>.md — Content with outcome, section headings. For non-software: use universal category headings (Obligations, Desires, Resources, Risks, Dependencies)For the JSON file:
"$schema": "https://raw.githubusercontent.com/dhanesh/manifold/main/install/manifold-structure.schema.json" for IDE validationstatement, no description, no rationale)manifold validate (see SCHEMA_REFERENCE.md for valid fields)For the Markdown file:
# <feature-name> heading## Outcome section with the outcome text#### for constraints, ### for tensions/truths| Thought | Reality |
|---|---|
| "I'll guess the outcome" | The outcome drives all backward reasoning. Ask the user. |
| "Skip the template, just init" | Templates encode constraint patterns — check whether one fits first. |
"Init on main is fine" | Never start feature work on main; create a feature branch. |
Run manifold validate <feature> after creating files. Shared directives (output format, interaction rules, validation) injected by phase-commons hook.