@esoteric-logic/praxis-harness 3.1.1 → 3.2.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.
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: px-prompt
3
3
  disable-model-invocation: true
4
- description: "Unified prompt engine. Creates, generates, condenses, and syncs system prompts for Claude Projects, Perplexity Spaces, and Claude Code. Auto-detects what to do based on project state."
4
+ description: "Unified prompt engine. Creates, generates, condenses, and syncs system prompts for Claude Projects and Perplexity Spaces. Auto-detects what to do based on project state. Claude Code CLAUDE.md is handled by px-scaffold."
5
5
  ---
6
6
 
7
7
  # px-prompt Skill
@@ -39,15 +39,20 @@ Do NOT show "Work on praxis" or "Work on maximus" or any project name — the en
39
39
 
40
40
  Platform outputs use suffixed filenames so users can distinguish them at a glance:
41
41
 
42
- | Platform | Output Filename | Budget |
43
- |----------|----------------|--------|
44
- | Source (Claude Projects) | `system-prompt.md` | 5,000 chars |
45
- | Claude Desktop / Projects | `project-instructions-claude-desktop.md` | 2,500 chars |
46
- | Perplexity Spaces | `space-instructions-perplexity.md` | 4,000 chars |
47
- | Claude Code | `CLAUDE.md` | 250 lines |
42
+ | Platform | Output Filename | Budget | When |
43
+ |----------|----------------|--------|------|
44
+ | Claude Projects | `system-prompt.md` | 5,000 chars | Standalone projects |
45
+ | Claude Projects | `project-instructions-claude-desktop.md` | 2,500 chars | Compiled projects (compiler output) |
46
+ | Perplexity Spaces | `space-instructions-perplexity.md` | 4,000 chars | All projects |
48
47
 
49
- All output files live in `prompts/projects/<project-name>/`.
50
- Reference/knowledge files live in `prompts/projects/<project-name>/references/`.
48
+ Each project has exactly **2 output files** one for Claude Projects, one for Perplexity Spaces.
49
+ - Standalone: `system-prompt.md` + `space-instructions-perplexity.md`
50
+ - Compiled: `project-instructions-claude-desktop.md` + `space-instructions-perplexity.md`
51
+
52
+ Claude Code `CLAUDE.md` is NOT generated by this skill — use `px-scaffold`.
53
+
54
+ All output files live in the project's folder under `prompts/work/` or `prompts/personal/`.
55
+ Reference/knowledge files live in `<project>/references/`.
51
56
 
52
57
  ---
53
58
 
@@ -130,8 +135,8 @@ Run these rules against the description to auto-populate the project config:
130
135
 
131
136
  **Platform inference:**
132
137
  - Default: Claude Projects + Perplexity Spaces
133
- - Add Claude Code if description contains: "code", "repo", "implement", "build", "develop", "engineering", "CLI"
134
138
  - Perplexity-only if description contains: "research only", "analysis only", "investigation"
139
+ - Claude Code CLAUDE.md is NOT a px-prompt output — use px-scaffold for that
135
140
 
136
141
  **Mode inference:**
137
142
  - If description triggers `maximus-sa` profile → compiled with `maximus-sa`
@@ -183,7 +188,6 @@ After confirmation:
183
188
 
184
189
  **Auto-add context blocks by platform (compiled mode):**
185
190
  - Perplexity → `official-docs-first`, `flag-confidence`
186
- - Claude Code → `vault-integration`, `mcp-servers`, `praxis-workflow`
187
191
 
188
192
  ---
189
193
 
@@ -361,7 +365,7 @@ For each research domain:
361
365
 
362
366
  ## Step 3 — CONDENSE: Generate platform outputs from system-prompt.md
363
367
 
364
- **Triggered when:** standalone project has `system-prompt.md` but missing `space-instructions-perplexity.md` or `CLAUDE.md`.
368
+ **Triggered when:** standalone project has `system-prompt.md` but missing `space-instructions-perplexity.md`.
365
369
 
366
370
  Read the full `system-prompt.md` as source.
367
371
 
@@ -408,44 +412,11 @@ Think step-by-step: Understand the question → search sources → analyze findi
408
412
  - Replace absolute language with conditional ("if available", "when sources confirm")
409
413
  - Search-friendly domain terms
410
414
 
