@esoteric-logic/praxis-harness 2.0.0 → 2.0.2

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 (45) hide show
  1. package/base/CLAUDE.md +17 -15
  2. package/base/hooks/auto-format.sh +40 -0
  3. package/base/hooks/identity-check.sh +55 -0
  4. package/base/hooks/secret-scan.sh +1 -1
  5. package/base/hooks/settings-hooks.json +61 -0
  6. package/base/rules/git-workflow.md +7 -7
  7. package/base/rules/profile.md +10 -7
  8. package/base/rules/vault.md +12 -3
  9. package/base/{rules/architecture.md → skills/architecture-patterns/SKILL.md} +6 -14
  10. package/base/skills/code-gc/SKILL.md +1 -5
  11. package/base/{rules/communication.md → skills/communication-standards/SKILL.md} +7 -12
  12. package/base/{commands/context-reset.md → skills/context-reset/SKILL.md} +2 -0
  13. package/base/skills/context7-lookup/SKILL.md +49 -0
  14. package/base/{commands/debug.md → skills/debug/SKILL.md} +2 -0
  15. package/base/{commands/discover.md → skills/discover/SKILL.md} +2 -0
  16. package/base/{commands/discuss.md → skills/discuss/SKILL.md} +2 -0
  17. package/base/{commands/execute.md → skills/execute/SKILL.md} +2 -1
  18. package/base/{commands/fast.md → skills/fast/SKILL.md} +2 -0
  19. package/base/{commands/kit.md → skills/kit/SKILL.md} +2 -1
  20. package/base/skills/managing-git-identities/SKILL.md +94 -0
  21. package/base/{commands/next.md → skills/next/SKILL.md} +2 -0
  22. package/base/{commands/plan.md → skills/plan/SKILL.md} +2 -0
  23. package/base/skills/plan-writer/SKILL.md +69 -0
  24. package/base/skills/pre-commit-lint/SKILL.md +1 -5
  25. package/base/{commands/quick.md → skills/quick/SKILL.md} +2 -0
  26. package/base/{commands/review.md → skills/review/SKILL.md} +32 -9
  27. package/base/{commands/risk.md → skills/risk/SKILL.md} +2 -0
  28. package/base/skills/scaffold-exist/SKILL.md +1 -3
  29. package/base/skills/scaffold-new/SKILL.md +1 -4
  30. package/base/skills/secret-scan/SKILL.md +55 -0
  31. package/base/skills/session-retro/SKILL.md +1 -4
  32. package/base/{commands/ship.md → skills/ship/SKILL.md} +3 -1
  33. package/base/skills/{code-simplifier → simplify}/SKILL.md +3 -6
  34. package/base/{commands/spec.md → skills/spec/SKILL.md} +2 -0
  35. package/base/{commands/standup.md → skills/standup/SKILL.md} +2 -0
  36. package/base/skills/status-update/SKILL.md +47 -0
  37. package/base/skills/vault-gc/SKILL.md +1 -4
  38. package/base/{commands/verify.md → skills/verify/SKILL.md} +2 -0
  39. package/base/skills/verify-app/SKILL.md +1 -5
  40. package/package.json +1 -1
  41. package/scripts/lint-harness.sh +7 -3
  42. package/base/commands/simplify.md +0 -15
  43. package/base/rules/code-quality.md +0 -65
  44. package/base/rules/security.md +0 -40
  45. package/base/skills/subagent-review/SKILL.md +0 -127
