@aryaminus/controlkeel-opencode 0.3.69 → 0.3.71
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/.opencode/agents/controlkeel-operator.md +4 -0
- package/.opencode/skills/bounded-loop/SKILL.md +69 -0
- package/.opencode/skills/communication-style/SKILL.md +44 -0
- package/.opencode/skills/controlkeel-governance/SKILL.md +1 -1
- package/.opencode/skills/cost-optimization/SKILL.md +1 -0
- package/.opencode/skills/end-of-shift/SKILL.md +67 -0
- package/.opencode/skills/false-confidence-test-audit/SKILL.md +64 -0
- package/.opencode/skills/handoff/SKILL.md +1 -0
- package/.opencode/skills/ship-readiness/SKILL.md +1 -0
- package/package.json +1 -1
|
@@ -13,9 +13,11 @@ skills:
|
|
|
13
13
|
- align
|
|
14
14
|
- architect-first
|
|
15
15
|
- benchmark-operator
|
|
16
|
+
- bounded-loop
|
|
16
17
|
- challenge
|
|
17
18
|
- cli-for-agents
|
|
18
19
|
- cloudflare-agent
|
|
20
|
+
- communication-style
|
|
19
21
|
- compliance-audit
|
|
20
22
|
- continual-learning
|
|
21
23
|
- continuity
|
|
@@ -24,6 +26,8 @@ skills:
|
|
|
24
26
|
- deep-code-quality-review
|
|
25
27
|
- deslop
|
|
26
28
|
- domain-audit
|
|
29
|
+
- end-of-shift
|
|
30
|
+
- false-confidence-test-audit
|
|
27
31
|
- handoff
|
|
28
32
|
- investigate
|
|
29
33
|
- orchestrate-tasks
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: bounded-loop
|
|
3
|
+
description: "Run objective, repeatable improvement work under an immutable verifier and hard iteration, cost, time, and no-progress limits. Use for approved experiments with an automated metric and sandboxed worker."
|
|
4
|
+
when_to_use: "Activate only when the task repeats, has an objective automated verifier, has an approved mutable path boundary, and can afford bounded retries. Do not use for one-off work, subjective self-grading, or critical changes without human review."
|
|
5
|
+
argument-hint: "[approved task and objective metric]"
|
|
6
|
+
disable-model-invocation: true
|
|
7
|
+
license: Apache-2.0
|
|
8
|
+
compatibility: [codex, claude-standalone, claude-plugin, copilot-plugin, github-repo, open-standard, cursor-native, opencode-native]
|
|
9
|
+
result-schema:
|
|
10
|
+
type: object
|
|
11
|
+
required: [status, contract_id, iteration_count, cost_cents, proof]
|
|
12
|
+
properties:
|
|
13
|
+
status: {type: string, enum: [active, awaiting_review, succeeded, stopped, blocked]}
|
|
14
|
+
contract_id: {type: integer}
|
|
15
|
+
iteration_count: {type: integer}
|
|
16
|
+
cost_cents: {type: integer}
|
|
17
|
+
proof: {type: array, items: {type: string}}
|
|
18
|
+
metadata:
|
|
19
|
+
author: controlkeel
|
|
20
|
+
version: "1.0"
|
|
21
|
+
category: execution
|
|
22
|
+
ck_mcp_tools: [ck_context, ck_budget, ck_loop, ck_validate, ck_rollback, ck_review_submit]
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
# Bounded Loop
|
|
26
|
+
|
|
27
|
+
Use a loop only when an external verifier can reject the worker's result. The worker never edits the verifier, defines a new success metric, or decides that its own output is good enough.
|
|
28
|
+
|
|
29
|
+
## Protocol
|
|
30
|
+
|
|
31
|
+
1. Obtain approval for the artifact class, objective, mutable paths, verifier paths and command, metric direction and target, allowed sandbox adapters, ephemeral-environment requirement, and hard limits.
|
|
32
|
+
2. Create the contract with `ck_loop`. Treat the persisted verifier hashes and objective as immutable.
|
|
33
|
+
3. Create an audited rollback checkpoint before each worker iteration.
|
|
34
|
+
4. Run the worker through the approved sandbox and restrict changes to the contract's mutable paths.
|
|
35
|
+
5. Use a fresh sandbox environment for every iteration. Record its provider-neutral environment ID, metric, pass/fail result, cost, hypothesis, mechanism changed, observed effect, and documentation impact with `ck_loop`.
|
|
36
|
+
6. On `accept`, keep the candidate and continue. Whenever the decision returns `rollback_required: true`, use `ck_rollback` even if the loop also stopped or blocked. On `awaiting_review`, obtain an independent diff or completion review and call `ck_loop` in `promote` mode. On `stopped` or `blocked`, stop immediately and report the reason.
|
|
37
|
+
7. Preserve iteration evidence in CK checkpoints. Do not rewrite history or hide failed experiments.
|
|
38
|
+
|
|
39
|
+
## Artifact longevity
|
|
40
|
+
|
|
41
|
+
Classify every contract as `ephemeral_experiment`, `mechanical_transformation`, `research`, `security_triage`, or `lasting_code`. Do not misclassify production code as an experiment to bypass review.
|
|
42
|
+
|
|
43
|
+
`lasting_code` contracts must freeze invariant boundaries, allowed and forbidden semantic changes, structural complexity budgets, machine-independence requirements, a local-defense limit, and mandatory human promotion. Every iteration must provide verifier-backed invariant effect, complexity deltas, and machine-independence evidence plus a human-readable call graph, diagnosis path, rollback path, and maintenance path that does not depend on model access.
|
|
44
|
+
|
|
45
|
+
The contract also declares `review_risk` (`standard`, `high`, or `critical`) and required review personas. Worker and reviewer identities must reference CK invocation records for the same session and task. CK derives provider, display model, and canonical provider-issued model ID from those persisted invocation records rather than trusting promotion or review payload labels. Every reviewer must be a different agent; high-risk work needs at least one different canonical model ID; critical work permits no matching canonical model ID. Missing required personas or trusted invocation provenance blocks promotion.
|
|
46
|
+
|
|
47
|
+
A better headline metric does not override these controls. Unknown invariant effects, machine-dependence, complexity excess, and added local defenses are rejected; repeated local defenses stop the loop. Prefer making bad states unrepresentable over adding another fallback.
|
|
48
|
+
|
|
49
|
+
When `lasting_code` reaches its target, attach a structured promotion packet naming the changed behavior, declared owning invariant, bad state made impossible, fallbacks removed, affected interfaces, path-and-line code/test citations, deterministic test/build/diagnosis/rollback commands, and durable documentation paths. The exact packet is frozen into the awaiting-review checkpoint.
|
|
50
|
+
|
|
51
|
+
CK resolves every citation and documentation file inside `project_root`, validates cited line ranges, and freezes their content hashes at target time. Promotion fails if referenced evidence is missing, changed, replaced by a symlink, or no longer matches the reviewed packet. Regenerate evidence and obtain a new review instead of overriding staleness.
|
|
52
|
+
|
|
53
|
+
Promotion requires an independent reviewer to bind their review to that checkpoint and affirm that the architecture is understandable, complexity is proportional, invariants are mechanically enforced, ownership is accepted without the originating agent, and lasting-code scrutiny is justified. Missing or false attestations block promotion.
|
|
54
|
+
|
|
55
|
+
For an approved in-process orchestration, `ControlKeel.Runtime.BoundedLoopCoordinator` can compose explicit worker, verifier, and rollback adapters. It has no default worker or verifier, does not schedule itself, and stops on any adapter error or CK terminal decision.
|
|
56
|
+
|
|
57
|
+
## Hard boundaries
|
|
58
|
+
|
|
59
|
+
- Never use model self-scores as the objective metric.
|
|
60
|
+
- Never modify verifier paths, contract limits, policy, or target after the loop starts.
|
|
61
|
+
- Never bypass a blocked finding, exhausted budget, deadline, iteration limit, or no-progress limit.
|
|
62
|
+
- Never reuse a sandbox environment across iterations or promote metric success without an independent approved review.
|
|
63
|
+
- Never let an outer loop inject code into the verifier or controller.
|
|
64
|
+
- Never commit, push, merge, publish, or deploy without the normal CK review gates.
|
|
65
|
+
- Never promote `lasting_code` that cannot be tested, diagnosed, rolled back, and maintained without an LLM.
|
|
66
|
+
|
|
67
|
+
## Completion
|
|
68
|
+
|
|
69
|
+
Return the declared schema and cite verifier output, accepted iteration checkpoints, and the final review. A higher metric without an unchanged verifier is not proof.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: communication-style
|
|
3
|
+
description: "Write concise, calm technical responses whose structure matches the decision, evidence, or sequence being communicated. Use when drafting substantial plans, reviews, findings, documentation, or completion summaries."
|
|
4
|
+
when_to_use: "Activate when the user asks for clearer writing, or when producing a substantial human-facing plan, review, finding, or summary. Do not use to shorten required safety evidence or machine-readable output."
|
|
5
|
+
argument-hint: "[text or response type]"
|
|
6
|
+
license: Apache-2.0
|
|
7
|
+
compatibility:
|
|
8
|
+
- codex
|
|
9
|
+
- claude-standalone
|
|
10
|
+
- claude-plugin
|
|
11
|
+
- copilot-plugin
|
|
12
|
+
- github-repo
|
|
13
|
+
- open-standard
|
|
14
|
+
- cursor-native
|
|
15
|
+
- opencode-native
|
|
16
|
+
metadata:
|
|
17
|
+
author: controlkeel
|
|
18
|
+
version: "1.0"
|
|
19
|
+
category: communication
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
# Communication Style
|
|
23
|
+
|
|
24
|
+
Make technical communication easy to act on. Preserve evidence, caveats, and required governance fields; remove only material that does not change the reader's decision or next action.
|
|
25
|
+
|
|
26
|
+
## Workflow
|
|
27
|
+
|
|
28
|
+
1. Open with the answer, decision, or observed result. Include the central caveat immediately when it changes the call.
|
|
29
|
+
2. Choose structure from the content: prose for causality, numbered steps for a sequence, bullets for parallel facts, and headings for genuinely distinct sections.
|
|
30
|
+
3. Keep connected reasoning together. If statements depend on “because,” “but,” or “so,” express that relationship instead of splitting it into fragments.
|
|
31
|
+
4. Put evidence next to the claim it supports. Distinguish observations, interpretations, and recommendations.
|
|
32
|
+
5. Cut repeated summaries, generic preambles, hype, theatrical labels, and advice the reader already supplied.
|
|
33
|
+
6. End when the request is answered. Add a final recommendation only when the response weighs a real decision.
|
|
34
|
+
|
|
35
|
+
## Boundaries
|
|
36
|
+
|
|
37
|
+
- Concision never overrides required security findings, uncertainty, approval conditions, commands, test evidence, or rollback instructions.
|
|
38
|
+
- Do not manufacture confidence or remove qualifications to make prose sound decisive.
|
|
39
|
+
- Do not force every response into headings or bullets.
|
|
40
|
+
- Do not copy an external style guide verbatim; apply these repository-owned principles to the current audience and task.
|
|
41
|
+
|
|
42
|
+
## Output check
|
|
43
|
+
|
|
44
|
+
Before sending, verify that the first two sentences contain the result, every section changes understanding or action, and no conclusion is repeated in a second format.
|
|
@@ -86,7 +86,7 @@ For any new feature, fix, or project — before writing plans or code — use th
|
|
|
86
86
|
6. Use `ck_memory_record` to persist important decisions, assumptions, and operator guidance that future agents should recover.
|
|
87
87
|
7. Use `ck_memory_archive` to retire stale or superseded guidance before it keeps contaminating retrieval.
|
|
88
88
|
8. Call `ck_budget` and `ck_cost_optimizer` before expensive model or bulk operations.
|
|
89
|
-
9.
|
|
89
|
+
9. Delegate only when the user explicitly requests it or an approved plan authorizes it, then call `ck_route` before selecting another agent. Tool availability alone is not a reason to delegate routine work.
|
|
90
90
|
10. Use `ck_deployment_advisor` to analyze stack and generate deployment templates when checking ship readiness.
|
|
91
91
|
11. Use `ck_regression_result` to record external browser or QA evidence before claiming deploy readiness.
|
|
92
92
|
12. Use `ck_outcome_tracker` to track success/failure outcomes for continuous learning.
|
|
@@ -3,6 +3,7 @@ name: cost-optimization
|
|
|
3
3
|
description: "Keep a governed session within budget. Use this before long-running agent work, bulk processing, or any task where spend pressure could change the plan."
|
|
4
4
|
when_to_use: "Activate before multi-step agent loops, batch processing, large model calls, or when the user asks about cost, budget, spend, or wants to compare model options."
|
|
5
5
|
argument-hint: "[task or operation to optimize]"
|
|
6
|
+
disable-model-invocation: true
|
|
6
7
|
license: Apache-2.0
|
|
7
8
|
compatibility:
|
|
8
9
|
- codex
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: end-of-shift
|
|
3
|
+
description: "Close a governed work session with validation, proof, findings, budget, digest, learning, and handoff checks. Use when the user asks to wrap up, stop for the day, or leave work ready for another agent."
|
|
4
|
+
when_to_use: "Activate only at an explicit session stop point or when the user asks for end-of-shift validation. Do not run expensive full-suite or benchmark work unless project policy or the approved plan requires it."
|
|
5
|
+
argument-hint: "[completed work or remaining task]"
|
|
6
|
+
disable-model-invocation: true
|
|
7
|
+
license: Apache-2.0
|
|
8
|
+
compatibility:
|
|
9
|
+
- codex
|
|
10
|
+
- claude-standalone
|
|
11
|
+
- claude-plugin
|
|
12
|
+
- copilot-plugin
|
|
13
|
+
- github-repo
|
|
14
|
+
- open-standard
|
|
15
|
+
- cursor-native
|
|
16
|
+
- opencode-native
|
|
17
|
+
result-schema:
|
|
18
|
+
type: object
|
|
19
|
+
required: [status, validation, findings, proof, budget, remaining_work]
|
|
20
|
+
properties:
|
|
21
|
+
status: {type: string, enum: [complete, partial, blocked]}
|
|
22
|
+
validation: {type: array, items: {type: string}}
|
|
23
|
+
findings: {type: array, items: {type: string}}
|
|
24
|
+
proof: {type: array, items: {type: string}}
|
|
25
|
+
budget: {type: string}
|
|
26
|
+
remaining_work: {type: array, items: {type: string}}
|
|
27
|
+
handoff_reference: {type: [string, "null"]}
|
|
28
|
+
metadata:
|
|
29
|
+
author: controlkeel
|
|
30
|
+
version: "1.0"
|
|
31
|
+
category: execution
|
|
32
|
+
ck_mcp_tools:
|
|
33
|
+
- ck_context
|
|
34
|
+
- ck_git_status
|
|
35
|
+
- ck_git_diff
|
|
36
|
+
- ck_validate
|
|
37
|
+
- ck_budget
|
|
38
|
+
- ck_task
|
|
39
|
+
- ck_session_digest
|
|
40
|
+
- ck_outcome_tracker
|
|
41
|
+
- ck_memory_record
|
|
42
|
+
- ck_checkpoint_create
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
# End of Shift
|
|
46
|
+
|
|
47
|
+
Close work with enough verified state that the next human or agent can continue without reconstructing the session from chat.
|
|
48
|
+
|
|
49
|
+
## Workflow
|
|
50
|
+
|
|
51
|
+
1. Reacquire CK context and inspect git status and diff. Identify untracked artifacts, unrelated changes, unresolved tasks, pending reviews, and active findings.
|
|
52
|
+
2. Run the targeted checks required by the changed behavior. Run the project's full completion command only when policy or the approved plan requires it.
|
|
53
|
+
3. Validate the final diff and stop on blocked findings. Record warnings with their concrete consequence.
|
|
54
|
+
4. Correlate tests, external regression results, and review approvals with the task proof. Do not call an untested or unreviewed path complete.
|
|
55
|
+
5. Check budget and record the session outcome. Generate a digest.
|
|
56
|
+
6. Persist only durable decisions or reusable lessons. Do not commit raw transcripts, speculative notes, secrets, or duplicated summaries.
|
|
57
|
+
7. If work remains, create a checkpoint and use the handoff workflow with explicit next action, blockers, validation state, and allowed scope.
|
|
58
|
+
|
|
59
|
+
## Stop conditions
|
|
60
|
+
|
|
61
|
+
- `blocked`: an active blocked finding, failed required check, denied review, or unsafe workspace state remains.
|
|
62
|
+
- `partial`: completed work is valid but scoped work remains or required external evidence is unavailable.
|
|
63
|
+
- `complete`: required checks pass, findings are dispositioned, proof is present, and no approved-scope work remains.
|
|
64
|
+
|
|
65
|
+
## Output
|
|
66
|
+
|
|
67
|
+
Return the declared result schema. Include exact validation commands or proof references, not “tests pass” without evidence.
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: false-confidence-test-audit
|
|
3
|
+
description: "Audit tests that may pass without proving the claimed behavior. Use for periodic test-quality reviews or when coverage looks healthy but regressions still escape."
|
|
4
|
+
when_to_use: "Activate only when the user requests a test-quality, false-confidence, or assertion-strength audit. Do not rewrite tests until each weakness is reproduced or supported by concrete evidence."
|
|
5
|
+
argument-hint: "[test path, suite, or commit range]"
|
|
6
|
+
disable-model-invocation: true
|
|
7
|
+
license: Apache-2.0
|
|
8
|
+
compatibility:
|
|
9
|
+
- codex
|
|
10
|
+
- claude-standalone
|
|
11
|
+
- claude-plugin
|
|
12
|
+
- copilot-plugin
|
|
13
|
+
- github-repo
|
|
14
|
+
- open-standard
|
|
15
|
+
- cursor-native
|
|
16
|
+
- opencode-native
|
|
17
|
+
result-schema:
|
|
18
|
+
type: object
|
|
19
|
+
required: [scope, findings, commands_run, limitations]
|
|
20
|
+
properties:
|
|
21
|
+
scope: {type: string}
|
|
22
|
+
findings:
|
|
23
|
+
type: array
|
|
24
|
+
items:
|
|
25
|
+
type: object
|
|
26
|
+
required: [path, claim, evidence, severity, recommended_probe]
|
|
27
|
+
properties:
|
|
28
|
+
path: {type: string}
|
|
29
|
+
claim: {type: string}
|
|
30
|
+
evidence: {type: string}
|
|
31
|
+
severity: {type: string, enum: [high, medium, low]}
|
|
32
|
+
recommended_probe: {type: string}
|
|
33
|
+
commands_run: {type: array, items: {type: string}}
|
|
34
|
+
limitations: {type: array, items: {type: string}}
|
|
35
|
+
metadata:
|
|
36
|
+
author: controlkeel
|
|
37
|
+
version: "1.0"
|
|
38
|
+
category: quality
|
|
39
|
+
ck_mcp_tools: [ck_context, ck_validate, ck_finding, ck_regression_result]
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
# False-Confidence Test Audit
|
|
43
|
+
|
|
44
|
+
Find tests whose green result overstates what they prove. This is an evidence audit, not a request to maximize coverage or replace outcome tests with implementation checks.
|
|
45
|
+
|
|
46
|
+
## Workflow
|
|
47
|
+
|
|
48
|
+
1. State the suite's claimed behavior and identify the production boundary that should make the claim observable.
|
|
49
|
+
2. Run the narrow test unchanged and record its command and result.
|
|
50
|
+
3. Inspect for assertions that cannot fail, status-only assertions, permissive schemas, broad truthiness checks, over-mocked boundaries, implementation mirroring, skipped CI lanes, missing negative cases, and fixtures that bypass the behavior under test.
|
|
51
|
+
4. For each suspected weakness, propose the smallest probe that would make the test fail if the production behavior were broken. Prefer a temporary mutation, boundary substitution, or explicit counterexample when safe.
|
|
52
|
+
5. Separate confirmed weaknesses from hypotheses. Record limitations when a probe cannot be run.
|
|
53
|
+
6. Fix only confirmed weaknesses, then demonstrate that the strengthened test fails against the broken behavior and passes against the correct behavior.
|
|
54
|
+
|
|
55
|
+
## Boundaries
|
|
56
|
+
|
|
57
|
+
- Never weaken production behavior to make a test easier to write.
|
|
58
|
+
- Do not delete a test merely because it overlaps another; identify the distinct claim first.
|
|
59
|
+
- Do not introduce sleeps, network dependence, random timing, or broad HTML snapshots as substitutes for behavioral evidence.
|
|
60
|
+
- Full mutation testing is optional and must be budgeted separately.
|
|
61
|
+
|
|
62
|
+
## Completion
|
|
63
|
+
|
|
64
|
+
Return output matching the declared result schema. A clean audit states what was inspected and which claims were actually challenged; “no findings” without commands and limitations is incomplete.
|
|
@@ -3,6 +3,7 @@ name: handoff
|
|
|
3
3
|
description: "Persist session state and hand off in-progress work to a background agent or delegated execution. Use when work outgrows the current session, context is near limit, or a task needs to continue unattended."
|
|
4
4
|
when_to_use: "Activate when the user says 'hand off', 'delegate this', 'continue in background', 'pass this off', or when context pressure is high and significant work remains. Also activate when ck_route recommends a different agent for the remaining work."
|
|
5
5
|
argument-hint: "[optional: specific task or remaining work to hand off]"
|
|
6
|
+
disable-model-invocation: true
|
|
6
7
|
license: Apache-2.0
|
|
7
8
|
compatibility:
|
|
8
9
|
- codex
|
|
@@ -3,6 +3,7 @@ name: ship-readiness
|
|
|
3
3
|
description: "Check install-to-first-finding metrics, funnel stage, findings state, proofs, and approvals before calling a session ready to ship."
|
|
4
4
|
when_to_use: "Use before declaring a release, PR, or feature done. Activate when the user says 'ready to ship', 'done', 'merge this', or asks to verify completeness."
|
|
5
5
|
argument-hint: "[feature, PR, or release to check]"
|
|
6
|
+
disable-model-invocation: true
|
|
6
7
|
license: Apache-2.0
|
|
7
8
|
compatibility:
|
|
8
9
|
- codex
|
package/package.json
CHANGED