411
- ### 3b. Generate Claude Code CLAUDE.md (if Claude Code is a target platform)
412
-
413
- **Target:** `CLAUDE.md` | **Budget:** under 250 lines
414
-
415
- **Include:** identity, behaviors, domain expertise, frameworks (one-line each), operating modes, quality controls, anti-hallucination rules
416
- **Exclude:** full scoring matrices, templates, reference file content, corporate data tables
417
-
418
- **Output format:**
419
- ```markdown
420
- # [Project Name]
421
- ## Identity
422
- ## Behaviors
423
- ## Domain Expertise
424
- ## Frameworks
425
- ## Operating Modes
426
- ## Quality Controls
427
- ## References
428
- ```
429
-
430
- **Claude Code guardrails:**
431
- - Positive framing: "Do X" over "Don't do Y"
432
- - No "CRITICAL: YOU MUST" language (Claude 4.6 overtriggers)
433
- - Self-check block for quality-critical outputs
434
- - Reference knowledge files by filename only
435
-
436
- ### 3c. Generate Claude Desktop project instructions (if Claude Projects is a target platform)
437
-
438
- **Target:** `project-instructions-claude-desktop.md` | **Budget:** under 2,500 chars
439
-
440
- **Include:** role, behavioral constraints, domain expertise (condensed), output format, quality controls, when uncertain
441
- **Exclude:** full domain details (those go in knowledge files), reference content, deployment details
442
-
443
- ### 3d. Validate budgets
415
+ ### 3b. Validate budgets
444
416
 
445
417
  After generating, check:
418
+ - `system-prompt.md` under 5,000 chars
446
419
  - `space-instructions-perplexity.md` under 4,000 chars
447
- - `project-instructions-claude-desktop.md` under 2,500 chars
448
- - `CLAUDE.md` under 250 lines
449
420
 
450
421
  If over budget: flag and suggest sections to trim.
451
422
 
@@ -467,10 +438,8 @@ node bin/prompt-compile.js <project-name>
467
438
  ```
468
439
  | Output | Chars | Budget | Status |
469
440
  |------------------------------------------|--------|--------|--------|
470
- | system-prompt.md | X | | Source |
471
- | project-instructions-claude-desktop.md | X | 2,500 | OK |
441
+ | system-prompt.md | X | 5,000 | Source |
472
442
  | space-instructions-perplexity.md | X | 4,000 | OK |
473
- | CLAUDE.md | X lines| 250 ln | OK |
474
443
  | references/ | N files| — | Upload |
475
444
  ```
476
445
 
@@ -478,7 +447,7 @@ node bin/prompt-compile.js <project-name>
478
447
 
479
448
  **Claude Desktop / Projects (claude.ai):**
480
449
  1. Open project at claude.ai/projects → "Set project instructions"
481
- 2. Standalone: paste `system-prompt.md` | Compiled: paste `project-instructions-claude-desktop.md`
450
+ 2. Paste `system-prompt.md` (standalone) or `project-instructions-claude-desktop.md` (compiled)
482
451
  3. If `references/` exists: upload each `.md` file as project knowledge
483
452
  4. Save
484
453
 
@@ -487,9 +456,6 @@ node bin/prompt-compile.js <project-name>
487
456
  2. Paste `space-instructions-perplexity.md`
488
457
  3. Save
489
458
 
490
- **Claude Code:**
491
- 1. Copy `CLAUDE.md` to project repo root
492
-
493
459
  ### 4d. Offer next actions
494
460
  - "Edit the prompt? I'll regenerate platform outputs after."
495
461
  - "Want to regenerate? Run `/px-prompt <project-name>` again."
@@ -508,10 +474,10 @@ node bin/prompt-compile.js --all --diff
508
474
 
509
475
  Show summary table:
510
476
  ```
511
- | Project | CLAUDE.md | Claude Desktop | Perplexity | Changes |
512
- |--------------|-----------|-------------------|------------------|------------|
513
- | praxis | 3,534 | 1,316 ✓ | 1,529 ✓ | none |
514
- | maximus | — | — | 3,977 ✓ | standalone |
477
+ | Project | Claude Desktop | Perplexity | Changes |
478
+ |--------------|-------------------|------------------|------------|
479
+ | praxis | 1,316 ✓ | 1,529 ✓ | none |
480
+ | maximus | — | 3,977 ✓ | standalone |
515
481
  ```
516
482
 
517
483
  For standalone projects, report validation status instead of compilation status.
@@ -527,7 +493,7 @@ Print deployment reminders for any project with changes.
527
493
  ### 6a. Read all project files
528
494
  1. Read `prompt-config.yaml` for project metadata
529
495
  2. Read `system-prompt.md` (source of truth)
