@esoteric-logic/praxis-harness 2.17.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/README.md +60 -0
  2. package/base/skills/px-prompt/SKILL.md +695 -87
  3. package/bin/praxis.js +73 -1
  4. package/bin/prompt-compile.js +124 -21
  5. package/bin/prompt-knowledge.js +152 -0
  6. package/lib/assemblers.js +25 -6
  7. package/lib/loader.js +172 -13
  8. package/package.json +3 -2
  9. package/prompts/blocks/behaviors/first-action-rule.md +21 -0
  10. package/prompts/blocks/behaviors/no-flattery.md +1 -2
  11. package/prompts/blocks/behaviors/phase-aware-reasoning.md +41 -0
  12. package/prompts/blocks/behaviors/radical-candor.md +23 -0
  13. package/prompts/blocks/context/mcp-servers.md +1 -1
  14. package/prompts/blocks/domains/federal-cost-analysis.md +33 -0
  15. package/prompts/blocks/domains/govcon-capture.md +89 -0
  16. package/prompts/blocks/domains/govcon-proposal.md +153 -0
  17. package/prompts/blocks/domains/pamasi-framework.md +58 -0
  18. package/prompts/blocks/domains/proposal-writing-rules.md +59 -0
  19. package/prompts/blocks/domains/red-team-review.md +45 -0
  20. package/prompts/blocks/formats/perplexity-generation.md +37 -0
  21. package/prompts/blocks/formats/scorecard-output.md +51 -0
  22. package/prompts/blocks/identity/federal-deal-sa.md +81 -0
  23. package/prompts/blocks/skills/mermaid-diagrams.md +39 -0
  24. package/prompts/{projects → personal}/praxis/CLAUDE.md +2 -3
  25. package/prompts/personal/praxis/project-instructions-claude-desktop.md +30 -0
  26. package/prompts/{projects → personal}/praxis/space-instructions-perplexity.md +2 -1
  27. package/prompts/profiles/_base.yaml +1 -0
  28. package/prompts/profiles/maximus-sa.yaml +27 -0
  29. package/prompts/projects/_template/prompt-config.yaml +4 -0
  30. package/prompts/templates/knowledge/architecture-constraints.md +19 -0
  31. package/prompts/templates/knowledge/corporate-reference.md +25 -0
  32. package/prompts/templates/knowledge/deal-context.md +27 -0
  33. package/prompts/work/elect/client-config.yaml +9 -0
  34. package/prompts/work/maximus/client-config.yaml +81 -0
  35. package/prompts/{projects/maximus/system-prompt.md → work/maximus/deals/dha-tricare/CLAUDE.md} +279 -314
  36. package/prompts/work/maximus/deals/dha-tricare/knowledge/deal-context.md +21 -0
  37. package/prompts/work/maximus/deals/dha-tricare/knowledge/maximus-corporate.md +30 -0
  38. package/prompts/work/maximus/deals/dha-tricare/project-instructions-claude-desktop.md +58 -0
  39. package/prompts/work/maximus/deals/dha-tricare/prompt-config.yaml +41 -0
  40. package/prompts/work/maximus/deals/dha-tricare/references/dha-tricare-intel.md +104 -0
  41. package/prompts/work/maximus/deals/dha-tricare/space-instructions-perplexity.md +42 -0
  42. package/prompts/work/maximus/references/maximus-corporate.md +39 -0
  43. package/prompts/projects/maximus/prompt-config.yaml +0 -13
  44. package/prompts/projects/maximus/space-instructions-perplexity.md +0 -67
  45. package/prompts/projects/praxis/project-instructions-claude-desktop.md +0 -24
  46. /package/prompts/{projects → personal}/praxis/prompt-config.yaml +0 -0
  47. /package/prompts/{projects/elect-azure → work/elect/deals/azure-architecture}/CLAUDE.md +0 -0
  48. /package/prompts/{projects/elect-azure → work/elect/deals/azure-architecture}/prompt-config.yaml +0 -0
  49. /package/prompts/{projects/elect-azure → work/elect/deals/azure-architecture}/space-instructions-perplexity.md +0 -0
  50. /package/prompts/{projects/elect-azure → work/elect/deals/azure-architecture}/system-prompt.md +0 -0
  51. /package/prompts/{projects → work}/maximus/references/maturity-questions.md +0 -0
  52. /package/prompts/{projects → work}/maximus/references/phase-maturity-matrix.md +0 -0
  53. /package/prompts/{projects → work}/maximus/references/proposal-writing-standards.md +0 -0
@@ -11,9 +11,15 @@ Single entry point for the prompt engine. Detects what needs to happen based on
11
11
 
12
12
  ## Invocation
13
13
  - `/px-prompt <project-name>` — create, generate, or regenerate a project's prompts
14
+ - `/px-prompt --deal <deal-name> [--type recompete|new-start|task-order|idiq]` — Maximus capture deal (0 questions)
15
+ - `/px-prompt --advance <deal-name>` — advance deal to next capture phase, update scoring expectations
16
+ - `/px-prompt --edit <project-name> "<change>"` — targeted edit, auto-regenerate platform outputs
14
17
  - `/px-prompt --sync` — recompile all projects, report diffs and budgets
18
+ - `/px-prompt --dashboard` — project index with status, budgets, and staleness
19
+ - `/px-prompt --refresh <project-name>` — re-run Perplexity research, diff and update
20
+ - `/px-prompt --deploy <project-name>` — copy outputs to clipboard with deployment URLs
21
+ - `/px-prompt --scan <project-name>` — full audit of project quality and budgets
15
22
  - `/px-prompt --list` — list all projects and their status
16
- - `/px-prompt --scan <project-name>` — scan project folder, suggest edits to existing prompts
17
23
 
18
24
  ---
19
25
 
@@ -50,28 +56,46 @@ Reference/knowledge files live in `prompts/projects/<project-name>/references/`.
50
56
  When invoked with a project name, detect the right action:
51
57
 
