diff --git a/.claude/skills/piker-profiling/SKILL.md b/.agents/skills/piker-profiling/SKILL.md similarity index 100% rename from .claude/skills/piker-profiling/SKILL.md rename to .agents/skills/piker-profiling/SKILL.md diff --git a/.claude/skills/piker-profiling/patterns.md b/.agents/skills/piker-profiling/patterns.md similarity index 100% rename from .claude/skills/piker-profiling/patterns.md rename to .agents/skills/piker-profiling/patterns.md diff --git a/.claude/skills/piker-slang/SKILL.md b/.agents/skills/piker-slang/SKILL.md similarity index 100% rename from .claude/skills/piker-slang/SKILL.md rename to .agents/skills/piker-slang/SKILL.md diff --git a/.claude/skills/piker-slang/dictionary.md b/.agents/skills/piker-slang/dictionary.md similarity index 100% rename from .claude/skills/piker-slang/dictionary.md rename to .agents/skills/piker-slang/dictionary.md diff --git a/.claude/skills/piker-slang/examples.md b/.agents/skills/piker-slang/examples.md similarity index 100% rename from .claude/skills/piker-slang/examples.md rename to .agents/skills/piker-slang/examples.md diff --git a/.claude/skills/pyqtgraph-optimization/SKILL.md b/.agents/skills/pyqtgraph-optimization/SKILL.md similarity index 100% rename from .claude/skills/pyqtgraph-optimization/SKILL.md rename to .agents/skills/pyqtgraph-optimization/SKILL.md diff --git a/.claude/skills/pyqtgraph-optimization/examples.md b/.agents/skills/pyqtgraph-optimization/examples.md similarity index 100% rename from .claude/skills/pyqtgraph-optimization/examples.md rename to .agents/skills/pyqtgraph-optimization/examples.md diff --git a/.claude/skills/timeseries-optimization/SKILL.md b/.agents/skills/timeseries-optimization/SKILL.md similarity index 100% rename from .claude/skills/timeseries-optimization/SKILL.md rename to .agents/skills/timeseries-optimization/SKILL.md diff --git a/.claude/skills/timeseries-optimization/numpy-patterns.md b/.agents/skills/timeseries-optimization/numpy-patterns.md similarity index 100% rename from .claude/skills/timeseries-optimization/numpy-patterns.md rename to .agents/skills/timeseries-optimization/numpy-patterns.md diff --git a/.claude/skills/timeseries-optimization/polars-patterns.md b/.agents/skills/timeseries-optimization/polars-patterns.md similarity index 100% rename from .claude/skills/timeseries-optimization/polars-patterns.md rename to .agents/skills/timeseries-optimization/polars-patterns.md diff --git a/.claude/settings.local.json b/.claude/settings.local.json deleted file mode 100644 index 5404a5dd..00000000 --- a/.claude/settings.local.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "permissions": { - "allow": [ - "Bash(chmod:*)", - "Bash(/tmp/piker_commits.txt)", - "Bash(python:*)" - ], - "deny": [], - "ask": [] - } -} diff --git a/.claude/skills/commit-msg/style-guide-reference.md b/.claude/skills/commit-msg/style-guide-reference.md deleted file mode 100644 index 1e3ba061..00000000 --- a/.claude/skills/commit-msg/style-guide-reference.md +++ /dev/null @@ -1,262 +0,0 @@ -# Piker Git Commit Message Style Guide - -Learned from analyzing 500 commits from the piker repository. - -## Subject Line Rules - -### Length -- Target: ~50 characters (avg: 50.5 chars) -- Maximum: 67 chars (hard limit, though historical max: 146) -- Keep concise and descriptive - -### Structure -- Use present tense verbs (Add, Drop, Fix, Move, etc.) -- 65.6% of commits use backticks for code references -- 33.0% use colon notation (`module.file:` prefix or `: ` separator) - -### Opening Verbs (by frequency) -Primary verbs to use: -- **Add** (8.4%) - New features, files, functionality -- **Drop** (3.2%) - Remove features, dependencies, code -- **Fix** (2.2%) - Bug fixes, corrections -- **Use** (2.2%) - Switch to different approach/tool -- **Port** (2.0%) - Migrate code, adapt from elsewhere -- **Move** (2.0%) - Relocate code, refactor structure -- **Always** (1.8%) - Enforce consistent behavior -- **Factor** (1.6%) - Refactoring, code organization -- **Bump** (1.6%) - Version/dependency updates -- **Update** (1.4%) - Modify existing functionality -- **Adjust** (1.0%) - Fine-tune, tweak behavior -- **Change** (1.0%) - Modify behavior or structure - -Casual/informal verbs (used occasionally): -- **Woops,** (1.4%) - Fixing mistakes -- **Lul,** (0.6%) - Humorous corrections - -### Code References -Use backticks heavily for: -- **Module/package names**: `tractor`, `pikerd`, `polars`, `ruff` -- **Data types**: `dict`, `float`, `str`, `None` -- **Classes**: `MktPair`, `Asset`, `Position`, `Account`, `Flume` -- **Functions**: `dedupe()`, `push()`, `get_client()`, `norm_trade()` -- **File paths**: `.tsp`, `.fqme`, `brokers.toml`, `conf.toml` -- **CLI flags**: `--pdb` -- **Error types**: `NoData` -- **Tools**: `uv`, `uv sync`, `httpx`, `numpy` - -### Colon Usage Patterns -1. **Module prefix**: `.ib.feed: trim bars frame to start_dt` -2. **Separator**: `Add support: new feature description` - -### Tone -- Technical but casual (use XD, lol, .., Woops, Lul when appropriate) -- Direct and concise -- Question marks rare (1.4%) -- Exclamation marks rare (1.4%) - -## Body Structure - -### Body Frequency -- 56.0% of commits have empty bodies (one-line commits are common) -- Use body for complex changes requiring explanation - -### Bullet Lists -- Prefer `-` bullets (16.2% of commits) -- Rarely use `*` bullets (1.6%) -- Indent continuation lines appropriately - -### Section Markers (in order of frequency) -Use these to organize complex commit bodies: - -1. **Also,** (most common, 26 occurrences) - - Additional changes, side effects, related updates - - Example: - ``` - Main change described in subject. - - Also, - - related change 1 - - related change 2 - ``` - -2. **Deats,** (8 occurrences) - - Implementation details - - Technical specifics - -3. **Further,** (4 occurrences) - - Additional context or future considerations - -4. **Other,** (3 occurrences) - - Miscellaneous related changes - -5. **Notes,** **TODO,** (rare, 1 each) - - Special annotations when needed - -### Line Length -- Body lines: 67 character maximum -- Break longer lines appropriately - -## Language Patterns - -### Common Abbreviations (by frequency) -Use these freely in commit bodies: -- **msg** (29) - message -- **mod** (15) - module -- **vs** (14) - versus -- **impl** (12) - implementation -- **deps** (11) - dependencies -- **var** (6) - variable -- **ctx** (6) - context -- **bc** (5) - because -- **obvi** (4) - obviously -- **ep** (4) - endpoint -- **tn** (4) - task name -- **rn** (3) - right now -- **sig** (3) - signal/signature -- **env** (3) - environment -- **tho** (3) - though -- **fn** (2) - function -- **iface** (2) - interface -- **prolly** (2) - probably - -Less common but acceptable: -- **dne**, **osenv**, **gonna**, **wtf** - -### Tone Indicators -- **..** (77 occurrences) - Ellipsis for trailing thoughts -- **XD** (17) - Expression of humor/irony -- **lol** (1) - Rare, use sparingly - -### Informal Patterns -- Casual contractions okay: Don't, won't -- Lowercase starts acceptable for file prefixes -- Direct, conversational tone - -## Special Patterns - -### Module/File Prefixes -Common in piker commits (33.0% use colons): -- `.ib.feed: description` -- `.ui._remote_ctl: description` -- `.data.tsp: description` -- `.accounting: description` - -### Merge Commits -- 4.4% of commits (standard git merges) -- Not a primary pattern to emulate - -### External References -- GitHub links occasionally used (13 total) -- File:line references not used (0 occurrences) -- No WIP commits in analyzed set - -### Claude-code Footer -When the written **patch** was assisted by claude-code, -include: - -``` -(this patch was generated in some part by [`claude-code`][claude-code-gh]) -[claude-code-gh]: https://github.com/anthropics/claude-code -``` - -When only the **commit msg** was written by claude-code -(human wrote the patch), use: - -``` -(this commit msg was generated in some part by [`claude-code`][claude-code-gh]) -[claude-code-gh]: https://github.com/anthropics/claude-code -``` - -## Piker-Specific Terms - -### Core Components -- `pikerd` - piker daemon -- `brokerd` - broker daemon -- `tractor` - actor framework used -- `.tsp` - time series protocol/module -- `.fqme` - fully qualified market endpoint - -### Data Structures -- `MktPair` - market pair -- `Asset` - asset representation -- `Position` - trading position -- `Account` - account data -- `Flume` - data stream -- `SymbologyCache` - symbol caching - -### Common Functions -- `dedupe()` - deduplication -- `push()` - data pushing -- `get_client()` - client retrieval -- `norm_trade()` - trade normalization -- `open_trade_ledger()` - ledger opening -- `markup_gaps()` - gap marking -- `get_null_segs()` - null segment retrieval -- `remote_annotate()` - remote annotation - -### Brokers & Integrations -- `binance` - Binance integration -- `.ib` - Interactive Brokers -- `bs_mktid` - broker-specific market ID -- `reqid` - request ID - -### Configuration -- `brokers.toml` - broker configuration -- `conf.toml` - general configuration - -### Development Tools -- `ruff` - Python linter -- `uv` / `uv sync` - package manager -- `--pdb` - debugger flag -- `pdbp` - debugger -- `asyncvnc` / `pyvnc` - VNC libraries -- `httpx` - HTTP client -- `polars` - dataframe library -- `rapidfuzz` - fuzzy matching -- `numpy` - numerical library -- `trio` - async framework -- `asyncio` - async framework -- `xonsh` - shell - -## Examples - -### Simple one-liner -``` -Add `MktPair.fqme` property for symbol resolution -``` - -### With module prefix -``` -.ib.feed: trim bars frame to `start_dt` -``` - -### Casual fix -``` -Woops, compare against first-dt in `.ib.feed` bars frame -``` - -### With body using "Also," -``` -Drop `poetry` for `uv` in dev workflow - -Also, -- update deps in `pyproject.toml` -- add `uv sync` to CI pipeline -- remove old `poetry.lock` -``` - -### With implementation details -``` -Factor position tracking into `Position` dataclass - -Deats, -- move calc logic from `brokerd` to `.accounting` -- add `norm_trade()` helper for broker normalization -- use `MktPair.fqme` for consistent symbol refs -``` - ---- - -**Analysis date:** 2026-01-27 -**Commits analyzed:** 500 from piker repository -**Maintained by:** Tyler Goodlet diff --git a/.claude/skills/piker-profiling b/.claude/skills/piker-profiling new file mode 120000 index 00000000..2b3636a0 --- /dev/null +++ b/.claude/skills/piker-profiling @@ -0,0 +1 @@ +../../.agents/skills/piker-profiling \ No newline at end of file diff --git a/.claude/skills/piker-slang b/.claude/skills/piker-slang new file mode 120000 index 00000000..85f9cbec --- /dev/null +++ b/.claude/skills/piker-slang @@ -0,0 +1 @@ +../../.agents/skills/piker-slang \ No newline at end of file diff --git a/.claude/skills/pyqtgraph-optimization b/.claude/skills/pyqtgraph-optimization new file mode 120000 index 00000000..b1ca4594 --- /dev/null +++ b/.claude/skills/pyqtgraph-optimization @@ -0,0 +1 @@ +../../.agents/skills/pyqtgraph-optimization \ No newline at end of file diff --git a/.claude/skills/timeseries-optimization b/.claude/skills/timeseries-optimization new file mode 120000 index 00000000..2bd3abd1 --- /dev/null +++ b/.claude/skills/timeseries-optimization @@ -0,0 +1 @@ +../../.agents/skills/timeseries-optimization \ No newline at end of file diff --git a/ai/prompt-io/opencode/20260908T043134Z_f148fbcc_prompt_io.md b/ai/prompt-io/opencode/20260908T043134Z_f148fbcc_prompt_io.md new file mode 100644 index 00000000..95251360 --- /dev/null +++ b/ai/prompt-io/opencode/20260908T043134Z_f148fbcc_prompt_io.md @@ -0,0 +1,37 @@ +--- +model: openai/gpt-5.6-sol +service: opencode +session: unavailable +timestamp: 2026-09-08T04:31:34Z +git_ref: f148fbcc +scope: config +substantive: true +raw_file: 20260908T043134Z_f148fbcc_prompt_io.raw.md +--- + +## Prompt + +Audit tracked legacy skill files under `.claude/`, then migrate Piker's +repository-specific skills into the provider-neutral discovery tree. +Keep Claude compatibility and remove stale Claude-local configuration. + +## Response summary + +Moves four Piker-specific skill packages to `.agents/skills/`, retains +Claude discovery through relative adapter links, and drops two stale +tracked Claude-local files. + +## Files changed + +- `.agents/skills/piker-*/` - provider-neutral Piker skill sources. +- `.claude/skills/piker-*` - relative Claude compatibility links. +- `.claude/settings.local.json` - remove tracked local permissions. +- `.claude/skills/commit-msg/style-guide-reference.md` - remove the + superseded legacy copy now represented under `.ai/commit-msg/`. + +## Human edits + +The human identified that repository-specific skills were not migrated +by the shared `ai.skillz` deployment, selected `.agents/skills/` as the +neutral source, and requested that the migration land in PR 93 before +following up on the generic migration tooling. diff --git a/ai/prompt-io/opencode/20260908T043134Z_f148fbcc_prompt_io.raw.md b/ai/prompt-io/opencode/20260908T043134Z_f148fbcc_prompt_io.raw.md new file mode 100644 index 00000000..3af350df --- /dev/null +++ b/ai/prompt-io/opencode/20260908T043134Z_f148fbcc_prompt_io.raw.md @@ -0,0 +1,34 @@ +--- +model: openai/gpt-5.6-sol +service: opencode +timestamp: 2026-09-08T04:31:34Z +git_ref: f148fbcc +diff_cmd: git diff --cached +--- + +## Prompt + +Audit tracked legacy skill files under `.claude/`, then migrate Piker's +repository-specific skills into the provider-neutral discovery tree. +Keep Claude compatibility and remove stale Claude-local configuration. + +## Generated changes + +> `git diff --cached -- .agents/skills/` + +Moves the four Piker-owned skill packages into the neutral +`.agents/skills/` source tree without changing their contents. + +> `git diff --cached -- .claude/skills/ .claude/settings.local.json` + +Adds relative Claude adapter links to the neutral skill sources and +removes the tracked local settings file and superseded commit-message +style guide. + +## Validation + +- All four Claude adapter links resolve to a `SKILL.md`. +- `git diff --cached --check` passes. +- No tracked files match the repository's ignore rules. +- Shared deployment validation retains one unrelated stale local + `commit-plan` hybrid-link error for an `ai.skillz` follow-up.