530
- 3. Read all platform outputs (`space-instructions-perplexity.md`, `project-instructions-claude-desktop.md`, `CLAUDE.md`)
496
+ 3. Read platform outputs (`system-prompt.md` or `project-instructions-claude-desktop.md`, `space-instructions-perplexity.md`)
531
497
  4. Read all files in `references/` directory
532
498
  5. List any other files in the project folder
533
499
 
@@ -543,9 +509,9 @@ Check each file against these criteria:
543
509
  - Are all referenced knowledge files present in references/?
544
510
 
545
511
  **Budget checks:**
512
+ - `system-prompt.md` under 5,000 chars? (standalone)
513
+ - `project-instructions-claude-desktop.md` under 2,500 chars? (compiled)
546
514
  - `space-instructions-perplexity.md` under 4,000 chars?
547
- - `project-instructions-claude-desktop.md` under 2,500 chars?
548
- - `CLAUDE.md` under 250 lines?
549
515
 
550
516
  **Currency checks (via Perplexity):**
551
517
  - Are domain-specific terms, standards, and versions still current?
@@ -771,7 +737,7 @@ Maximus PP: 2 contracts at IRS (from USASpending)
771
737
  Gaps: Key personnel [RESEARCH NEEDED]
772
738
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
773
739
  Files created:
774
- CLAUDE.md (31,646 chars)
740
+ project-instructions-claude-desktop.md (2,480 chars) — compiled from profile
775
741
  ✓ space-instructions-perplexity.md (3,976 chars) — deal-specific research domains
776
742
  ✓ references/irs-masterfile-intel.md
777
743
  ✓ knowledge/deal-context.md
@@ -858,7 +824,7 @@ EDIT APPLIED
858
824
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
859
825
  Changed: <file(s) modified>
860
826
  Regenerated: <platform outputs updated>
861
- Budget: perplexity ✓ | claude-desktop ✓ | CLAUDE.md
827
+ Budget: claude-projects ✓ | perplexity
862
828
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
863
829
  ```
864
830
 
@@ -884,11 +850,11 @@ node bin/prompt-compile.js --dashboard
884
850
  ```
885
851
  PROMPT ENGINE DASHBOARD
886
852
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
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,4043,417 ✓ 0 2026-04-04 No
853
+ Project Mode Claude Desktop Perplexity Refs Updated Stale?
854
+ ──────────────────────────────────────────────────────────────────────────────
855
+ maximus compiled 4,261 ⚠ 3,976 4 2026-04-04 No
856
+ elect-azure standalone 2,392 ✓ 0 2026-04-04 No
857
+ praxis compiled 1,404 1,626 ✓ 0 2026-04-04 No
892
858
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
893
859
 
894
860
  Staleness: projects not updated in >30 days marked stale.
@@ -964,11 +930,10 @@ Determine which platforms are targets from `prompt-config.yaml`.
964
930
  ### 11b. Deploy sequence (per platform)
965
931
 
966
932
  **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`
933
+ 1. Determine file: `system-prompt.md` (standalone) or `project-instructions-claude-desktop.md` (compiled)
934
+ 2. Copy to clipboard: `cat <file> | pbcopy`
969
935
  3. Print: "Copied to clipboard. Paste at: claude.ai/projects → Set project instructions"
970
936
  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
937
 
973
938
  **For Perplexity Spaces:**
974
939
  1. Read `space-instructions-perplexity.md`
@@ -978,11 +943,6 @@ Determine which platforms are targets from `prompt-config.yaml`.
978
943
  5. Print: "Upload these as Space sources (Add Sources → Files):"
979
944
  6. **Same knowledge files work for both Claude Projects and Perplexity Spaces** — upload the same set to both
980
945
 
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
946
  ### 11c. Deploy one platform at a time
987
947
 
988
948
  Since clipboard can only hold one thing, deploy sequentially:
@@ -991,7 +951,7 @@ Since clipboard can only hold one thing, deploy sequentially:
991
951
  DEPLOY: dha-tricare
992
952
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
993
953
 
994
- [1/3] Claude Projects
954
+ [1/2] Claude Projects
995
955
  → Copied system-prompt.md to clipboard (5,824 chars)
996
956
  → Paste at: claude.ai/projects → Set project instructions
997
957
 
@@ -1001,7 +961,7 @@ DEPLOY: dha-tricare
1001
961
  knowledge/maximus-corporate.md (corporate reference)
1002
962
  Press Enter when done...
1003
963
 
1004
- [2/3] Perplexity Spaces
964
+ [2/2] Perplexity Spaces
1005
965
  → Copied space-instructions-perplexity.md to clipboard (3,965 chars)
1006
966
  → Paste at: perplexity.ai → Space Settings → Answer Instructions
1007
967
 
@@ -1011,12 +971,8 @@ DEPLOY: dha-tricare
1011
971
  knowledge/maximus-corporate.md (corporate reference)
1012
972
  Press Enter when done...
1013
973
 
1014
- [3/3] Claude Code
1015
- → CLAUDE.md → /path/to/repo/CLAUDE.md
1016
- Done.
1017
-
1018
974
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1019
- DEPLOYED to 3 platforms.
975
+ DEPLOYED to 2 platforms.
1020
976
  Knowledge files uploaded to BOTH Claude Projects and Perplexity Spaces.
1021
977
  ```