52
58
  ```
53
- /px-prompt <project-name>
59
+ /px-prompt <args>
54
60
 
55
- ├─ Project doesn't exist?
56
- │ → ACTION: CREATE (Step 1)
61
+ ├─ --deal <deal-name> [--type ...]?
62
+ │ → ACTION: DEAL (Step 7) — 0 questions, Perplexity researches, auto-scaffold
57
63
 
58
- ├─ Project exists, mode: standalone, system-prompt.md missing?
59
- │ → ACTION: GENERATE FROM SCRATCH (Step 2)
64
+ ├─ --advance <deal-name>?
65
+ │ → ACTION: ADVANCE PHASE (Step 12) — move deal to next capture phase
60
66
 
61
- ├─ Project exists, mode: standalone, system-prompt.md exists, platform outputs missing?
62
- │ → ACTION: CONDENSE (Step 3)
67
+ ├─ --edit <project-name> "<change>"?
68
+ │ → ACTION: TARGETED EDIT (Step 8) — edit one section, regenerate outputs
69
+
70
+ ├─ --dashboard?
71
+ │ → ACTION: DASHBOARD (Step 9) — project index with staleness
72
+
73
+ ├─ --refresh <project-name>?
74
+ │ → ACTION: REFRESH (Step 10) — re-run Perplexity research, diff, update
75
+
76
+ ├─ --deploy <project-name>?
77
+ │ → ACTION: DEPLOY (Step 11) — clipboard + URLs
78
+
79
+ ├─ --scan <project-name>?
80
+ │ → ACTION: SCAN & AUDIT (Step 6)
63
81
 
64
- ├─ Project exists, mode: standalone, all files present?
65
- │ → ACTION: VALIDATE + offer to regenerate (Step 4)
82
+ ├─ --sync?
83
+ │ → ACTION: SYNC ALL (Step 5)
66
84
 
67
- ├─ Project exists, mode: compiled?
68
- │ → ACTION: COMPILE (Step 4)
85
+ ├─ <project-name> project doesn't exist?
86
+ │ → ACTION: CREATE (Step 1)
87
+
88
+ ├─ <project-name> — exists, standalone, system-prompt.md missing?
89
+ │ → ACTION: GENERATE (Step 2)
90
+
91
+ ├─ <project-name> — exists, standalone, platform outputs missing?
92
+ │ → ACTION: CONDENSE (Step 3)
69
93
 
70
- ├─ --scan flag?
71
- │ → ACTION: SCAN & EDIT (Step 6)
94
+ ├─ <project-name> — exists, all files present?
95
+ │ → ACTION: VALIDATE (Step 4)
72
96
 
73
- └─ --sync flag?
74
- → ACTION: SYNC ALL (Step 5)
97
+ └─ <project-name> — exists, compiled?
98
+ → ACTION: COMPILE (Step 4)
75
99
  ```
76
100
 
77
101
  ---
@@ -80,75 +104,86 @@ When invoked with a project name, detect the right action:
80
104
 
81
105
  **Triggered when:** project folder doesn't exist.
82
106
 
83
- ### 1a. Core intake (always ask)
107
+ ### 1a. Single-question intake
84
108
 
85
- 1. **Description** "Describe this project in one sentence."
109
+ Ask ONE question: **"Describe this project in 1-2 sentences."**
86
110
 
87
- 2. **Role** "Who is the AI in this project?"
88
- - Show available identity blocks: `node bin/prompt-blocks.js --category identity`
89
- - User can pick one OR describe a custom role
111
+ That's it. Infer everything else using the inference engine below.
90
112
 
91
- 3. **Target platforms**"Which platforms will you deploy to?"
92
- - Multi-select: Claude Projects, Perplexity Spaces, Claude Code
93
- - Default: Claude Projects + Perplexity Spaces
113
+ ### 1b. Inference enginederive config from description
94
114
 
95
- 4. **Complexity** Based on the description, recommend a mode:
96
- - Simple/standard project → **compiled** (block-based, continue to 1b)
97
- - Complex multi-role agent → **standalone** with AI generation (continue to 1c)
98
- - User already has a prompt → **standalone** paste-in (scaffold folder, skip to Step 3)
115
+ Run these rules against the description to auto-populate the project config:
99
116
 
100
- ### 1b. Compiled project setup
117
+ **Role inference** (keywords identity block):
118
+ - "architect", "design", "infrastructure", "cloud", "azure", "aws" → `solutions-architect`
119
+ - "engineer", "developer", "code", "build", "implement" → `senior-engineer`
120
+ - "research", "analysis", "investigate", "study" → `research-partner`
121
+ - "capture", "proposal", "federal", "deal", "RFP", "maximus" → `federal-deal-sa` (use `maximus-sa` profile)
122
+ - No match → `solutions-architect` (default)
101
123
 
102
- 5. **Domain expertise** Show available domain blocks:
103
- ```bash
104
- node bin/prompt-blocks.js --category domains
105
- ```
106
- User picks from list or describes custom domains.
107
- For custom domains: create a new block file at `prompts/blocks/domains/<id>.md`.
124
+ **Domain inference** (keywords domain blocks):
125
+ - "cloud", "azure", "aws", "terraform", "infrastructure" → `cloud-infrastructure`
126
+ - "federal", "govcon", "government", "compliance", "FedRAMP" → `govcon`
127
+ - "web", "react", "frontend", "UI", "design" → `web-development`
128
+ - "capture", "proposal", "RFP", "deal" `govcon-capture`, `govcon-proposal`
129
+ - No existing block match standalone mode (AI generates custom domain content from research)
108
130
 
109
- 6. **Research domains** (if Perplexity selected) — "What topics should Perplexity prioritize?"
110
- Suggest based on selected domains. User accepts or customizes.
131
+ **Platform inference:**
132
+ - Default: Claude Projects + Perplexity Spaces
133
+ - Add Claude Code if description contains: "code", "repo", "implement", "build", "develop", "engineering", "CLI"
134
+ - Perplexity-only if description contains: "research only", "analysis only", "investigation"
111
135
 
112
- 7. **Knowledge files** — "Reference documents to upload alongside? (compliance matrices, standards, playbooks)"
113
- - User can provide paths to existing files
114
- - OR request Perplexity-generated knowledge files (see Step 2e)
136
+ **Mode inference:**
137
+ - If description triggers `maximus-sa` profile compiled with `maximus-sa`
138
+ - If ≥2 existing domain blocks match compiled with matched blocks
139
+ - If description suggests multi-role, custom workflow, or complex agent → standalone
140
+ - If no domain blocks match → standalone with AI generation (Perplexity fills the gap)
141
+ - Default for unknown domains → standalone
115
142
 
