ultra-builder-pro-cli 0.10.0 → 0.12.1
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/.ultra-template/specs/architecture.md +54 -223
- package/.ultra-template/specs/discovery.md +34 -231
- package/.ultra-template/specs/product.md +44 -200
- package/.ultra-template/tasks/contexts/TEMPLATE.md +36 -0
- package/.ultra-template/tasks/tasks.json +6 -0
- package/CHANGELOG.md +86 -1
- package/README.md +21 -9
- package/adapters/_shared/codex-assets.cjs +24 -342
- package/adapters/_shared/handbook.cjs +4 -3
- package/adapters/_shared/runtime-assets.cjs +24 -0
- package/adapters/_shared/tests/handbook.test.cjs +4 -0
- package/adapters/_shared/tests/runtime-assets.test.cjs +11 -4
- package/adapters/claude.js +28 -5
- package/adapters/kimi.js +15 -138
- package/adapters/opencode.js +22 -49
- package/adapters/tests/claude.test.cjs +22 -8
- package/adapters/tests/codex.test.cjs +21 -8
- package/adapters/tests/kimi-hook.test.cjs +1 -1
- package/adapters/tests/kimi.test.cjs +11 -11
- package/adapters/tests/opencode.test.cjs +47 -8
- package/agents/code-reviewer.md +24 -85
- package/agents/debugger.md +30 -132
- package/agents/review-code.md +24 -104
- package/agents/review-comments.md +20 -83
- package/agents/review-coordinator.md +40 -137
- package/agents/review-design.md +21 -118
- package/agents/review-errors.md +22 -70
- package/agents/review-spec.md +36 -0
- package/agents/review-tests.md +20 -76
- package/agents/tdd-runner.md +26 -84
- package/commands/learn.md +5 -36
- package/commands/ultra-change.md +5 -43
- package/commands/ultra-deliver.md +4 -46
- package/commands/ultra-dev.md +4 -48
- package/commands/ultra-doctor.md +4 -30
- package/commands/ultra-init.md +5 -47
- package/commands/ultra-plan.md +5 -48
- package/commands/ultra-research.md +5 -54
- package/commands/ultra-status.md +5 -44
- package/commands/ultra-test.md +5 -45
- package/commands/ultra-think.md +5 -40
- package/docs/AGENT-CONTEXT.md +16 -8
- package/docs/ARCHITECTURE.md +32 -5
- package/docs/PLAN.zh-CN.md +8 -6
- package/docs/ROADMAP.md +5 -3
- package/docs/RUNTIME-COMPAT-MATRIX.md +8 -5
- package/docs/SKILL-AUTHORING.md +75 -0
- package/docs/STATE-DB-ACCESS-POLICY.md +17 -11
- package/docs/USER-HANDBOOK-CONTRACT.md +8 -5
- package/hooks/README.md +4 -3
- package/hooks/adapters/codex.py +1 -1
- package/hooks/adapters/kimi.py +1 -1
- package/hooks/context_spine.py +120 -16
- package/hooks/health_check.py +11 -0
- package/hooks/pre_stop_check.py +6 -5
- package/mcp-server/lib/baseline-workflow.cjs +415 -0
- package/mcp-server/lib/baseline-workflow.test.cjs +225 -0
- package/mcp-server/lib/change-workflow.cjs +24 -27
- package/mcp-server/lib/change-workflow.test.cjs +202 -6
- package/mcp-server/lib/context-spine.cjs +74 -9
- package/mcp-server/lib/context-spine.test.cjs +15 -0
- package/mcp-server/lib/doctor.cjs +14 -0
- package/mcp-server/lib/doctor.test.cjs +25 -1
- package/mcp-server/lib/init-project.cjs +49 -14
- package/mcp-server/lib/provider-refs.cjs +42 -0
- package/mcp-server/lib/spec-learning.test.cjs +5 -0
- package/mcp-server/lib/state-db.cjs +63 -4
- package/mcp-server/lib/state-db.test.cjs +8 -3
- package/mcp-server/server.cjs +48 -3
- package/mcp-server/tests/init-project.test.cjs +54 -8
- package/mcp-server/tests/server-contract.test.cjs +99 -2
- package/mcp-server/tests/state-db.test.cjs +11 -2
- package/package.json +3 -2
- package/skills/cc-collab/SKILL.md +16 -18
- package/skills/code-review-expert/SKILL.md +39 -114
- package/skills/code-review-expert/references/correctness-reliability.md +30 -0
- package/skills/code-review-expert/references/design-boundaries.md +26 -0
- package/skills/code-review-expert/references/removal-plan.md +17 -45
- package/skills/codex-collab/SKILL.md +23 -28
- package/skills/codex-collab/evals/evals.json +18 -23
- package/skills/integration-rules/SKILL.md +28 -67
- package/skills/learn/SKILL.md +46 -106
- package/skills/security-rules/SKILL.md +34 -56
- package/skills/testing-rules/SKILL.md +28 -52
- package/skills/ultra-change/SKILL.md +68 -114
- package/skills/ultra-deliver/SKILL.md +58 -86
- package/skills/ultra-dev/SKILL.md +46 -105
- package/skills/ultra-doctor/SKILL.md +45 -72
- package/skills/ultra-init/SKILL.md +62 -147
- package/skills/ultra-init/references/brownfield-adoption.md +65 -0
- package/skills/ultra-plan/SKILL.md +56 -89
- package/skills/ultra-research/SKILL.md +64 -152
- package/skills/ultra-research/references/architecture.md +38 -0
- package/skills/ultra-research/references/problem-product.md +39 -0
- package/skills/ultra-research/references/quality-delivery.md +34 -0
- package/skills/ultra-research/references/synthesis.md +38 -0
- package/skills/ultra-research/references/users-scope.md +40 -0
- package/skills/ultra-review/SKILL.md +54 -98
- package/skills/ultra-review/references/unified-schema.md +76 -101
- package/skills/ultra-review/scripts/review_wait.py +242 -77
- package/skills/ultra-status/SKILL.md +41 -56
- package/skills/ultra-test/SKILL.md +37 -72
- package/skills/ultra-think/SKILL.md +43 -102
- package/skills/ultra-verify/SKILL.md +44 -84
- package/skills/ultra-verify/evals/evals.json +24 -27
- package/spec/cli-protocol.md +4 -0
- package/spec/mcp-tools.yaml +223 -4
- package/spec/schemas/command-manifest.schema.json +7 -25
- package/spec/schemas/mcp-tools.schema.json +1 -1
- package/spec/schemas/skill-manifest.schema.json +9 -79
- package/spec/schemas/state-db.sql +33 -2
- package/ultra-tools/commands/status.cjs +20 -2
- package/ultra-tools/commands/task.cjs +4 -1
- package/ultra-tools/status-command.test.cjs +20 -0
- package/ultra-tools/system-command.test.cjs +5 -0
- package/skills/code-review-expert/references/code-quality-checklist.md +0 -112
- package/skills/code-review-expert/references/integration-checklist.md +0 -46
- package/skills/code-review-expert/references/security-checklist.md +0 -100
- package/skills/code-review-expert/references/solid-checklist.md +0 -65
- package/skills/ultra-research/steps/step-00-problem-validation.md +0 -154
- package/skills/ultra-research/steps/step-01-opportunity-discovery.md +0 -172
- package/skills/ultra-research/steps/step-02-market-assessment.md +0 -195
- package/skills/ultra-research/steps/step-03-competitive-landscape.md +0 -197
- package/skills/ultra-research/steps/step-04-product-strategy.md +0 -196
- package/skills/ultra-research/steps/step-05-assumptions-validation.md +0 -234
- package/skills/ultra-research/steps/step-10-user-personas.md +0 -169
- package/skills/ultra-research/steps/step-11-user-scenarios.md +0 -181
- package/skills/ultra-research/steps/step-20-user-stories.md +0 -156
- package/skills/ultra-research/steps/step-21-features-scope.md +0 -157
- package/skills/ultra-research/steps/step-22-success-metrics.md +0 -195
- package/skills/ultra-research/steps/step-30-architecture-context.md +0 -154
- package/skills/ultra-research/steps/step-31-solution-strategy.md +0 -172
- package/skills/ultra-research/steps/step-32-building-blocks.md +0 -188
- package/skills/ultra-research/steps/step-40-deployment.md +0 -123
- package/skills/ultra-research/steps/step-41-quality-risks.md +0 -135
- package/skills/ultra-research/steps/step-99-synthesis.md +0 -188
- package/skills/ultra-review/scripts/review_verdict_update.py +0 -99
|
@@ -1,77 +1,62 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ultra-status
|
|
3
|
-
description:
|
|
4
|
-
user-invocable: true
|
|
5
|
-
runtime: all
|
|
6
|
-
mcp_tools_required:
|
|
7
|
-
- change.breadcrumb
|
|
8
|
-
- change.list
|
|
9
|
-
- task.list
|
|
10
|
-
- task.get
|
|
11
|
-
- session.list
|
|
12
|
-
- system.doctor
|
|
13
|
-
cli_fallback: "status --cost --json"
|
|
3
|
+
description: Report authoritative Ultra health, position, readiness, evidence freshness, and one deterministic next action. Use when the user asks where an Ultra project stands or what should happen next.
|
|
14
4
|
---
|
|
15
5
|
|
|
16
|
-
#
|
|
6
|
+
# Route from authoritative status
|
|
17
7
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
and Markdown are evidence or projections.
|
|
8
|
+
Answer status questions without reconstructing state from prose. `.ultra/state.db` is
|
|
9
|
+
authoritative; reports and Markdown are evidence or projections.
|
|
21
10
|
|
|
22
11
|
## Read order
|
|
23
12
|
|
|
24
|
-
1. Call `system.doctor
|
|
13
|
+
1. Call `system.doctor` in read-only mode. If authority is unhealthy, route only to
|
|
25
14
|
`ultra-doctor` and include the blocking diagnostic.
|
|
26
|
-
2. Call `
|
|
27
|
-
|
|
28
|
-
3. Call `
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
5. Read
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
15
|
+
2. Call `baseline.get` for mode, lifecycle status, repository revision, specification
|
|
16
|
+
digest health, known warnings, and adoption blockers.
|
|
17
|
+
3. Call `change.breadcrumb` for the active change, task, role, gate, readiness,
|
|
18
|
+
blockers, advisory warnings, staleness, and next action.
|
|
19
|
+
4. Call `task.list` and `session.list` for progress and active execution details.
|
|
20
|
+
5. Read test and delivery reports only when present, and mark a report stale when its
|
|
21
|
+
HEAD differs from the current checkout.
|
|
22
|
+
6. Read Git branch, HEAD, and worktree status without mutation.
|
|
23
|
+
|
|
24
|
+
If MCP task or change state is unavailable, label that panel unavailable. Never fall
|
|
25
|
+
back to generated task JSON, context frontmatter, or raw SQLite.
|
|
26
|
+
|
|
27
|
+
## Routing
|
|
28
|
+
|
|
29
|
+
Follow the breadcrumb's primary route and return one action, not a menu:
|
|
30
|
+
|
|
31
|
+
- unhealthy authority: `ultra-doctor`;
|
|
32
|
+
- missing Ultra project: `ultra-init`;
|
|
33
|
+
- missing baseline evidence with no active change: `ultra-init`, then
|
|
34
|
+
`ultra-research` or `ultra-plan` according to the gap;
|
|
35
|
+
- baseline or context-budget warning during an active change: keep the current route
|
|
36
|
+
and surface the warning; do not turn it into a refusal;
|
|
37
|
+
- blocked or stale context: the workflow named by the breadcrumb;
|
|
38
|
+
- ready implementation task: `ultra-dev <task-id>`;
|
|
39
|
+
- completed tasks with missing or stale test evidence: `ultra-test`;
|
|
40
|
+
- incomplete review or convergence: `ultra-review` or `ultra-deliver`;
|
|
41
|
+
- ready change: `ultra-deliver`;
|
|
42
|
+
- archived change with fresh evidence: report completion without inventing more work.
|
|
43
|
+
|
|
44
|
+
Require an explicit change id when several active changes make the route ambiguous.
|
|
55
45
|
|
|
56
46
|
## Output
|
|
57
47
|
|
|
58
|
-
|
|
48
|
+
Use a compact shape:
|
|
59
49
|
|
|
60
50
|
```text
|
|
61
51
|
Ultra: <healthy|degraded> · <branch>@<head> · worktree <clean|dirty>
|
|
62
52
|
Position: change=<id|none> task=<id|none> role=<role> gate=<gate>
|
|
53
|
+
Baseline: <greenfield|brownfield|migrated>/<status> revision=<revision|none>
|
|
63
54
|
Readiness: <ready|blocked|stale> — <blockers or none>
|
|
55
|
+
Warnings: <advisory conditions or none>
|
|
64
56
|
Progress: <completed>/<total>; sessions=<active count>
|
|
65
57
|
Evidence: tests=<fresh|stale|missing>; delivery=<fresh|stale|missing>
|
|
66
|
-
Next: <
|
|
58
|
+
Next: <one exact action>
|
|
67
59
|
```
|
|
68
60
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
## Boundaries
|
|
73
|
-
|
|
74
|
-
- Read-only: this workflow does not repair, compile context, update tasks, or release.
|
|
75
|
-
- Cost data may use the declared CLI fallback, but task/change authority may not.
|
|
76
|
-
- External memory and code graph providers are optional metadata references; their
|
|
77
|
-
absence does not change Ultra authority.
|
|
61
|
+
This workflow is read-only. It does not repair state, compile context, update tasks, or
|
|
62
|
+
release software.
|
|
@@ -1,94 +1,59 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ultra-test
|
|
3
|
-
description:
|
|
4
|
-
user-invocable: true
|
|
5
|
-
runtime: all
|
|
6
|
-
mcp_tools_required:
|
|
7
|
-
- task.list
|
|
8
|
-
- change.list
|
|
9
|
-
- change.context
|
|
10
|
-
- change.breadcrumb
|
|
3
|
+
description: Run an independent pre-delivery verification gate and record exact feedback-loop, reachability, recovery, and acceptance evidence. Use when scoped implementation tasks are complete and delivery readiness must be established.
|
|
11
4
|
---
|
|
12
5
|
|
|
13
|
-
#
|
|
6
|
+
# Verify delivery readiness
|
|
14
7
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
8
|
+
Run this gate from a fresh checking context. It complements task-level development
|
|
9
|
+
tests and writes `.ultra/test-report.json`; it does not replace authoritative task or
|
|
10
|
+
change state.
|
|
18
11
|
|
|
19
12
|
## Entry gate
|
|
20
13
|
|
|
21
|
-
1. Call `task.list
|
|
22
|
-
2. Call `change.list` and bind
|
|
23
|
-
|
|
24
|
-
3. For a change, compile `change.context`
|
|
25
|
-
|
|
14
|
+
1. Call `task.list` and require at least one completed task in scope.
|
|
15
|
+
2. Call `change.list` and bind exactly one relevant change, or record a null change id
|
|
16
|
+
for an initial baseline.
|
|
17
|
+
3. For a change, compile `change.context` for the checking role and verification gate
|
|
18
|
+
with only the specifications, tests, and source seams needed for acceptance.
|
|
26
19
|
4. Call `change.breadcrumb`; stop when context is stale or readiness is blocked.
|
|
27
20
|
|
|
28
|
-
Never
|
|
21
|
+
Never use generated task JSON as authority or reuse the implementer's full
|
|
29
22
|
conversation as test context.
|
|
30
23
|
|
|
31
|
-
##
|
|
24
|
+
## Evidence matrix
|
|
32
25
|
|
|
33
|
-
|
|
26
|
+
Map each acceptance claim to observable evidence:
|
|
34
27
|
|
|
35
|
-
| Check |
|
|
28
|
+
| Check | Evidence | Blocking result |
|
|
36
29
|
|---|---|---|
|
|
37
|
-
| Feedback loop | exact command and observed
|
|
38
|
-
| Public seam | reachable entry-to-consumer path | orphan
|
|
39
|
-
| Regression | focused and adjacent suites | failure or
|
|
40
|
-
|
|
|
41
|
-
| Error/recovery | failure
|
|
42
|
-
| Security | input
|
|
43
|
-
| Docs/spec | delivered behavior matches declared delta | drift or unknown impact |
|
|
44
|
-
|
|
45
|
-
Use repository-native commands and real boundaries
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
- Trace changed source into non-test consumers; flag orphan modules and placeholder
|
|
53
|
-
handlers/components.
|
|
54
|
-
- Exercise key API/UI/CLI flows when the project exposes them.
|
|
55
|
-
- Inspect error handling, authorization, migrations, idempotency, and rollback in the
|
|
56
|
-
affected risk surface.
|
|
57
|
-
- Compare current HEAD and context digests with the implementation evidence.
|
|
58
|
-
|
|
59
|
-
Do not mechanically require every possible test category. Mark a check
|
|
60
|
-
`not_applicable` only with a concrete scope reason.
|
|
30
|
+
| Feedback loop | exact command and observed result | failure or missing baseline signal for a fix |
|
|
31
|
+
| Public seam | reachable entry-to-consumer path | orphan, stub, or unwired behavior |
|
|
32
|
+
| Regression | focused and adjacent suites | failure or weakened assertion |
|
|
33
|
+
| Static/build | applicable type, lint, and build commands | non-zero result |
|
|
34
|
+
| Error/recovery | exercised failure and recovery path | silent or unrecoverable critical path |
|
|
35
|
+
| Security | relevant input, authorization, secret, and dependency checks | high-impact exploitable issue |
|
|
36
|
+
| Docs/spec | delivered behavior matches the declared baseline or delta | drift or unknown impact |
|
|
37
|
+
|
|
38
|
+
Use repository-native commands and real boundaries when practical. Use test doubles
|
|
39
|
+
only at costly or nondeterministic external boundaries, and state why they preserve
|
|
40
|
+
the contract being tested.
|
|
41
|
+
|
|
42
|
+
Inspect tests for tautologies, empty assertions, hidden skips, excessive boundary
|
|
43
|
+
mocking, changed exports without behavioral coverage, and code with no non-test
|
|
44
|
+
consumer. Apply checks by risk and scope rather than forcing every category.
|
|
61
45
|
|
|
62
46
|
## Report contract
|
|
63
47
|
|
|
64
|
-
Write
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
{
|
|
68
|
-
"schema_version": "2.0",
|
|
69
|
-
"change_id": "<id-or-null>",
|
|
70
|
-
"git_commit": "<full-head>",
|
|
71
|
-
"context_manifest_hash": "<hash-or-null>",
|
|
72
|
-
"passed": true,
|
|
73
|
-
"feedback_loop": {
|
|
74
|
-
"command": "<exact command>",
|
|
75
|
-
"expected_red": "<failure contract or not-applicable reason>",
|
|
76
|
-
"observed_red": true,
|
|
77
|
-
"observed_green": true,
|
|
78
|
-
"deterministic": true
|
|
79
|
-
},
|
|
80
|
-
"public_seams": ["<verified seam>"],
|
|
81
|
-
"checks": [],
|
|
82
|
-
"blocking_issues": [],
|
|
83
|
-
"commands": []
|
|
84
|
-
}
|
|
85
|
-
```
|
|
48
|
+
Write the report atomically with the current full HEAD, change id, context manifest
|
|
49
|
+
hash, exact commands, baseline and final signals, verified public seams, checks, and
|
|
50
|
+
blocking issues. Preserve concise failure excerpts instead of full logs.
|
|
86
51
|
|
|
87
|
-
Set `passed
|
|
88
|
-
and at least one public seam is verified.
|
|
89
|
-
|
|
52
|
+
Set `passed: true` only when every required check passes, the report HEAD is current,
|
|
53
|
+
and at least one declared public seam is verified. A not-applicable check needs a
|
|
54
|
+
specific scope reason.
|
|
90
55
|
|
|
91
56
|
## Exit
|
|
92
57
|
|
|
93
|
-
Call `change.breadcrumb` and
|
|
94
|
-
|
|
58
|
+
Call `change.breadcrumb` and return one next action: fix a named blocker, run
|
|
59
|
+
`ultra-review`, or run `ultra-deliver`. A stale report never routes to delivery.
|
|
@@ -1,110 +1,51 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ultra-think
|
|
3
|
-
description:
|
|
4
|
-
user-invocable: true
|
|
5
|
-
runtime: all
|
|
6
|
-
cli_fallback: "direct user interaction"
|
|
3
|
+
description: Produce an evidence-bounded recommendation or diagnosis for a consequential technical or product question. Use when the decision has material tradeoffs, uncertainty, or failure risk that benefits from explicit stress testing.
|
|
7
4
|
---
|
|
8
5
|
|
|
9
|
-
#
|
|
6
|
+
# Analyze a consequential question
|
|
10
7
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
a recommendation with explicit confidence.
|
|
8
|
+
Use the smallest reasoning structure that resolves the user's actual decision. Answer
|
|
9
|
+
simple questions directly; do not turn every request into a framework exercise.
|
|
14
10
|
|
|
15
11
|
## Workflow
|
|
16
12
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
-
|
|
34
|
-
-
|
|
35
|
-
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
| **Second-Order** | What new problems does the recommendation create 6-12 months out? |
|
|
57
|
-
|
|
58
|
-
### Step 5 — Synthesis
|
|
59
|
-
|
|
60
|
-
Recommendation with quantified confidence (0-100%) and explicit uncertainty bounds.
|
|
61
|
-
|
|
62
|
-
## Output Structure (adapt to problem type)
|
|
63
|
-
|
|
64
|
-
### Problem Statement
|
|
65
|
-
1-2 sentences: core decision + key constraints.
|
|
66
|
-
|
|
67
|
-
### Analysis
|
|
68
|
-
Deep analysis using relevant lenses from Step 3.
|
|
69
|
-
|
|
70
|
-
### Options Comparison (skip for diagnostic/investigative problems)
|
|
71
|
-
| Criterion | Weight | Option A | Option B | Option C |
|
|
72
|
-
|-----------|-------:|----------|----------|----------|
|
|
73
|
-
Quantified where possible.
|
|
74
|
-
|
|
75
|
-
### Adversarial Findings
|
|
76
|
-
- **Strongest counter-argument** (steel man for rejected option)
|
|
77
|
-
- **Pre-mortem top risk** (most likely failure + mitigation)
|
|
78
|
-
- **Assumption sensitivity** (load-bearing assumption)
|
|
79
|
-
|
|
80
|
-
### Recommendation
|
|
81
|
-
- **Choice**: <option>
|
|
82
|
-
- **Confidence**: <X>% because <rationale>
|
|
83
|
-
- **Key Assumptions**: what must be true
|
|
84
|
-
- **What would change my mind**: specific evidence / outcome
|
|
85
|
-
|
|
86
|
-
### Verification Plan
|
|
87
|
-
Concrete steps to validate the decision — metrics, tests, time-boxed experiments.
|
|
88
|
-
|
|
89
|
-
### Next Steps
|
|
90
|
-
Ordered, actionable items.
|
|
91
|
-
|
|
92
|
-
## MCP → CLI fallback matrix
|
|
93
|
-
|
|
94
|
-
| Purpose | MCP tool | CLI fallback |
|
|
95
|
-
|---------|----------|--------------|
|
|
96
|
-
| Clarifying questions | none | current Host's native user-interaction surface |
|
|
97
|
-
|
|
98
|
-
## What this skill DOES NOT do
|
|
99
|
-
|
|
100
|
-
- Does NOT modify state.db or project files
|
|
101
|
-
- Does NOT implement the recommendation (that's `/ultra-dev` after `/ultra-plan`)
|
|
102
|
-
- Does NOT replace independent review — output is one model's analysis
|
|
103
|
-
|
|
104
|
-
## Integration
|
|
105
|
-
|
|
106
|
-
| | |
|
|
107
|
-
|---|---|
|
|
108
|
-
| **Input** | the problem statement in `$ARGUMENTS`, optional repo context via Read/Grep, docs via Context7/Exa |
|
|
109
|
-
| **Output** | structured Markdown report (Chinese per project rule) |
|
|
110
|
-
| **Feeds** | decisions captured in `.ultra/specs/architecture.md` via Dual-Write Mode of `/ultra-dev` |
|
|
13
|
+
1. State the decision, observed symptom, or disputed claim and the constraints that
|
|
14
|
+
could change the answer. Ask only for missing information that materially affects
|
|
15
|
+
the result.
|
|
16
|
+
2. Gather evidence from the most authoritative available source:
|
|
17
|
+
- current checkout and runtime for repository claims;
|
|
18
|
+
- official primary documentation for product or API behavior;
|
|
19
|
+
- current web sources for unstable external facts.
|
|
20
|
+
3. Separate verified facts, evidence-backed inferences, and unresolved assumptions.
|
|
21
|
+
Cite the supporting file, command, runtime result, or source near each consequential
|
|
22
|
+
claim.
|
|
23
|
+
4. For a decision, compare only credible alternatives. Do not invent a fixed number of
|
|
24
|
+
options or assign arbitrary numeric scores. Name the criteria that actually drive
|
|
25
|
+
the choice and explain the tradeoffs.
|
|
26
|
+
5. For a diagnosis, form falsifiable hypotheses and identify the smallest observation
|
|
27
|
+
that distinguishes them. Do not recommend implementation before the earliest
|
|
28
|
+
incorrect state is supported by evidence.
|
|
29
|
+
6. Stress-test the leading conclusion with the techniques that fit the problem:
|
|
30
|
+
- strongest counterargument;
|
|
31
|
+
- likely failure scenario and recovery;
|
|
32
|
+
- load-bearing assumption;
|
|
33
|
+
- meaningful second-order effect.
|
|
34
|
+
7. Return the recommendation or diagnosis, evidence, uncertainty, what would change
|
|
35
|
+
the conclusion, and the smallest verification step.
|
|
36
|
+
|
|
37
|
+
## Output
|
|
38
|
+
|
|
39
|
+
Adapt the response to the question. Include:
|
|
40
|
+
|
|
41
|
+
- the conclusion first;
|
|
42
|
+
- the decisive evidence and tradeoffs;
|
|
43
|
+
- unresolved uncertainty without false precision;
|
|
44
|
+
- one concrete verification or follow-up action.
|
|
45
|
+
|
|
46
|
+
Use a comparison table only when several alternatives share the same decision
|
|
47
|
+
criteria. Comparisons are an analysis tool, not a required output section.
|
|
48
|
+
|
|
49
|
+
This skill is read-only unless the user separately authorizes writing an analysis
|
|
50
|
+
artifact. It does not update Ultra state, implement the recommendation, or replace an
|
|
51
|
+
independent review.
|
|
@@ -1,92 +1,52 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ultra-verify
|
|
3
|
-
description: Run independent two-model verification with the current host as primary and a read-only
|
|
3
|
+
description: Run independent two-model verification with the current host as primary and a read-only external advisor, then verify and synthesize both evidence sets. Use only when the user explicitly requests cross-model verification.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
#
|
|
6
|
+
# Run independent cross-model verification
|
|
7
7
|
|
|
8
|
-
Claude Code
|
|
9
|
-
|
|
10
|
-
when the user explicitly asks for cross-model verification.
|
|
8
|
+
Claude Code writes the first analysis, verifies consequential claims, and owns the
|
|
9
|
+
final answer. Codex is an untrusted read-only advisor.
|
|
11
10
|
|
|
12
11
|
## Modes
|
|
13
12
|
|
|
14
|
-
- `decision
|
|
15
|
-
- `diagnose
|
|
16
|
-
- `audit
|
|
17
|
-
- `estimate
|
|
18
|
-
|
|
19
|
-
##
|
|
20
|
-
|
|
21
|
-
1. Confirm
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
intervals; never hold one blocking tool call longer than 60 seconds.
|
|
55
|
-
|
|
56
|
-
```bash
|
|
57
|
-
python3 "$CLAUDE_PLUGIN_ROOT/skills/ultra-verify/scripts/verify_wait.py" \
|
|
58
|
-
"${SESSION_PATH}" --timeout 1200
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
The waiter reports the advisor as `complete`, `failed`, `empty`, or `pending`. Read the output only
|
|
62
|
-
after its status is `complete` and the file is non-empty. Preserve the error log when it fails.
|
|
63
|
-
|
|
64
|
-
## 4. Verify and synthesize
|
|
65
|
-
|
|
66
|
-
Compare `claude-analysis.md` with `codex-output.md`:
|
|
67
|
-
|
|
68
|
-
1. Verify claims against the current checkout, tests, runtime, or primary documentation.
|
|
69
|
-
2. Separate verified agreement, useful dissent, and unsupported assertions.
|
|
70
|
-
3. Explain scope, version, and assumption differences before judging the result.
|
|
71
|
-
4. Write `synthesis.md` and `metadata.json`, then return one Claude Code-owned conclusion.
|
|
72
|
-
|
|
73
|
-
Use `references/confidence-system.md` for evidence-based confidence and
|
|
74
|
-
`references/cross-verify-modes.md` for mode-specific expectations. Model agreement never overrides
|
|
75
|
-
failing tests or authoritative runtime evidence.
|
|
76
|
-
|
|
77
|
-
## Degraded operation
|
|
78
|
-
|
|
79
|
-
- Advisor failure: return the primary analysis with an explicit single-source warning.
|
|
80
|
-
- Never block the underlying user task solely because the advisor is absent, unauthenticated, or
|
|
81
|
-
slow.
|
|
82
|
-
|
|
83
|
-
## Session files
|
|
84
|
-
|
|
85
|
-
```text
|
|
86
|
-
.ultra/collab/<SESSION_ID>/
|
|
87
|
-
claude-analysis.md
|
|
88
|
-
codex-output.md
|
|
89
|
-
codex-error.log
|
|
90
|
-
metadata.json
|
|
91
|
-
synthesis.md
|
|
92
|
-
```
|
|
13
|
+
- `decision`: one consequential architecture or product choice;
|
|
14
|
+
- `diagnose`: independent root-cause hypotheses;
|
|
15
|
+
- `audit`: evidence-backed findings over a bounded scope;
|
|
16
|
+
- `estimate`: an estimate with explicit assumptions and uncertainty.
|
|
17
|
+
|
|
18
|
+
## Workflow
|
|
19
|
+
|
|
20
|
+
1. Confirm the advisor CLI and authentication. Define the exact workspace, question,
|
|
21
|
+
evidence standard, and response shape. Exclude secrets and unrelated files.
|
|
22
|
+
2. Create `.ultra/collab/<session-id>/` and write the primary host's evidence-backed
|
|
23
|
+
analysis to `claude-analysis.md` before reading advisor output.
|
|
24
|
+
3. Launch Codex with the raw bounded question and evidence in a read-only sandbox. Do
|
|
25
|
+
not include the primary conclusion when independence matters:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
codex exec -s read-only \
|
|
29
|
+
-a never \
|
|
30
|
+
--ephemeral \
|
|
31
|
+
--ignore-user-config \
|
|
32
|
+
--ignore-rules \
|
|
33
|
+
-o "${SESSION_PATH}/codex-output.md" \
|
|
34
|
+
"<bounded prompt>" \
|
|
35
|
+
2> "${SESSION_PATH}/codex-error.log"
|
|
36
|
+
```
|
|
37
|
+
4. Run `scripts/verify_wait.py` resolved relative to this skill directory. Use a
|
|
38
|
+
yielded or asynchronous shell session and poll at bounded intervals; do not hold a
|
|
39
|
+
blocking tool call longer than one minute.
|
|
40
|
+
5. Read advisor output only after the waiter reports a complete, non-empty file.
|
|
41
|
+
6. Verify both analyses against the current checkout, tests, runtime, or primary
|
|
42
|
+
documentation. Explain scope, version, evidence, and assumption differences before
|
|
43
|
+
judging disagreement.
|
|
44
|
+
7. Write session metadata and a synthesis artifact, then return one host-owned
|
|
45
|
+
conclusion.
|
|
46
|
+
|
|
47
|
+
Read `references/cross-verify-modes.md` for mode-specific evidence and
|
|
48
|
+
`references/confidence-system.md` when confidence language is useful. Model agreement
|
|
49
|
+
never overrides failing tests or authoritative runtime evidence.
|
|
50
|
+
|
|
51
|
+
Advisor failure degrades to the primary analysis with a single-source warning. It does
|
|
52
|
+
not block the user's underlying task.
|
|
@@ -2,47 +2,44 @@
|
|
|
2
2
|
"skill_name": "ultra-verify",
|
|
3
3
|
"evals": [
|
|
4
4
|
{
|
|
5
|
-
"id":
|
|
6
|
-
"prompt": "
|
|
7
|
-
"
|
|
5
|
+
"id": "explicit-decision",
|
|
6
|
+
"prompt": "Run independent cross-model verification on the database choice, with the current host writing its view before the advisor.",
|
|
7
|
+
"should_trigger": true,
|
|
8
8
|
"assertions": [
|
|
9
|
-
"
|
|
10
|
-
"Launches
|
|
11
|
-
"
|
|
9
|
+
"Writes the primary analysis before reading advisor output",
|
|
10
|
+
"Launches the advisor in a read-only sandbox",
|
|
11
|
+
"Uses a bounded session directory and completion waiter",
|
|
12
12
|
"Verifies consequential claims against authoritative evidence",
|
|
13
|
-
"
|
|
13
|
+
"Returns one host-owned synthesis"
|
|
14
14
|
]
|
|
15
15
|
},
|
|
16
16
|
{
|
|
17
|
-
"id":
|
|
18
|
-
"prompt": "
|
|
19
|
-
"
|
|
17
|
+
"id": "explicit-diagnosis",
|
|
18
|
+
"prompt": "Use two independent models to diagnose the intermittent 500 response and reconcile their hypotheses with discriminating checks.",
|
|
19
|
+
"should_trigger": true,
|
|
20
20
|
"assertions": [
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"
|
|
21
|
+
"Keeps both initial hypotheses independent",
|
|
22
|
+
"Deduplicates by root cause after both outputs complete",
|
|
23
|
+
"Orders verification by evidence and diagnostic value",
|
|
24
|
+
"Does not decide by model vote"
|
|
25
25
|
]
|
|
26
26
|
},
|
|
27
27
|
{
|
|
28
|
-
"id":
|
|
29
|
-
"prompt": "
|
|
30
|
-
"
|
|
28
|
+
"id": "ordinary-analysis-negative",
|
|
29
|
+
"prompt": "Should this service use PostgreSQL or MongoDB?",
|
|
30
|
+
"should_trigger": false,
|
|
31
31
|
"assertions": [
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"Retains uniquely reported findings when source evidence confirms them",
|
|
35
|
-
"Severity does not depend on model agreement"
|
|
32
|
+
"Answers with the ordinary analysis workflow",
|
|
33
|
+
"Does not launch an external advisor without explicit cross-model intent"
|
|
36
34
|
]
|
|
37
35
|
},
|
|
38
36
|
{
|
|
39
|
-
"id":
|
|
40
|
-
"prompt": "
|
|
41
|
-
"
|
|
37
|
+
"id": "ordinary-review-negative",
|
|
38
|
+
"prompt": "Review these changes before I commit.",
|
|
39
|
+
"should_trigger": false,
|
|
42
40
|
"assertions": [
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"Final range is supported by the reconciled work breakdown"
|
|
41
|
+
"Uses the standard review workflow",
|
|
42
|
+
"Does not substitute cross-model verification for native review"
|
|
46
43
|
]
|
|
47
44
|
}
|
|
48
45
|
]
|