oh-my-customcode 0.59.0 → 0.60.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.
package/dist/cli/index.js CHANGED
@@ -9325,7 +9325,7 @@ var init_package = __esm(() => {
9325
9325
  workspaces: [
9326
9326
  "packages/*"
9327
9327
  ],
9328
- version: "0.59.0",
9328
+ version: "0.60.0",
9329
9329
  description: "Batteries-included agent harness for Claude Code",
9330
9330
  type: "module",
9331
9331
  bin: {
package/dist/index.js CHANGED
@@ -1672,7 +1672,7 @@ var package_default = {
1672
1672
  workspaces: [
1673
1673
  "packages/*"
1674
1674
  ],
1675
- version: "0.59.0",
1675
+ version: "0.60.0",
1676
1676
  description: "Batteries-included agent harness for Claude Code",
1677
1677
  type: "module",
1678
1678
  bin: {
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "workspaces": [
4
4
  "packages/*"
5
5
  ],
6
- "version": "0.59.0",
6
+ "version": "0.60.0",
7
7
  "description": "Batteries-included agent harness for Claude Code",
8
8
  "type": "module",
9
9
  "bin": {
@@ -32,6 +32,7 @@ escalation: # Model escalation policy (optional)
32
32
  threshold: 2 # Failures before advisory
33
33
  soul: true # Enable SOUL.md identity injection
34
34
  isolation: worktree | sandbox # worktree = git worktree, sandbox = restricted bash
35
+ sandboxFailIfUnavailable: true # Exit if sandbox unavailable (v2.1.83+)
35
36
  background: true # Run in background
36
37
  maxTurns: 10 # Max conversation turns
37
38
  maxTokens: 100000 # Per-turn token ceiling
@@ -39,6 +40,7 @@ mcpServers: [server-1] # MCP servers available
39
40
  hooks: # Agent-specific hooks
40
41
  PreToolUse:
41
42
  - matcher: "Edit"
43
+ if: "Edit(*.md)" # Conditional filter (permission rule syntax, v2.1.85+)
42
44
  command: "echo hook"
43
45
  permissionMode: bypassPermissions # Permission mode
44
46
  disallowedTools: [Bash] # Tools to disallow
@@ -48,7 +50,7 @@ limitations: # Negative capability declarations
48
50
  domain: backend # backend | frontend | data-engineering | devops | universal
49
51
  ```
50
52
 
51
- > **Note**: `isolation`, `background`, `maxTurns`, `maxTokens`, `mcpServers`, `hooks`, `permissionMode`, `disallowedTools`, `limitations` are supported in Claude Code v2.1.63+. Hook types `PostCompact`, `Elicitation`, `ElicitationResult` require v2.1.76+.
53
+ > **Note**: `isolation`, `background`, `maxTurns`, `maxTokens`, `mcpServers`, `hooks`, `permissionMode`, `disallowedTools`, `limitations` are supported in Claude Code v2.1.63+. Hook types `PostCompact`, `Elicitation`, `ElicitationResult` require v2.1.76+. `CwdChanged`, `FileChanged` hook events and `managed-settings.d/` drop-in directory require v2.1.83+. Conditional `if` field for hooks requires v2.1.85+.
52
54
 
53
55
  <!-- DETAIL: Isolation/Token/Limitations/Escalation details
54
56
  ### Isolation Modes
@@ -33,6 +33,27 @@ evaluator-optimizer:
33
33
  max_iterations: 3 # Default, hard cap: 5
34
34
  ```
35
35
 
36
+ ### Pre-Negotiation (Sprint Contract Pattern)
37
+
38
+ Optional phase where generator and evaluator agree on rubric interpretation before the first iteration. Inspired by Anthropic's harness design for long-running applications.
39
+
40
+ ```yaml
41
+ evaluator-optimizer:
42
+ pre_negotiation:
43
+ enabled: true # Default: false
44
+ rounds: 1 # Negotiation rounds (1-2)
45
+ generator:
46
+ agent: fe-design-expert
47
+ ...
48
+ ```
49
+
50
+ When enabled:
51
+ 1. Generator receives the rubric and proposes its interpretation + planned approach
52
+ 2. Evaluator reviews and may adjust rubric weights or add clarifications
53
+ 3. Both proceed with aligned expectations, reducing wasted iterations
54
+
55
+ Use when: tasks requiring 3+ iterations consistently, or when generator-evaluator score disagreements exceed 0.3.
56
+
36
57
  ### Parameter Details
37
58
 
38
59
  | Parameter | Required | Default | Description |
@@ -307,3 +328,38 @@ When ecomode is active (R013), compress output:
307
328
  - The evaluator prompt MUST include the full rubric to ensure consistent scoring
308
329
  - Iteration state (best score, best output) is tracked by the orchestrator
309
330
  - The hard cap of 5 iterations prevents runaway refinement loops
331
+
332
+ ## Domain Examples
333
+
334
+ ### UI Generation (Anti-AI-Slop)
335
+
336
+ For UI/design generation tasks, use weighted rubrics that penalize generic AI patterns:
337
+
338
+ ```yaml
339
+ evaluator-optimizer:
340
+ generator:
341
+ agent: fe-design-expert
342
+ model: sonnet
343
+ evaluator:
344
+ agent: fe-design-expert
345
+ model: opus
346
+ rubric:
347
+ - criterion: originality
348
+ weight: 0.40
349
+ description: "No stock patterns (centered hero + 3-card grid). Unique layout, typography choices, color relationships."
350
+ - criterion: craft
351
+ weight: 0.35
352
+ description: "Intentional spacing, consistent type scale, purposeful color usage. Details that show care."
353
+ - criterion: functionality
354
+ weight: 0.25
355
+ description: "Accessibility (WCAG 2.1 AA), responsive behavior, interaction states."
356
+ quality_gate:
357
+ type: score_threshold
358
+ threshold: 0.85
359
+ pre_negotiation:
360
+ enabled: true
361
+ ```
362
+
363
+ Weight ordering (originality > craft > functionality) follows Anthropic's anti-slop principle: functionality is table stakes, but originality and craft distinguish quality output from generic AI generation.
364
+
365
+ Integration: Works with [impeccable-design](/skills/impeccable-design) skill for design language enforcement.
@@ -156,7 +156,7 @@ Template:
156
156
  ## Pending Actions (Confirmation Required)
157
157
  ```
158
158
 
159
- **5B: Issue comments** — Delegate to mgr-gitnerd to post on each analyzed issue:
159
+ **5B: Issue comments (MANDATORY)** — Every analyzed issue MUST receive a triage comment. This is not optional — even for issues created in the same session or with existing analysis. Skipping comments breaks the triage audit trail. Delegate to mgr-gitnerd to post on each analyzed issue:
160
160
 
161
161
  ```
162
162
  ## 🔬 Professor Triage — Cross-Analysis Result
@@ -170,6 +170,15 @@ Template:
170
170
  _Cross-analyzed by `/professor-triage` with {N} related issues_
171
171
  ```
172
172
 
173
+ ### Phase 5C: Comment Verification Gate
174
+
175
+ Before proceeding to Phase 6, verify ALL analyzed issues received comments:
176
+ ```bash
177
+ # For each issue NNN in the batch:
178
+ gh issue view NNN --json comments --jq '.comments | map(select(.body | contains("Professor Triage"))) | length'
179
+ # Must be >= 1 for every issue. If any is 0, Phase 5B was skipped — go back and post.
180
+ ```
181
+
173
182
  ### Phase 6: Act
174
183
 
175
184
  Delegate ALL GitHub operations to mgr-gitnerd.
@@ -25,6 +25,7 @@ Detects when tasks are stuck in repetitive failure loops and advises recovery st
25
25
  | Model escalation | Agent retry loop | Trigger model-escalation advisory |
26
26
  | Alternative approach | Edit loop detected | Suggest different file/method |
27
27
  | Human intervention | All automated strategies exhausted | Ask user for guidance |
28
+ | Context reset | Long-running task (>30min) or context >80% | Structured handoff: save state to memory, create fresh session with task summary |
28
29
 
29
30
  ## Architecture
30
31
 
@@ -53,3 +54,26 @@ PostToolUse (Edit, Write, Bash, Task) → stuck-detector.sh
53
54
  - Respects R010 (advisory only, orchestrator decides)
54
55
  - Uses same PPID-scoped temp file pattern as other hooks
55
56
  - Works with task-outcome-recorder.sh data when available
57
+
58
+ ## Context Reset Strategy
59
+
60
+ For long-running tasks (>30 minutes) or when context usage exceeds 80%, context reset is preferred over compaction:
61
+
62
+ 1. **Save state**: Write current progress, decisions, and open items to native auto-memory
63
+ 2. **Create handoff**: Generate structured task summary with:
64
+ - Completed steps and their outcomes
65
+ - Current step and its state
66
+ - Remaining steps
67
+ - Key decisions made and their rationale
68
+ 3. **Reset**: Start fresh session with handoff document as input
69
+
70
+ Context reset preserves decision quality by avoiding the information loss inherent in compaction. Based on Anthropic's finding that models experience "context anxiety" — prematurely concluding tasks due to perceived token limits.
71
+
72
+ ### When to Use
73
+
74
+ | Condition | Strategy |
75
+ |-----------|----------|
76
+ | Context < 60% | Continue normally |
77
+ | Context 60-80% | Consider `/compact` |
78
+ | Context > 80% OR duration > 30min | Context reset recommended |
79
+ | Repeated compaction in same session | Context reset required |
@@ -1,20 +1,20 @@
1
1
  ---
2
- name: workflow
3
- description: Invoke YAML-defined workflows by name — /workflow omcustom-dev runs the full pipeline
2
+ name: omcustom:workflow
3
+ description: Invoke YAML-defined workflows by name — /omcustom:workflow auto-dev runs the full pipeline
4
4
  scope: harness
5
5
  user-invocable: true
6
6
  effort: high
7
7
  argument-hint: "<workflow-name> | (no args to list available)"
8
8
  ---
9
9
 
10
- # /workflow — Workflow Invocation
10
+ # /omcustom:workflow — Workflow Invocation
11
11
 
12
12
  ## Usage
13
13
 
14
14
  ```
15
- /workflow omcustom-dev # Run the omcustom-dev workflow
16
- /workflow # List available workflows
17
- /workflow:resume # Resume a halted workflow
15
+ /omcustom:workflow auto-dev # Run the auto-dev workflow
16
+ /omcustom:workflow # List available workflows
17
+ /omcustom:workflow:resume # Resume a halted workflow
18
18
  ```
19
19
 
20
20
  ## Behavior
@@ -24,7 +24,7 @@ argument-hint: "<workflow-name> | (no args to list available)"
24
24
  Scan `workflows/*.yaml` and display:
25
25
  ```
26
26
  Available workflows:
27
- omcustom-dev — verify-done issues release batch: triage → plan → implement → verify → PR
27
+ auto-dev — verify-done issues release batch: triage → plan → implement → verify → PR
28
28
  ```
29
29
 
30
30
  ### Run Mode (with workflow name)
@@ -35,7 +35,7 @@ Available workflows:
35
35
  4. Invoke workflow-runner skill with the loaded definition
36
36
  5. Report completion or failure
37
37
 
38
- ### Resume Mode (/workflow:resume)
38
+ ### Resume Mode (/omcustom:workflow:resume)
39
39
 
40
40
  1. Check for state file: `/tmp/.claude-workflow-*-{PPID}.json`
41
41
  2. If found: show halted workflow name and failed step
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.59.0",
2
+ "version": "0.60.0",
3
3
  "lastUpdated": "2026-03-24T00:00:00.000Z",
4
4
  "components": [
5
5
  {
@@ -1,8 +1,8 @@
1
- # /workflow:omcustom-dev — Full-auto release pipeline
2
- # Collects verify-done issues → triage → plan → implement → verify → PR
1
+ # /omcustom:workflow auto-dev — Full-auto release pipeline
2
+ # Collects verify-done issues → triage → plan → implement → verify → PR → followup
3
3
 
4
- name: omcustom-dev
5
- description: "verify-done issues release batch: triage → plan → implement → verify → PR"
4
+ name: auto-dev
5
+ description: "verify-done issues release batch: triage → plan → implement → verify → PR → followup"
6
6
  mode: auto
7
7
  error: halt-and-report
8
8
 
@@ -33,3 +33,7 @@ steps:
33
33
  - name: release
34
34
  action: create-pr
35
35
  description: Create release branch and pull request
36
+
37
+ - name: followup
38
+ skill: post-release-followup
39
+ description: Recommend follow-up actions — user chooses to execute now or register as issues