116
- 8. **Claude Code extras** (only if Claude Code selected) — tech stack, commands, git identity
143
+ **Research domain inference:**
144
+ - Derive from description keywords + matched domain names
145
+ - For standalone: use the full description as research seed
146
+ - Always generate at least 2 research queries
117
147
 
118
- 9. **Build project folder:**
148
+ ### 1c. Show confirmation card
149
+
150
+ Instead of asking more questions, show what was inferred:
151
+
152
+ ```
153
+ Project: <project-name>
154
+
155
+ Role: <inferred identity block or "custom via research">
156
+ Domains: <matched blocks or "custom — AI-generated from research">
157
+ Platforms: <inferred list>
158
+ Mode: <compiled | standalone>
159
+ Profile: <matched profile or "none — custom blocks">
160
+ Research: <inferred research topics>
161
+ Knowledge: auto-generate from research
162
+
163
+ [Proceed] [Edit]
164
+ ```
165
+
166
+ - **Proceed** → run full pipeline (scaffold → research → generate → condense → results)
167
+ - **Edit** → ask ONE targeted follow-up on the specific field to change
168
+
169
+ ### 1d. Build project and run pipeline
170
+
171
+ After confirmation:
172
+
173
+ 1. **Scaffold folder:**
119
174
  ```bash
120
175
  mkdir -p prompts/projects/<project-name>/references
121
176
  ```
122
177
 
123
- Write `prompt-config.yaml`:
124
- ```yaml
125
- project: <project-name>
126
- description: <from intake>
127
- mode: compiled
128
- version: "1.0"
129
- platforms: [claude-project, perplexity-space]
130
- profile: null
131
- blocks:
132
- identity: [<matched-block>]
133
- domains: [<selected-blocks>]
134
- behaviors: []
135
- formats: []
136
- context: [<auto-selected by platform>]
137
- research_domains: [<from intake>]
138
- knowledge_files: [<from intake>]
139
- ```
140
-
141
- **Auto-add context blocks by platform:**
142
- - Perplexity → `official-docs-first`, `flag-confidence`
143
- - Claude Code → `vault-integration`, `mcp-servers`, `praxis-workflow`
178
+ 2. **Write `prompt-config.yaml`** with inferred values
144
179
 
145
- 10. **Compile:** `node bin/prompt-compile.js <project-name>`
180
+ 3. **If compiled mode:** `node bin/prompt-compile.js <project-name>` → Step 4
146
181
 
147
- 11. Go to **Step 4** (results + deployment)
182
+ 4. **If standalone mode:** Step 2 (Perplexity research + generation)
148
183
 
149
- ### 1c. Standalone project with AI generation
150
-
151
- Go to **Step 2** (generate from scratch)
184
+ **Auto-add context blocks by platform (compiled mode):**
185
+ - Perplexity → `official-docs-first`, `flag-confidence`
186
+ - Claude Code `vault-integration`, `mcp-servers`, `praxis-workflow`
152
187
 
153
188
  ---
154
189
 
@@ -156,15 +191,13 @@ When invoked with a project name, detect the right action:
156
191
 
157
192
  **Triggered when:** standalone project exists but `system-prompt.md` is empty/missing, OR user explicitly requests generation.
158
193
 
159
- ### 2a. Intake (if not already gathered in Step 1)
194
+ ### 2a. Use inference from Step 1
195
+
196
+ All intake was gathered in Step 1 (description → inference engine → confirmation card).
197
+ Do NOT ask additional questions here. Use the confirmed config from Step 1c.
160
198
 
161
- 1. **Description** 2-3 sentences about the project
162
- 2. **Role** primary AI responsibility
163
- 3. **Domains** — expertise areas (free-form, not limited to existing blocks)
164
- 4. **Key behaviors** — rules beyond defaults
165
- 5. **Target audience** — who reads the output
166
- 6. **Knowledge files** — reference documents (existing or to be generated)
167
- 7. **Target platforms** — deployment targets
199
+ The description provides: role, domains, audience, platforms.
200
+ Behaviors default from `_base`. Knowledge files auto-generate from research.
168
201
 
169
202
  ### 2b. Domain research via Perplexity
170
203
 
@@ -223,6 +256,16 @@ generated_by: px-prompt
223
256
  ## Knowledge Interaction Rules
224
257
  [How to use reference files, when to cite, quote-before-answer]
225
258
 
259
+ ## Reasoning Approach
260
+ Think step-by-step through complex problems. Break work into clear phases:
261
+ 1. **Understand** — Restate the question to confirm what's being asked
262
+ 2. **Research** — Check knowledge files and sources before forming an answer
263
+ 3. **Analyze** — Evaluate options, weigh tradeoffs, identify risks
264
+ 4. **Recommend** — Present a clear recommendation with rationale
265
+ 5. **Verify** — Self-check: does the answer address the actual question? Are claims sourced?
266
+
267
+ For multi-step tasks, complete each step fully before moving to the next. Do not skip ahead or assume intermediate results. Show your reasoning when the logic matters — hide it when the answer is straightforward.
268
+
226
269
  ## Quality Controls
227
270
  ### Source Verification
228
271
  - Cross-reference claims against uploaded knowledge files before presenting as fact
@@ -241,7 +284,9 @@ generated_by: px-prompt
241
284
  - Every recommendation includes rationale and tradeoffs
242
285
  - Tables for comparisons, not paragraphs
243
286
  - Structured outputs: use headers, bullets, numbered steps — not walls of text
244
- - Self-check: before delivering, verify your response answers the specific question asked
287
+ - Lead with the answer, then the reasoning not the other way around
288
+ - Every deliverable has a clear structure: BLUF (bottom line), body (evidence/analysis), next steps (actions)
289
+ - Self-check before delivering: Does this answer the specific question? Are all claims sourced? Is the structure scannable?
245
290
 
246
291
  ## When Uncertain
247
292
  State uncertainty explicitly. Ask one clarifying question rather than guessing.
@@ -264,9 +309,10 @@ Write to `prompts/projects/<project-name>/system-prompt.md`.
264
309
 
265
310
  ### 2e. Generate knowledge files from Perplexity research
