actorThe plugin installs from a marketplace, updates by version and changes nothing global
spec:cc-agents.installationNext rung ready: nothing blocks; it waits only for the author's statement.
Packs: none
Design: 7 design entries · 7 pinned declarations · no decisions
Findings: no errors, no warnings
specs/runner/installation.sdp.md
2 open questions and no blocking questions; implementation binding none, verifier binding none, and expected-outcome oracle none.
The marketplace is .claude-plugin/marketplace.json, which points at plugin/; the plugin's manifest and its user options are plugin/.claude-plugin/plugin.json. Both are JSON, and the install flow is checked by tests/install/install.sh, a shell script. The graph reads neither, so this Spec is described and cannot yet be called implemented or verified.
Intent
- A user installing the plugin on a machine that already has Claude Code, and Codex or OpenCode.
problem- A plugin that rewrites settings or signs in again would disturb the setup it extends, and an update that reaches nobody is invisible.
outcome- The plugin installs through the marketplace commands, uses the sign-ins and configuration already on the machine, and reaches an update only when its version rises.
value- Installing and updating is two commands and touches no harness.
Open questions
- non-blocking ·
question.invisibleToTheGraphline 22 · specs/runner/installation.sdp.md:22· The marketplace, the manifest and the install script are JSON and shell, so no anchor binds them and the graph derives neither implementednorhas-verifierhere; the install test run isnpm run test:install.Decider: ownerProvisional: The Spec stays at defined until a node test asserts the manifest and options, which would carry a test anchor and the documented realization. - non-blocking ·
question.linuxClaimline 25 · specs/runner/installation.sdp.md:25· The README says Linux was not tried live, while a smoke run proved basic execution there; the sentence is broader than the evidence.Decider: ownerProvisional: Basic execution on Linux is evidenced, and the pane and the machine guard under load there are not.
Behavior
rule.marketplaceInstallline 31 ·specs/runner/installation.sdp.md:31- The plugin installs from the marketplace entry whose source is the
plugin/folder, with the commands/plugin marketplace addand/plugin install.no example exercises it
rule.updateByVersionline 32 ·specs/runner/installation.sdp.md:32- An update reaches users only when the
versionin the plugin manifest rises, and a commit that does not change it reaches nobody.no example exercises it
rule.nothingGloballine 33 ·specs/runner/installation.sdp.md:33- Installing writes no setting of any harness and no credential; the plugin uses the sign-ins and configuration already on the machine.
no example exercises it
rule.needsHostline 34 ·specs/runner/installation.sdp.md:34- It needs Claude Code with mods on, Node 24 on the path, and Codex or OpenCode installed and signed in.
no example exercises it
rule.optionsAreDeclaredline 35 ·specs/runner/installation.sdp.md:35- The options the user sets are declared in the manifest with their defaults, and no other configuration is read.
no example exercises it
0 unkeyed rules.
Design
optionCodexModelline 39 ·specs/runner/installation.sdp.md:39codexModel, a string, empty by default: the model a Codex agent runs when its header names none.no citation recorded
optionOpencodeModelline 40 ·specs/runner/installation.sdp.md:40opencodeModel, a string, empty by default, with no default model when empty.no citation recorded
optionModelGuideline 41 ·specs/runner/installation.sdp.md:41modelGuide, a string,qualityby default:quality,cost, or a path.no citation recorded
optionCodexWritableRootsline 42 ·specs/runner/installation.sdp.md:42codexWritableRoots, a string, empty by default: extra folders a Codex agent in write mode may write.no citation recorded
optionCapsline 43 ·specs/runner/installation.sdp.md:43caps, a string, empty by default, as incodex=2, opencode:xai=1.no citation recorded
optionStepSecondsline 44 ·specs/runner/installation.sdp.md:44stepSeconds, a number from 5 to 600, 20 by default.no citation recorded
statePathline 45 ·specs/runner/installation.sdp.md:45~/.claude/plugins/data/cc-agents, or the directory inCC_AGENTS_STATE.no citation recorded
Verification
Verifier bindings
No verifier binding recorded.
Design view
Requirement drawing
- Declared verifying examples: no declared verifying example.
- Test or oracle bindings: no recorded binding.
The diagram as text
- spec:cc-agents.installation: The plugin installs from a marketplace, updates by version and changes nothing global · declared Spec · no satisfying binding
- spec:cc-agents.runner: Other model families run as real Claude Code agents · declared Spec
- impl:cc-agents.harness-options: reads the per-harness options, picks the model-guide template and builds the /harnesses text · anchored code ·
plugin/hooks/harnesses.js:5 - spec:cc-agents.installation refines spec:cc-agents.runner · declared
- impl:cc-agents.harness-options references spec:cc-agents.installation · anchored
Mermaid source
Copyable source; the Studio draws static SVG.
Preferred syntax: requirementDiagram. Chosen syntax: flowchart TB because references require exact labels unavailable in requirement syntax.
Decisions
No decision record named.
Runtime
No implementation neighborhood recorded.
Runtime observation: not tracked.
Evidence
Runtime observation: not tracked.
Build attestations: not tracked.
Deployments: not tracked.
Bills of materials: not tracked.
Impact
The diagram as text
- spec:cc-agents.installation: The plugin installs from a marketplace, updates by version and changes nothing global
- spec:cc-agents.model-templates: Claude reads a model guide that fits the harnesses installed here
- spec:cc-agents.runner: Other model families run as real Claude Code agents
- spec:cc-agents.installation refines spec:cc-agents.runner · declared
- spec:cc-agents.model-templates dependsOn spec:cc-agents.installation · declared — the guide is one of the plugin's declared options
Mermaid source
Copyable source; the Studio draws static SVG.
Preferred syntax: flowchart. Chosen syntax: labelled flowchart, preserving exact relations, claims and folds.
Rests on
- refines · spec:cc-agents.runner · stated defined, floor ready
Rested on by
Distance 1
- spec:cc-agents.model-templates
Implementing units
impl:cc-agents.harness-options·plugin/hooks/harnesses.js:5impl:cc-agents.mod·plugin/hooks/register.js:9
Referencing units
impl:cc-agents.sync-templates·scripts/sync-templates.mjs:10
Enabled verifiers: test:cc-agents.mod-suite
Packs: None
Distance 2
- spec:cc-agents.hq-links
Implementing units
None.
Referencing units
None.
Enabled verifiers: None
Packs: None
Relations
| Relation and direction | Other end | Claim | Reason | Exercised keys |
|---|---|---|---|---|
| refines · outgoing | Other model families run as real Claude Code agentsspec:cc-agents.runner · resolves | declared | None | None |
| dependsOn · incoming | Claude reads a model guide that fits the harnesses installed herespec:cc-agents.model-templates · resolves | declared | the guide is one of the plugin's declared options | None |
Bindings
Implementation binding: none
Design reference: present
impl:cc-agents.harness-options· reads the per-harness options, picks the model-guide template and builds the /harnesses text ·plugin/hooks/harnesses.js:5
Verifier binding: none
Expected-outcome oracle: none
Runtime observation: not tracked.
Run results: not recorded in the graph.
Findings
None.
Composing (0)
Composing needs the script.