1022
978
 
@@ -1138,18 +1094,17 @@ NEXT GATE CHECKLIST: Pre-Proposal
1138
1094
  - Quality Controls section with Anti-Hallucination Protocol is **mandatory** in all generated prompts
1139
1095
  - Accuracy Standards section is mandatory in all Perplexity outputs
1140
1096
  - When Uncertain section with confidence levels is mandatory in all outputs
1141
- - Never ask for repo URL, vault path, or git email unless Claude Code is a target platform
1142
1097
  - **Never hardcode project names in menus or options** — discover dynamically
1143
1098
 
1144
1099
  ### Platform-specific
1145
1100
  - **Perplexity**: no few-shot examples, no URLs, conditional language, search-friendly terms
1146
- - **Claude Code**: positive framing, no "CRITICAL YOU MUST", self-check blocks
1147
1101
  - **Claude Desktop / Projects**: 7-layer skeleton (Role, Constraints, Expertise, Format, Knowledge Rules, Quality Controls, When Uncertain)
1102
+ - **Claude Code CLAUDE.md**: NOT generated by px-prompt — use px-scaffold
1148
1103
 
1149
1104
  ### File naming
1150
- - **Always** use platform-suffixed filenames: `space-instructions-perplexity.md`, `project-instructions-claude-desktop.md`
1151
- - `CLAUDE.md` keeps its name (convention for Claude Code)
1152
- - `system-prompt.md` keeps its name (it's the source of truth, not platform-specific)
1105
+ - Standalone Claude Projects output: `system-prompt.md`
1106
+ - Compiled Claude Projects output: `project-instructions-claude-desktop.md`
1107
+ - Perplexity output: `space-instructions-perplexity.md`
1153
1108
 
1154
1109
  ### Quality defaults (mandatory in all generated prompts)
1155
1110
  - Anti-Hallucination Protocol: never fabricate, cite sources, flag confidence, distinguish fact from inference
@@ -1179,5 +1134,4 @@ NEXT GATE CHECKLIST: Pre-Proposal
1179
1134
  - See Step 1b for full inference rules (role, domain, platform, mode, research domains)
1180
1135
  - If no domain blocks match → standalone mode with AI generation, not compiled with empty blocks
1181
1136
  - 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
1137
  - **Maximum 1 question** for new projects (description). Show confirmation card, not a questionnaire.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@esoteric-logic/praxis-harness",
3
- "version": "3.1.1",
3
+ "version": "3.2.0",
4
4
  "description": "Layered Claude Code harness — workflow discipline, AI-Kits, persistent vault integration",
5
5
  "bin": {
6
6
  "praxis-harness": "./bin/praxis.js",
@@ -1,32 +0,0 @@
1
- ## Role
2
- Solutions architect supporting ECS Limited's Azure Zero Trust security engagement. Brownfield Azure environment (50-100+ apps, 50-100 VMs) targeting SOC 2 Type 2 and ISO 27001:2022 readiness.
3
-
4
- ## Engagement Context
5
- 3-phase contractor engagement: Discovery → Zero Trust Implementation → Future Architecture. 93 checklist items (84 contractor, 9 internal). No hard compliance deadline.
6
-
7
- ## Behavioral Constraints
8
- - Lead with recommendations and rationale, not options lists
9
- - Verify claims against the engagement SOW and knowledge files before presenting as fact
10
- - When uncertain, ask one clarifying question. Flag confidence: HIGH / MEDIUM / LOW
11
-
12
- ## Domain Expertise
13
- - Tiered network: User → Web → App/API → Data (deny-all default, no direct backend access)
14
- - Uncontrolled device model: all devices untrusted, no compliance gates. PAW for admin only.
15
- - Environment parity: dev = staging = prod for all security controls
16
- - Azure stack: Entra ID, Conditional Access, PIM, Firewall, NSGs, Private Link, Sentinel, Defender, Key Vault
17
- - SOC 2 TSC (2017/2022), ISO 27001:2022
18
- - 6 critical risks: R-01 (segmentation outages), R-05 (trusted client apps), R-07 (env parity), R-22 (dev adaptation), R-26 (client disruption), R-28 (no detection during transition)
19
-
20
- ## Output Format
21
- - Tables for control mappings, gap analyses, risk assessments
22
- - Map to 93-item engagement checklist where applicable
23
- - BLUF structure: bottom line, evidence, next steps
24
-
25
- ## Quality Controls
26
- - Cross-reference SOW and knowledge files. Flag contradictions.
27
- - Never fabricate version numbers, dates, statistics, or citations
28
- - Cite specific TSC criteria and ISO controls by reference
29
- - Flag information older than 12 months
30
-
31
- ## When Uncertain
32
- State uncertainty explicitly. Flag confidence: HIGH (verified), MEDIUM (corroborated), LOW (inferred).
@@ -1,61 +0,0 @@
1
- # ELECT Azure Architecture
2
-
3
- ## Identity
4
- Senior Enterprise Architect for the Virginia Department of Elections (ELECT). Focus: Azure cloud architecture, ADRs, design documents, and solution assessments aligned with VITA standards.
5
-
6
- ## Behaviors
7
- - Be direct and structured. No filler.
8
- - Every option includes a recommendation with rationale.
9
- - Cite specific VITA policy numbers and Azure framework pillars — not vague "best practices."
10
- - Distinguish VITA-mandated requirements from Azure recommendations.
11
- - Flag conflicts between VITA standards and Azure guidance with a resolution path.
12
- - State uncertainty explicitly. Identify which document would resolve the question.
13
- - Structure analytical outputs as: What → So What → Now What.
14
-
15
- ## Domain Expertise
16
-
17
- ### Azure Architecture
18
- - Well-Architected Framework: Reliability, Security, Cost Optimization, Operational Excellence, Performance Efficiency
19
- - Cloud Adoption Framework: Strategy, Plan, Ready, Adopt, Govern, Secure, Manage
20
- - Landing zones, Entra ID federation, network segmentation, Azure Policy
21
- - Azure AI Foundry (relevant to VITA AI Registry compliance)
22
-
23
- ### VITA Standards
24
- - EA200: Enterprise Architecture Policy — IT investment and acquisition governance
25
- - EA225: Enterprise Architecture Standard — technology roadmaps, four-component model (Business, Information, Solutions, Technical)
26
- - EA300: Cloud Based Hosting Services Policy
27
- - SEC530: Information Security Standard — cybersecurity baseline, CSRM enforcement
28
- - EO 30: AI governance — mandatory AI Registry, approval workflow, annual recertification, public disclosure
29
- - AIGF: Architecture & Innovation Governance Forum for exception requests
30
- - Archer: GRC platform for security assessments and architecture reviews
31
-
32
- ### ELECT Systems
33
- - VERIS: statewide voter registration database, 133 local registrars, 2FA + IP verification
34
- - ePollTab: offline electronic pollbook (VERIS data snapshots)
35
- - Unisyn OpenElect: voting hardware/software (FVS, OVI, OVCS, OCS)
36
-
37
- ### Commonwealth Context
38
- - NTT DATA + Microsoft: Azure cloud modernization for VITA (March 2025)
39
- - All agencies migrating to Microsoft 365 (Teams, SharePoint, Power Platform)
40
- - Consumption-based cost model, SEC530-compliant security posture
41
-
42
- ## Document Formats
43
-
44
- ### ADRs
45
- Title, Status, Context, Decision, Consequences, Compliance Notes (VITA reference)
46
-
47
- ### Design Documents
48
- Problem Statement, Constraints, Options Considered (with recommendation), Solution Design, Security Considerations, VITA Compliance Mapping
49
-
50
- ## Quality Controls
51
- Before finalizing any architecture deliverable:
52
- - Verify VITA policy references are correctly numbered
53
- - Confirm Azure service names match current naming (e.g., Entra ID not Azure AD)
54
- - Check that compliance mappings trace to specific requirements, not general categories
55
- - Ensure election-specific security considerations are addressed for ELECT workloads
56
-
57
- ## References
58
- - VITA Policies & Standards: vita.virginia.gov/policy--governance
59
- - Azure WAF: learn.microsoft.com/azure/well-architected
60
- - Azure CAF: learn.microsoft.com/azure/cloud-adoption-framework
61
- - ELECT: elections.virginia.gov