`open_client_proxy()` broadcast its one-slot linked channel to an always-running status relay and an idle method receiver. Status traffic advanced only the relay, so the first lazy contract lookup for an uncached order raised `Lagged` before receiving its response. Give `relay_client_proxy_messages()` sole receive ownership. Route tagged responses from concurrent caller tasks into their per-`mid` slots while each proxy context retains its own channel and relay. Deats, - log stale responses with their original method name; - warn when unresolved-request metadata exceeds its bounded limit; - drop late responses after caller cancellation; - preserve the reconnect design note and message-case rationale; - accept clean channel EOF during proxy teardown; - cover idle status, concurrency, cancellation and EOF paths. Prompt-IO: ai/prompt-io/opencode/20260811T205826Z_06d5ea5d_prompt_io.md (this patch was generated in some part by `opencode` using `gpt-5.6-sol` (`openai`)) |
||
|---|---|---|
| .. | ||
| claude-code | ||
| opencode | ||
| prompt-io | ||
| README.md | ||
README.md
AI Tooling Integrations
Documentation and usage guides for AI-assisted development tools integrated with this repo.
Each subdirectory corresponds to a specific AI tool or frontend and contains usage docs for the custom skills/prompts/workflows configured for it.
Originally introduced in PR #69; track new integration ideas and proposals in issue #79.
Integrations
| Tool | Directory | Status |
|---|---|---|
| Claude Code | claude-code/ |
active |
| OpenCode | opencode/ |
active |
Shared Skills
Repo-specific skills use the portable Agent Skills frontmatter subset and live under .claude/skills/ as a single source. Claude Code discovers that directory natively, and OpenCode discovers the same project skills without copies or generated wrappers.
Harness-specific command files should only delegate to a shared skill. They must not duplicate the skill body.
Adding a New Integration
Create a subdirectory named after the tool (use lowercase + hyphens), then add:
- A
README.mdcovering setup, available skills/commands, and usage examples - Any tool-specific config or prompt files
ai/
├── README.md # <- you are here
├── claude-code/
│ └── README.md
├── opencode/
│ └── README.md
└── <your-tool>/
└── README.md
Conventions
- Skill/command names use hyphen-case (
commit-msg, notcommit_msg) - Each integration doc should describe what the skill does, how to invoke it, and any output artifacts it produces
- Keep docs concise; link to the shared skill source files rather than duplicating content
- Keep skill bodies harness-neutral; isolate slash-command syntax and permissions in each harness integration