piker/ai
Gud Boi d126302fb9 Fix IB idle timer arithmetic for packet nanoseconds
Override `NonShittyWrapper._setTimer()` to compute packet silence
in seconds from integer epoch nanoseconds, avoiding upstream's
`datetime` subtraction error after `tcpDataArrived()`. Delegate
pre-traffic datetime and sentinel handling upstream.

Preserve the packet timestamp on expiry and clear the timer before
`timeoutEvent` emission so listeners can safely rearm it. Add three
offline regressions under `tests/providers/` for rescheduling, single
expiry, datetime and sentinel states, disabling, and reentrant
listener rearming. Document the wrapper overrides on the class.

This fixes an explicitly armed packet-idle timer; heartbeat, default
arming, and reconnect behavior are outside this change.

Prompt-IO: ai/prompt-io/opencode/20260924_ib_idle_timer.md

(this patch was generated in some part by `opencode` using
`gpt-6-astra` (`openai`))
2026-09-24 13:43:13 -04:00
..
claude-code Add `piker-clearing-expert` skill 2026-08-27 23:24:54 -04:00
opencode Add `piker-clearing-expert` skill 2026-08-27 23:24:54 -04:00
prompt-io Fix IB idle timer arithmetic for packet nanoseconds 2026-09-24 13:43:13 -04:00
README.md Add `piker-clearing-expert` skill 2026-08-27 23:24:54 -04:00

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

Provider-neutral skill bundles should use the portable Agent Skills subset and live under .agents/skills/ as their single source. OpenCode discovers that project directory natively. Relative links in provider directories such as .claude/skills/ may bridge clients which do not yet scan .agents/skills/; never copy the skill body.

Existing repo skills under .claude/skills/ predate this convention and can migrate separately without coupling their history to new skills.

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:

  1. A README.md covering setup, available skills/commands, and usage examples
  2. 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, not commit_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