What changed
Hardening pass driven by issue #1.
Documentation
SKILL.mdrewritten — more concise, tool-agnostic, operationally reliable. Standardized sections: Quick Reference, Protocol Rules, Standard Workflow (start →initialize→session/new→session/prompt→ stream parsing → cancel), Resume Session, Polling/Timeout Strategy, Failure Modes, Update Procedure, Implementation Notes.- Frontmatter
descriptionrewritten to state trigger conditions and intended programmatic use. - All examples now use opaque session ids, newline-delimited JSON-RPC framing, and notification handling. Host-specific
process.write/poll/killAPI assumptions removed in favor of tool-agnostic guidance. cwdnormalization and deterministic JSON serialization rules added.
Community files
CODE_OF_CONDUCT.md(Contributor Covenant v2.1)CONTRIBUTING.md.github/ISSUE_TEMPLATE/bug_report.md.github/ISSUE_TEMPLATE/feature_request.md
Tests
tests/test_acp_demo.py— 12 pytest cases coveringframe()/read_frame()helpers and CLI smoke tests for--help,--dry-run, and--no-prompt.pytest.inifor test discovery.- CI now runs pytest alongside markdownlint, lychee, and ruff.
Misc
- README badges added (license, protocol, OpenCode version, Python, CI, version, release).
.gitignoreextended to ignore test caches and virtualenvs.acp_demo.pyclientInfo.versionand_meta.jsonversionaligned to0.3.0.ruff --fixapplied toacp_demo.py(typing modernization).
Closes #1.