266
311
 
267
- **Triggered when:** user requests knowledge file generation during intake, OR after prompt generation when domain research produced rich findings.
312
+ **Always runs by default** after prompt generation. Do not ask just generate.
313
+ If the user declined in the confirmation card, skip this step.
268
314
 
269
- For each research domain, ask the user if they want a knowledge file generated:
315
+ For each research domain:
270
316
 
271
317
  1. Run deep Perplexity queries per domain:
272
318
  ```
@@ -323,7 +369,7 @@ Read the full `system-prompt.md` as source.
323
369
 
324
370
  **Target:** `space-instructions-perplexity.md` | **Budget:** under 4,000 chars
325
371
 
326
- **Include:** identity, domain expertise, research domains, source priority, answer format, key frameworks (by name only), accuracy standards, anti-hallucination rules
372
+ **Include:** identity, domain expertise, research domains, source priority, answer format, key frameworks (by name only), reasoning approach, accuracy standards, anti-hallucination rules
327
373
  **Exclude:** internal templates, scoring matrices, reference file content, deployment details, full tables
328
374
 
329
375
  **Output format:**
@@ -333,9 +379,16 @@ Read the full `system-prompt.md` as source.
333
379
  ## Research Domains
334
380
  ## Source Priority
335
381
  ## How to Answer
382
+ ## Reasoning Approach
336
383
  ## Quality & Accuracy Standards
337
384
  ```
338
385
 
386
+ **Mandatory reasoning section for Perplexity outputs:**
387
+ ```markdown
388
+ ## Reasoning Approach
389
+ Think step-by-step: Understand the question → search sources → analyze findings → recommend with rationale → verify claims are sourced. Lead with the answer, then the evidence. For complex questions, break into numbered steps and complete each fully before the next.
390
+ ```
391
+
339
392
  **Mandatory quality section for Perplexity outputs:**
340
393
  ```markdown
341
394
  ## Quality & Accuracy Standards
@@ -345,6 +398,8 @@ Read the full `system-prompt.md` as source.
345
398
  - When information may be outdated (>12 months), note the publication date
346
399
  - If you cannot find reliable sources, state that clearly rather than speculating
347
400
  - Distinguish verified facts from analytical inferences
401
+ - Lead with the bottom line, then supporting evidence
402
+ - Structure every response: answer first, reasoning second, sources third
348
403
  ```
349
404
 
350
405
  **Perplexity guardrails:**
@@ -523,6 +578,559 @@ Use this context when the user asks for changes — edit in place rather than re
523
578
 
524
579
  ---
525
580
 