@@ -1,127 +0,0 @@
1
- ---
2
- name: subagent-review
3
- disable-model-invocation: true
4
- description: Reusable code review subagent. Accepts a diff, optional spec, and rules
5
- files. Launches a subagent with zero conversation history to review for bugs,
6
- security, and convention violations. Called by /review and verify — never
7
- invoked directly by users.
8
- allowed-tools: Bash, Read
9
- ---
10
-
11
- # subagent-review Skill
12
-
13
- ## Purpose
14
- Encapsulates the Self-Review Protocol as a reusable skill. Callers provide the
15
- diff and context; this skill launches the subagent and returns structured findings.
16
-
17
- ## Inputs
18
-
19
- | Input | Required | Default | Description |
20
- |-------|----------|---------|-------------|
21
- | diff | Yes | — | The diff to review (string or file path) |
22
- | spec_path | No | — | Path to the SPEC/plan for context |
23
- | rules_files | No | `CLAUDE.md`, `coding.md`, `security.md` | Rules files to load |
24
-
25
- ## Acceptance
26
- - [ ] Subagent launched with ONLY diff + spec + rules (zero conversation history)
27
- - [ ] Findings returned in structured format
28
- - [ ] Each finding rated Critical / Major / Minor
29
-
30
- ## Boundaries
31
- Out of scope:
32
- - Does NOT fix findings — callers handle remediation
33
- - Does NOT write to vault — callers decide what to persist
34
- - Does NOT interact with the user — callers present findings
35
-
36
- ---
37
-
38
- ## Phase 1 — Validate Inputs
39
-
40
- - Diff must be non-empty. If empty: return `{ "findings": [], "status": "empty_diff" }`.
41
- - If spec_path provided: verify the file exists. If not: proceed without spec.
42
- - If rules_files not provided: default to:
43
- - `~/.claude/CLAUDE.md`
44
- - `~/.claude/rules/coding.md`
45
- - `~/.claude/rules/security.md`
46
-
47
- ## Phase 2 — Compose Subagent Prompt
48
-
49
- Build the subagent prompt from these components ONLY:
50
-
51
- ```
52
- You are a critical code reviewer. Review the following diff.
53
-
54
- ## Rules
55
- {contents of each rules file}
56
-
57
- ## SPEC (if available)
58
- {contents of spec file, or "No spec provided."}
59
-
60
- ## Diff
61
- {the diff}
62
-
63
- ## Instructions
64
- Review for:
65
- 1. Bugs and logic errors
66
- 2. Edge cases and off-by-one errors
67
- 3. Error handling gaps (missing catches, swallowed errors)
68
- 4. Security issues (injection, secrets, auth gaps)
69
- 5. Convention violations (from the Rules above)
70
-
71
- Rate each finding: Critical / Major / Minor.
72
- Format each as: `{file}:{line} — {severity} — {description} — {fix}`
73
-
74
- If the diff is clean, say "No findings."
75
- ```
76
-
77
- Do NOT include any conversation history, project context, or user preferences
78
- beyond the explicitly provided inputs.
79
-
80
- ## Phase 3 — Launch Subagent
81
-
82
- - Launch a subagent (Task tool) with the composed prompt.
83
- - The subagent runs in isolation — fresh context, no memory of the current session.
84
-
85
- ## Phase 4 — Return Structured Findings
86
-
87
- Parse the subagent output into:
88
-
89
- ```json
90
- {
91
- "status": "findings" | "clean" | "empty_diff",
92
- "critical": [{ "file": "", "line": 0, "description": "", "fix": "" }],
93
- "major": [{ "file": "", "line": 0, "description": "", "fix": "" }],
94
- "minor": [{ "file": "", "line": 0, "description": "", "fix": "" }],
95
- "summary": "1 critical, 2 major, 0 minor"
96
- }
97
- ```
98
-
99
- Return this structure to the caller. The caller decides:
100
- - Whether to present findings to the user
101
- - Whether to trigger remediation
102
- - Whether to re-run (max 3 rounds, managed by caller)
103
-
104
- ## Callers
105
-
106
- | Caller | Context |
107
- |--------|---------|
108
- | `/review` (commit 6) | Manual review trigger, writes summary to vault |
109
- | `verify` Step 5 | Post-milestone Self-Review Protocol |
110
- | `execution-loop.md` | Self-Review Protocol description (future: replace inline with skill ref) |
111
-
112
- Note: `execution-loop.md` and `verify.md` still contain inline descriptions of the
113
- review pattern. Future cleanup can replace those with a reference to this skill. Both
114
- approaches produce identical behavior — the duplication is accepted for now.
115
-
116
- ## Error Handling
117
-
118
- | Condition | Action |
119
- |-----------|--------|
120
- | Empty diff | Return `empty_diff` status immediately |
121
- | Subagent fails to launch | Return error to caller, do not retry |
122
- | Subagent output unparseable | Return raw output as single Minor finding |
123
- | Rules file missing | Warn, proceed with available rules |
124
-
125
- ## Removal Condition
126
- Remove when code review is fully handled by a dedicated external service
127
- integrated via MCP, making subagent-based review redundant.