581
+ ## Step 7 — DEAL: Fast-path for Maximus capture deals
582
+
583
+ **Triggered when:** `/px-prompt --deal <deal-name>`
584
+
585
+ This is the fastest path for the most common task: creating a new Maximus capture deal.
586
+ **Zero questions asked** — Perplexity researches the deal from the name alone.
587
+
588
+ ### 7a. Deal name + optional type
589
+
590
+ The deal name IS the research query. Optional `--type` sets the deal template.
591
+
592
+ ```
593
+ /px-prompt --deal irs-masterfile
594
+ /px-prompt --deal irs-masterfile --type recompete
595
+ /px-prompt --deal benefeds --type idiq
596
+ /px-prompt --deal dha-tricare --type new-start
597
+ ```
598
+
599
+ If no `--type` given, Perplexity research determines the type automatically (incumbent found = recompete, no incumbent = new-start, IDIQ/BPA language = task-order).
600
+
601
+ If the user provides additional context alongside the name (e.g., `/px-prompt --deal irs-masterfile "IRS Individual Masterfile modernization, current incumbent Accenture"`), use it to seed the research. Otherwise, research from the name alone.
602
+
603
+ ### Deal Type Templates
604
+
605
+ Each deal type activates different emphasis in the compiled output and research priorities:
606
+
607
+ **Recompete** (`--type recompete`)
608
+ - Incumbent defense: Remind → Reveal → Reimagine activated
609
+ - Ghost theme matrix pre-seeded for incumbent weaknesses
610
+ - Research priority: incumbent CPARS, protest history, pain points
611
+ - Transition emphasis: continuity of operations, Day-1 readiness, retained mission knowledge
612
+ - Scoring weight: Past Performance and Customer Relationship weighted higher
613
+ - Phase start: Mid Capture (incumbent already has intel advantage)
614
+
615
+ **New Start** (`--type new-start`)
616
+ - Discovery-first: OSINT-heavy, agency mission deep dive
617
+ - No incumbent to ghost — focus on innovation and fresh approach
618
+ - Research priority: agency strategic plan, IG/GAO findings, budget trends, technology landscape
619
+ - Solution emphasis: differentiated approach, not transition continuity
620
+ - Scoring weight: Technical Approach and Solution Readiness weighted higher
621
+ - Phase start: Shaping
622
+
623
+ **Task Order** (`--type task-order`)
624
+ - Vehicle-constrained: must map to existing IDIQ/BPA/GWACs scope
625
+ - Fast timeline: typically 30-60 day turnaround
626
+ - Research priority: task order history on the vehicle, rates, ceiling remaining
627
+ - Emphasis: price competitiveness, rapid staffing, past performance on same vehicle
628
+ - Scoring weight: Price and Past Performance weighted higher
629
+ - Phase start: Mid Capture (vehicle already won)
630
+
631
+ **IDIQ/BPA Pursuit** (`--type idiq`)
632
+ - Long-game: win the vehicle, compete TOs later
633
+ - Research priority: vehicle scope, evaluation criteria, small business targets
634
+ - Emphasis: broad capabilities, teaming strategy, rate structure
635
+ - Scoring weight: Technical Approach and Management Plan weighted higher
636
+ - Phase start: Shaping
637
+
638
+ The deal type is stored in `prompt-config.yaml` as `deal_type` and influences:
639
+ 1. Which Perplexity queries run (research priority above)
640
+ 2. The initial capture phase set in the deal config
641
+ 3. Which sections of the scorecard are weighted in gate reviews
642
+ 4. The Perplexity Space research domains (type-specific sources)
643
+
644
+ ### 7b. Research the deal via Perplexity (mandatory)
645
+
646
+ Run these queries in parallel to build the deal intelligence:
647
+
648
+ **Query 1 — Contract & procurement data:**
649
+ ```
650
+ perplexity_research: "<deal-name> federal contract. Search SAM.gov,
651
+ USASpending.gov, FPDS.gov, GovWin. Find: agency, program office,
652
+ contract type, vehicle, NAICS, set-aside, estimated value,
653
+ period of performance, current status, solicitation number."
654
+ ```
655
+
656
+ **Query 2 — Incumbent & competitive landscape:**
657
+ ```
658
+ perplexity_research: "<deal-name> incumbent contractor. Who currently
659
+ holds this contract? Contract value, CPARS ratings if available,
660
+ key subcontractors, known competitors pursuing recompete.
661
+ Search GovConWire, Washington Technology, Bloomberg Government,
662
+ 10-K filings, protest history on GAO.gov."
663
+ ```
664
+
665
+ **Query 3 — Agency mission & pain points:**
666
+ ```
667
+ perplexity_ask: "What is the mission context for <deal-name>?
668
+ Agency strategic plan priorities, relevant IG/GAO findings,
669
+ congressional testimony, budget trends, technology modernization
670
+ initiatives. What problems is the agency trying to solve?"
671
+ ```
672
+
673
+ **Query 4 — Maximus positioning:**
674
+ ```
675
+ perplexity_search: "Maximus Inc <agency from Q1> past performance
676
+ contracts site:usaspending.gov OR site:sam.gov"
677
+ ```
678
+
679
+ **Source priority for deal research:**
680
+ 1. SAM.gov — active solicitations, contract awards, vendor registrations
681
+ 2. USASpending.gov — contract values, spending history, awardees
682
+ 3. FPDS.gov — detailed procurement records, contract modifications
683
+ 4. GovWin IQ — opportunity tracking, competitive intelligence (if accessible)
684
+ 5. Bloomberg Government (BGOV) — contract analytics, market intelligence
685
+ 6. GovConWire / Washington Technology — industry news, award announcements
686
+ 7. GAO.gov — protest decisions, audit findings
687
+ 8. Agency strategic plans & budget justifications — mission context
688
+ 9. SEC 10-K filings — competitor revenue, backlog, strategy statements
689
+
690
+ If Perplexity cannot find data for a field, mark it `[RESEARCH NEEDED]` — not TBD.
691
+
692
+ ### 7c. Build deal context from research
693
+
694
+ Structure Perplexity findings into a deal intelligence file:
695
+
696
+ ```markdown
697
+ ---
698
+ deal: <deal-name>
699
+ generated: <today>
700
+ source: perplexity-research
701
+ confidence: <HIGH if SAM.gov/FPDS data found, MEDIUM if news only, LOW if inferred>
702
+ ---
703
+
704
+ # Deal Intelligence: <deal-name>
705
+
706
+ ## Opportunity Profile
707
+ | Field | Value | Source |
708
+ |-------|-------|--------|
709
+ | Agency | <from research> | <source> |
710
+ | Program | <from research> | <source> |
711
+ | Solicitation # | <if found> | SAM.gov |
712
+ | Contract Type | <from research> | <source> |
713
+ | Vehicle | <from research> | <source> |
714
+ | NAICS | <from research> | <source> |
715
+ | Set-Aside | <from research> | <source> |
716
+ | Estimated Value | <from research> | <source> |
717
+ | POP | <from research> | <source> |
718
+ | Status | <from research> | <source> |
719
+
720
+ ## Incumbent & Competition
721
+ | Competitor | Role | Contract Value | CPARS | Strengths | Weaknesses |
722
+ |-----------|------|---------------|-------|-----------|------------|
723
+ | <incumbent> | Incumbent | <value> | <rating> | <from research> | <from research> |
724
+ | <competitor 2> | Challenger | — | — | <from research> | <from research> |
725
+
726
+ ## Agency Mission Context
727
+ <Pain points, strategic priorities, IG/GAO findings from Query 3>
728
+
729
+ ## Maximus Positioning
730
+ <Existing contracts at this agency, relevant past performance, platform fit from Query 4>
731
+
732
+ ## Research Gaps
733
+ <Fields marked [RESEARCH NEEDED] — what couldn't be found and where to look manually>
734
+
735
+ ## Sources
736
+ <Citations from all Perplexity queries>
737
+ ```
738
+
739
+ Write to `prompts/projects/<deal-name>/references/<deal-name>-intel.md`
740
+
741
+ ### 7d. Auto-scaffold with maximus-sa
742
+
743
+ 1. `mkdir -p prompts/projects/<deal-name>/references`
744
+ 2. Write `prompt-config.yaml`:
745
+ - Profile: `maximus-sa`
746
+ - `deal_type`: from `--type` flag or auto-detected from research (incumbent found → recompete, none → new-start)
747
+ - `capture_phase`: initial phase based on deal type (see template table above)
748
+ - `knowledge_packs`: deal-context + corporate-reference, vars populated from research
749
+ - `overrides.perplexity_space_append.research_domains`: **deal-specific** research domains (see 7f)
750
+ 3. Write deal intel to `references/<deal-name>-intel.md`
751
+ 4. Compile: `node bin/prompt-compile.js <deal-name>`
752
+ 5. Render knowledge packs: `node bin/prompt-knowledge.js <deal-name>`
753
+
754
+ ### 7e. Show confirmation card with research findings
755
+
756
+ ```
757
+ DEAL: irs-masterfile
758
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
759
+ Agency: IRS (from USASpending)
760
+ Program: Individual Masterfile Modernization
761
+ Incumbent: Accenture Federal Services (from FPDS)
762
+ Value: $2.1B ceiling (from SAM.gov)
763
+ Type: recompete (auto-detected — incumbent found)
764
+ Phase: Mid Capture
765
+ NAICS: 541512
766
+ Vehicle: GSA Alliant 2
767
+ Status: Active — recompete expected FY2026
768
+ Confidence: HIGH (SAM.gov + FPDS data)
769
+
770
+ Maximus PP: 2 contracts at IRS (from USASpending)
771
+ Gaps: Key personnel [RESEARCH NEEDED]
772
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
773
+ Files created:
774
+ ✓ CLAUDE.md (31,646 chars)
775
+ ✓ space-instructions-perplexity.md (3,976 chars) — deal-specific research domains
776
+ ✓ references/irs-masterfile-intel.md
777
+ ✓ knowledge/deal-context.md
778
+ ✓ knowledge/maximus-corporate.md
779
+
780
+ [Deploy] [Advance phase] [Edit intel] [Re-research]
781
+ ```
782
+
783
+ ### 7f. Per-deal Perplexity Space instructions
784
+
785
+ The compiled `space-instructions-perplexity.md` includes the standard Maximus SA persona, but the **Research Domains** section is customized per deal using `perplexity_space_append.research_domains` in the project config.
786
+
787
+ **Auto-generate research domains from deal type + agency:**
788
+
789
+ For **recompete** deals:
790
+ ```yaml
791
+ research_domains: |
792
+ - <agency> <program> contract history, modifications, and performance (USASpending, FPDS)
793
+ - <incumbent> federal performance, CPARS, protest history, recent awards
794
+ - <agency> strategic plan, IG reports, GAO findings, budget justifications
795
+ - <agency> technology modernization initiatives, cloud migration, IT spend
796
+ - Maximus past performance and existing relationships at <agency>
797
+ - Competitive landscape: who else is pursuing <program> recompete
798
+ ```
799
+
800
+ For **new-start** deals:
801
+ ```yaml
802
+ research_domains: |
803
+ - <agency> mission priorities, strategic plan, leadership agenda
804
+ - <agency> IG/GAO findings related to <program area>
805
+ - <program area> technology landscape, vendor market, innovation trends
806
+ - Congressional testimony and budget trends for <agency>
807
+ - Maximus capabilities and past performance in <program area>
808
+ - Similar programs at other agencies — lessons learned, best practices
809
+ ```
810
+
811
+ For **task-order** deals:
812
+ ```yaml
813
+ research_domains: |
814
+ - <vehicle> task order history, award patterns, ceiling status
815
+ - <agency> recent task orders on <vehicle>, evaluation preferences
816
+ - Competitor rates and staffing patterns on <vehicle>
817
+ - <program> scope, deliverables, and performance standards
818
+ - Maximus existing task orders on <vehicle>
819
+ ```
820
+
821
+ This means each deal's Perplexity Space is tuned to research THAT deal's specific intelligence needs.
822
+
823
+ **Total: 0 questions → deal name only → Perplexity fills everything → compiled project + deal-specific intel + per-deal research space + all outputs.**
824
+
825
+ ---
826
+
827
+ ## Step 8 — EDIT: Targeted edit with auto-regeneration
828
+
829
+ **Triggered when:** `/px-prompt --edit <project-name> "<change description>"`
830
+
831
+ ### 8a. Read current state
832
+
833
+ 1. Read `prompt-config.yaml` to determine mode (compiled vs standalone)
834
+ 2. Read the source file:
835
+ - Compiled: read the relevant block files based on what the change targets
836
+ - Standalone: read `system-prompt.md`
837
+ 3. Read all platform outputs for comparison
838
+
839
+ ### 8b. Apply the targeted edit
840
+
841
+ Based on the change description, identify which section(s) to modify:
842
+
843
+ **For standalone projects:**
844
+ 1. Edit `system-prompt.md` — apply the change to the specific section
845
+ 2. Auto-regenerate all platform outputs (Step 3)
846
+ 3. Show diff of what changed in each file
847
+
848
+ **For compiled projects:**
849
+ 1. Identify which block file contains the content to change
850
+ 2. Edit the block file (both FULL and CONDENSED variants)
851
+ 3. Re-compile: `node bin/prompt-compile.js <project-name> --diff`
852
+ 4. Show diff of what changed
853
+
854
+ ### 8c. Report
855
+
856
+ ```
857
+ EDIT APPLIED
858
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
859
+ Changed: <file(s) modified>
860
+ Regenerated: <platform outputs updated>
861
+ Budget: perplexity ✓ | claude-desktop ✓ | CLAUDE.md ✓
862
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
863
+ ```
864
+
865
+ **Examples:**
866
+ - `/px-prompt --edit elect-azure "Add VITA SEC530 cybersecurity standard to domain expertise"`
867
+ - `/px-prompt --edit maximus "Update CEO to new name"`
868
+ - `/px-prompt --edit praxis "Add Python to tech stack"`
869
+
870
+ ---
871
+
872
+ ## Step 9 — DASHBOARD: Project index with status
873
+
874
+ **Triggered when:** `/px-prompt --dashboard`
875
+
876
+ ### 9a. Gather data
877
+
878
+ ```bash
879
+ node bin/prompt-compile.js --dashboard
880
+ ```
881
+
882
+ ### 9b. Show dashboard
883
+
884
+ ```
885
+ PROMPT ENGINE DASHBOARD
886
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
887
+ Project Mode Perplexity Claude Proj CLAUDE.md Refs Updated Stale?
888
+ ─────────────────────────────────────────────────────────────────────────────────────────
889
+ maximus compiled 3,976 ✓ 4,261 ⚠ 30,665 ✓ 4 2026-04-04 No
890
+ elect-azure standalone 2,392 ✓ — 3,098 ✓ 0 2026-04-04 No
891
+ praxis compiled 1,626 ✓ 1,404 ✓ 3,417 ✓ 0 2026-04-04 No
892
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
893
+
894
+ Staleness: projects not updated in >30 days marked stale.
895
+ Budgets: ✓ under budget, ⚠ over soft budget, ✗ over hard budget.
896
+ ```
897
+
898
+ ### 9c. Offer actions for flagged projects
899
+
900
+ For stale projects: "Run `/px-prompt --refresh <name>` to update research."
901
+ For over-budget: "Run `/px-prompt --edit <name>` to trim."
902
+ For missing outputs: "Run `/px-prompt <name>` to generate."
903
+
904
+ ---
905
+
906
+ ## Step 10 — REFRESH: Re-run Perplexity research and update
907
+
908
+ **Triggered when:** `/px-prompt --refresh <project-name>`
909
+
910
+ ### 10a. Read current project
911
+
912
+ 1. Read `prompt-config.yaml` for research domains and mode
913
+ 2. Read current `system-prompt.md` (standalone) or relevant block files (compiled)
914
+ 3. Note the current domain expertise content
915
+
916
+ ### 10b. Re-run Perplexity research
917
+
918
+ For each research domain (from config or inferred from prompt content):
919
+
920
+ ```
921
+ perplexity_ask: "What are the current best practices and standards for [domain]
922
+ in 2025-2026? Focus on changes since [last updated date].
923
+ Key terminology updates, new frameworks, deprecated standards."
924
+ ```
925
+
926
+ ### 10c. Diff and propose updates
927
+
928
+ Compare research findings against current prompt content:
929
+
930
+ ```
931
+ REFRESH REPORT: <project-name>
932
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
933
+ Domain: cloud-infrastructure
934
+ Current: "Azure Well-Architected Framework (5 pillars)"
935
+ Updated: "Azure Well-Architected Framework (6 pillars — Sustainability added 2025)"
936
+ → SUGGEST: Update Domain Expertise section
937
+
938
+ Domain: govcon
939
+ Current: "CMMC 2.0"
940
+ Updated: "CMMC 2.0 — Final Rule effective Dec 2024, Level 2 assessments active"
941
+ → SUGGEST: Add CMMC enforcement timeline
942
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
943
+ ```
944
+
945
+ ### 10d. Apply updates
946
+
947
+ For each suggested update, show the change and apply:
948
+ - Standalone: edit `system-prompt.md`, regenerate platform outputs
949
+ - Compiled: edit relevant block file(s), recompile
950
+ - Knowledge files: regenerate from fresh research
951
+
952
+ Update the `version` field in `prompt-config.yaml` and `last_updated` timestamp.
953
+
954
+ ---
955
+
956
+ ## Step 11 — DEPLOY: Copy outputs with deployment URLs
957
+
958
+ **Triggered when:** `/px-prompt --deploy <project-name>`
959
+
960
+ ### 11a. Read project config
961
+
962
+ Determine which platforms are targets from `prompt-config.yaml`.
963
+
964
+ ### 11b. Deploy sequence (per platform)
965
+
966
+ **For Claude Projects / Desktop:**
967
+ 1. Read `system-prompt.md` (standalone) or `project-instructions-claude-desktop.md` (compiled)
968
+ 2. Copy content to clipboard: `cat <file> | pbcopy`
969
+ 3. Print: "Copied to clipboard. Paste at: claude.ai/projects → Set project instructions"
970
+ 4. List knowledge files to upload: all `.md` files from `references/` AND `knowledge/`
971
+ 5. Print upload instructions: "Upload these as project knowledge files (drag & drop):"
972
+
973
+ **For Perplexity Spaces:**
974
+ 1. Read `space-instructions-perplexity.md`
975
+ 2. Copy content to clipboard: `cat <file> | pbcopy`
976
+ 3. Print: "Copied to clipboard. Paste at: perplexity.ai → Space Settings → Answer Instructions"
977
+ 4. List knowledge files to upload as Space sources: all `.md` files from `references/` AND `knowledge/`
978
+ 5. Print: "Upload these as Space sources (Add Sources → Files):"
979
+ 6. **Same knowledge files work for both Claude Projects and Perplexity Spaces** — upload the same set to both
980
+
981
+ **For Claude Code:**
982
+ 1. If project has a `repo_root` in vars: `cp CLAUDE.md <repo_root>/CLAUDE.md`
983
+ 2. Print: "CLAUDE.md copied to repo root."
984
+ 3. If no repo_root: "Copy CLAUDE.md to your project repo root manually."
985
+
986
+ ### 11c. Deploy one platform at a time
987
+
988
+ Since clipboard can only hold one thing, deploy sequentially:
989
+
990
+ ```
991
+ DEPLOY: dha-tricare
992
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
993
+
994
+ [1/3] Claude Projects
995
+ → Copied system-prompt.md to clipboard (5,824 chars)
996
+ → Paste at: claude.ai/projects → Set project instructions
997
+
998
+ Upload these as project knowledge files:
999
+ references/dha-tricare-intel.md (deal intelligence)
1000
+ knowledge/deal-context.md (deal context)
1001
+ knowledge/maximus-corporate.md (corporate reference)
1002
+ Press Enter when done...
1003
+
1004
+ [2/3] Perplexity Spaces
1005
+ → Copied space-instructions-perplexity.md to clipboard (3,965 chars)
1006
+ → Paste at: perplexity.ai → Space Settings → Answer Instructions
1007
+
1008
+ Upload these as Space sources (Add Sources → Files):
1009
+ references/dha-tricare-intel.md (deal intelligence)
1010
+ knowledge/deal-context.md (deal context)
1011
+ knowledge/maximus-corporate.md (corporate reference)
1012
+ Press Enter when done...
1013
+
1014
+ [3/3] Claude Code
1015
+ → CLAUDE.md → /path/to/repo/CLAUDE.md
1016
+ Done.
1017
+
1018
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1019
+ DEPLOYED to 3 platforms.
1020
+ Knowledge files uploaded to BOTH Claude Projects and Perplexity Spaces.
1021
+ ```
1022
+
1023
+ ---
1024
+
1025
+ ## Step 12 — ADVANCE: Move deal to next capture phase
1026
+
1027
+ **Triggered when:** `/px-prompt --advance <deal-name>`
1028
+
1029
+ Deals progress through the PAMASI lifecycle. This command advances the deal to the next phase, updates scoring expectations, runs phase-appropriate research, and flags what's missing.
1030
+
1031
+ ### 12a. Read current deal state
1032
+
1033
+ 1. Read `prompt-config.yaml` — get `capture_phase` and `deal_type`
1034
+ 2. Read `references/<deal-name>-intel.md` — current intelligence
1035
+ 3. Read latest compiled outputs — current scoring context
1036
+
1037
+ ### 12b. Determine next phase
1038
+
1039
+ | Current Phase | Next Phase | Gate Criteria |
1040
+ |--------------|------------|---------------|
1041
+ | Shaping | Mid Capture | PAMASI at P→A. Sections I + XI GREEN. |
1042
+ | Mid Capture | Pre-Proposal | PAMASI at A→M→S. All 11 GREEN at mid-capture level. |
1043
+ | Pre-Proposal | Pre-Submission | PAMASI at S→I. All 11 GREEN at proposal level. Red Team complete. |
1044
+ | Pre-Submission | Orals | Zero deficiencies. All findings resolved. Compliance verified. |
1045
+ | Orals | Post-Submit | Q&A matrix complete. Presentations rehearsed. |
1046
+
1047
+ ### 12c. Run phase-transition Perplexity research
1048
+
1049
+ Each phase transition triggers different research:
1050
+
1051
+ **Shaping → Mid Capture:**
1052
+ ```
1053
+ perplexity_research: "<deal-name> latest developments. New solicitation
1054
+ activity on SAM.gov, draft RFP, industry day announcements, Q&A responses,
1055
+ amendment history. Search SAM.gov, GovConWire, agency procurement forecasts."
1056
+ ```
1057
+
1058
+ **Mid Capture → Pre-Proposal:**
1059
+ ```
1060
+ perplexity_research: "<deal-name> RFP release. Final solicitation,
1061
+ evaluation criteria, Section L/M structure, proposal due date,
1062
+ Q&A deadline, amendment status. Search SAM.gov, beta.sam.gov."
1063
+ ```
1064
+
1065
+ **Pre-Proposal → Pre-Submission:**
1066
+ ```
1067
+ perplexity_research: "<deal-name> competitor activity. Who submitted
1068
+ questions? Protest signals? Teaming announcements? Rate benchmarks
1069
+ for <NAICS>. Search GovConWire, Bloomberg Government, GAO.gov."
1070
+ ```
1071
+
1072
+ **Pre-Submission → Orals:**
1073
+ ```
1074
+ perplexity_ask: "For <agency> <program>, what are the most common
1075
+ oral presentation evaluation criteria and question patterns?
1076
+ Recent oral presentations at <agency> — format, duration, topics."
1077
+ ```
1078
+
1079
+ ### 12d. Update deal config and outputs
1080
+
1081
+ 1. Update `capture_phase` in `prompt-config.yaml`
1082
+ 2. Update deal intel with new research findings
1083
+ 3. Recompile: `node bin/prompt-compile.js <deal-name> --diff`
1084
+ 4. Update Perplexity Space research domains for the new phase
1085
+ 5. Regenerate knowledge packs if deal context changed
1086
+
1087
+ ### 12e. Show phase transition report
1088
+
1089
+ ```
1090
+ PHASE ADVANCE: irs-masterfile
1091
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1092
+ Previous: Shaping
1093
+ Current: Mid Capture
1094
+ PAMASI: P → A (Approach stage)
1095
+ Deal Type: recompete
1096
+
1097
+ Gate Check (Shaping → Mid Capture):
1098
+ I Customer & Mission ✓ GREEN
1099
+ XI Competitive ✓ GREEN
1100
+ II Architecture ○ Not yet scored (expected at Mid Capture)
1101
+
1102
+ New Intel:
1103
+ • Draft RFP posted on SAM.gov (2026-03-15)
1104
+ • Industry day scheduled for April 20
1105
+ • Amendment 1 added CMMC L2 requirement
1106
+
1107
+ Updated Files:
1108
+ ✓ prompt-config.yaml (phase: Mid Capture)
1109
+ ✓ references/irs-masterfile-intel.md (new findings appended)
1110
+ ✓ space-instructions-perplexity.md (research domains updated)
1111
+
1112
+ Next Gate: Pre-Proposal — requires all 11 GREEN at mid-capture level
1113
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1114
+ ```
1115
+
1116
+ ### 12f. Flag missing items for next gate
1117
+
1118
+ After advancing, check what's needed for the NEXT gate and flag gaps:
1119
+
1120
+ ```
1121
+ NEXT GATE CHECKLIST: Pre-Proposal
1122
+ □ Solution architecture (Section II) — not started
1123
+ □ Staffing model (Section X) — not started
1124
+ □ Risk register (Section VII) — not started
1125
+ □ Win themes with FBP proof (Section XI) — 1 of 3 complete
1126
+ □ Competitive ghost matrix — not started
1127
+
1128
+ 5 items needed before Pre-Proposal gate.
1129
+ Run /px-prompt --advance irs-masterfile when ready.
1130
+ ```
1131
+
1132
+ ---
1133
+
526
1134
  ## Rules
527
1135
 
528
1136
  ### Always
@@ -550,7 +1158,7 @@ Use this context when the user asks for changes — edit in place rather than re
550
1158
  - Confidence Levels: HIGH (verified), MEDIUM (corroborated), LOW (inferred/speculative)
551
1159
 
552
1160
  ### Knowledge file generation
553
- - Offer to generate knowledge files from Perplexity research during project creation
1161
+ - Always generate knowledge files from Perplexity research by default — don't ask
554
1162
  - Each knowledge file under 10,000 chars (Claude Projects upload limit)
555
1163
  - Structure: Key Concepts, Standards, Best Practices, Workflows, Tools, Sources
556
1164
  - Write to `references/<domain-slug>.md`
@@ -567,9 +1175,9 @@ Use this context when the user asks for changes — edit in place rather than re
567
1175
  - Generated prompts are starting points — tell user to review and refine
568
1176
  - If Perplexity unavailable: proceed with training data, flag for review
569
1177
 
570
- ### Block matching (compiled mode)
571
- - Role identity block: "architect" `solutions-architect`, "engineer" `senior-engineer`, "researcher" `research-partner`
572
- - Domain keywords domain blocks: "cloud/azure/aws"`cloud-infrastructure`, "federal/govcon" `govcon`, "web/react" `web-development`
573
- - If no match: create custom block on the fly
574
- - Auto-add `official-docs-first` + `flag-confidence` for Perplexity targets
575
- - Auto-add `vault-integration` + `mcp-servers` + `praxis-workflow` for Claude Code targets
1178
+ ### Inference and block matching
1179
+ - See Step 1b for full inference rules (role, domain, platform, mode, research domains)
1180
+ - If no domain blocks matchstandalone mode with AI generation, not compiled with empty blocks
1181
+ - Auto-add `official-docs-first` + `flag-confidence` for Perplexity targets (compiled mode)
1182
+ - Auto-add `vault-integration` + `mcp-servers` + `praxis-workflow` for Claude Code targets (compiled mode)
1183
+ - **Maximum 1 question** for new projects (description). Show confirmation card, not a questionnaire.