a42034b5d7cbfba26a4cd72a545ccc9769c3850c

Author
TheEdgeOfRage <git@theedgeofrage.com>
Committer
TheEdgeOfRage <git@theedgeofrage.com>
Date

Message

Add more skills

Diff

This diff is truncated to protect this page.

  1diff --git a/dot_agents/skills/bro/SKILL.md b/dot_agents/skills/bro/SKILL.md
  2new file mode 100644
  3index 0000000000000000000000000000000000000000..b1701b778639c08bfc306291d70170c525c66a68
  4--- /dev/null
  5+++ b/dot_agents/skills/bro/SKILL.md
  6@@ -0,0 +1,7 @@
  7+---
  8+name: bro
  9+description: Restate the last message in plain human language, with no jargon.
 10+disable-model-invocation: true
 11+---
 12+
 13+Restate your last message. Stop using jargon and speak coherently. State it more simply and concisely, like one human talking to another.
 14diff --git a/dot_agents/skills/code-review/SKILL.md b/dot_agents/skills/code-review/SKILL.md
 15new file mode 100644
 16index 0000000000000000000000000000000000000000..99ea30200a2cbe60708b90f8be955a7cb80f7973
 17--- /dev/null
 18+++ b/dot_agents/skills/code-review/SKILL.md
 19@@ -0,0 +1,89 @@
 20+---
 21+name: code-review
 22diff --git a/dot_agents/skills/code-review/agents/openai.yaml b/dot_agents/skills/code-review/agents/openai.yaml
 23new file mode 100644
 24index 0000000000000000000000000000000000000000..9076774ba327f49068db9273feceda03bfe940fa
 25--- /dev/null
 26+++ b/dot_agents/skills/code-review/agents/openai.yaml
 27@@ -0,0 +1,3 @@
 28+interface:
 29+  display_name: "Code Review"
 30+  short_description: "Review a diff on standards and spec"
 31diff --git a/dot_config/opencode/skills/comms-polish/SKILL.md b/dot_agents/skills/comms-polish/SKILL.md
 32rename from dot_config/opencode/skills/comms-polish/SKILL.md
 33rename to dot_agents/skills/comms-polish/SKILL.md
 34diff --git a/dot_config/opencode/skills/go-code/SKILL.md b/dot_agents/skills/go-code/SKILL.md
 35rename from dot_config/opencode/skills/go-code/SKILL.md
 36rename to dot_agents/skills/go-code/SKILL.md
 37diff --git a/dot_agents/skills/handoff/SKILL.md b/dot_agents/skills/handoff/SKILL.md
 38new file mode 100644
 39index 0000000000000000000000000000000000000000..043d9e13dc7eca3002a47d3ab9865c568f647863
 40--- /dev/null
 41+++ b/dot_agents/skills/handoff/SKILL.md
 42@@ -0,0 +1,16 @@
 43+---
 44+name: handoff
 45+description: Compact the current conversation into a handoff document for another agent to pick up.
 46+argument-hint: "What will the next session be used for?"
 47+disable-model-invocation: true
 48+---
 49+
 50+Write a handoff document summarising the current conversation so a fresh agent can continue the work. Save to the temporary directory of the user's OS - not the current workspace.
 51+
 52+Include a "suggested skills" section in the document, which suggests skills that the agent should invoke.
 53+
 54+Do not duplicate content already captured in other artifacts (specs, plans, ADRs, issues, commits, diffs). Reference them by path or URL instead.
 55+
 56+Redact any sensitive information, such as API keys, passwords, or personally identifiable information.
 57+
 58+If the user passed arguments, treat them as a description of what the next session will focus on and tailor the doc accordingly.
 59diff --git a/dot_agents/skills/handoff/agents/openai.yaml b/dot_agents/skills/handoff/agents/openai.yaml
 60new file mode 100644
 61index 0000000000000000000000000000000000000000..6e1d8da121beceddc2f9ec7fa8714c1d914dd11a
 62--- /dev/null
 63+++ b/dot_agents/skills/handoff/agents/openai.yaml
 64@@ -0,0 +1,5 @@
 65+interface:
 66+  display_name: "Handoff"
 67+  short_description: "Compact a conversation into a handoff"
 68+policy:
 69+  allow_implicit_invocation: false
 70diff --git a/dot_agents/skills/herdr/SKILL.md b/dot_agents/skills/herdr/SKILL.md
 71new file mode 100644
 72index 0000000000000000000000000000000000000000..469bdda2ad62ab5f7456513b00bf7e4f8c9aa30c
 73--- /dev/null
 74+++ b/dot_agents/skills/herdr/SKILL.md
 75@@ -0,0 +1,204 @@
 76+---
 77+name: herdr
 78+description: "Control Herdr panes, tabs, workspaces, commands, dev servers, other background processes, and agents. Use for subagents when the user or another skill explicitly asks for or requires them. Requires HERDR_ENV=1."
 79+---
 80+
 81+# Herdr
 82+
 83+Herdr organizes terminals into workspaces, tabs, and panes, recognizes coding agents running inside panes, and exposes the current session through the `herdr` CLI.
 84+
 85+Before issuing any control command, verify that this agent is running inside a Herdr-managed pane:
 86+
 87+```bash
 88+test "${HERDR_ENV:-}" = 1
 89+```
 90+
 91+If the check fails, say that you are not running inside Herdr and stop. Do not inspect or control the focused Herdr session from outside Herdr.
 92+
 93+When the check passes, the `herdr` binary in `PATH` talks to the current session. Use it to inspect neighboring work, create terminal layout, start agents and commands, read output, and wait for state changes.
 94+
 95+## Learn the current CLI
 96+
 97diff --git a/dot_config/opencode/skills/linear-update/SKILL.md b/dot_agents/skills/linear-update/SKILL.md
 98rename from dot_config/opencode/skills/linear-update/SKILL.md
 99rename to dot_agents/skills/linear-update/SKILL.md
100diff --git a/dot_agents/skills/qmd/SKILL.md b/dot_agents/skills/qmd/SKILL.md
101new file mode 100644
102index 0000000000000000000000000000000000000000..de910987c35e99fc0024863f7fbbe5040974387b
103--- /dev/null
104+++ b/dot_agents/skills/qmd/SKILL.md
105@@ -0,0 +1,125 @@
106+---
107+name: qmd
108+description: Search markdown knowledge bases, notes, and documentation using QMD. Use when users ask to search notes, find documents, or look up information in local files.
109+license: MIT
110+compatibility: Requires qmd CLI
111+metadata:
112+author: tobi
113+version: "2.0.0"
114+allowed-tools: Bash(qmd:\*)
115+---
116+
117+# QMD - Quick Markdown Search
118+
119+Local search engine for markdown content.
120+
121+## Status
122+
123+!`qmd status 2>/dev/null || echo "Not installed: npm install -g @tobilu/qmd"`
124+
125+### Query Types
126+
127+| Type   | Method | Input                                       |
128+| ------ | ------ | ------------------------------------------- |
129+| `lex`  | BM25   | Keywords — exact terms, names, code         |
130+| `vec`  | Vector | Question — natural language                 |
131+| `hyde` | Vector | Answer — hypothetical result (50-100 words) |
132+
133+### Writing Good Queries
134+
135+**lex (keyword)**
136+
137+- 2-5 terms, no filler words
138+- Exact phrase: `"connection pool"` (quoted)
139+- Exclude terms: `performance -sports` (minus prefix)
140+- Code identifiers work: `handleError async`
141+
142+**vec (semantic)**
143+
144+- Full natural language question
145+- Be specific: `"how does the rate limiter handle burst traffic"`
146+- Include context: `"in the payment service, how are refunds processed"`
147+
148+**hyde (hypothetical document)**
149+
150+- Write 50-100 words of what the _answer_ looks like
151+- Use the vocabulary you expect in the result
152+
153+**expand (auto-expand)**
154+
155+- Use a single-line query (implicit) or `expand: question` on its own line
156+- Lets the local LLM generate lex/vec/hyde variations
157+- Do not mix `expand:` with other typed lines — it's either a standalone expand query or a full query document
158+
159+### Intent (Disambiguation)
160+
161+When a query term is ambiguous, add `intent` to steer results:
162+
163+```json
164+{
165+  "searches": [{ "type": "lex", "query": "performance" }],
166+  "intent": "web page load times and Core Web Vitals"
167+}
168+```
169+
170+Intent affects expansion, reranking, chunk selection, and snippet extraction. It does not search on its own — it's a steering signal that disambiguates queries like "performance" (web-perf vs team health vs fitness).
171+
172+### Combining Types
173+
174+| Goal                  | Approach                                              |
175+| --------------------- | ----------------------------------------------------- |
176+| Know exact terms      | `lex` only                                            |
177+| Don't know vocabulary | Use a single-line query (implicit `expand:`) or `vec` |
178+| Best recall           | `lex` + `vec`                                         |
179+| Complex topic         | `lex` + `vec` + `hyde`                                |
180+| Ambiguous query       | Add `intent` to any combination above                 |
181+
182+First query gets 2x weight in fusion — put your best guess first.
183+
184+### Lex Query Syntax
185+
186+| Syntax     | Meaning      | Example                      |
187+| ---------- | ------------ | ---------------------------- |
188+| `term`     | Prefix match | `perf` matches "performance" |
189+| `"phrase"` | Exact phrase | `"rate limiter"`             |
190+| `-term`    | Exclude      | `performance -sports`        |
191+
192+Note: `-term` only works in lex queries, not vec/hyde.
193+
194+### Collection Filtering
195+
196+```json
197+{ "collections": ["docs"] }              // Single
198+{ "collections": ["docs", "notes"] }     // Multiple (OR)
199+```
200+
201+Omit to search all collections.
202+
203+## CLI
204+
205diff --git a/dot_config/opencode/skills/share-tables/SKILL.md b/dot_agents/skills/share-tables/SKILL.md
206rename from dot_config/opencode/skills/share-tables/SKILL.md
207rename to dot_agents/skills/share-tables/SKILL.md
208diff --git a/dot_config/opencode/skills/share-tables/mappings_prod b/dot_agents/skills/share-tables/mappings_prod
209rename from dot_config/opencode/skills/share-tables/mappings_prod
210rename to dot_agents/skills/share-tables/mappings_prod
211diff --git a/dot_config/opencode/skills/share-tables/scripts/executable_get-table.sh b/dot_agents/skills/share-tables/scripts/executable_get-table.sh
212rename from dot_config/opencode/skills/share-tables/scripts/executable_get-table.sh
213rename to dot_agents/skills/share-tables/scripts/executable_get-table.sh
214diff --git a/dot_config/opencode/skills/share-tables/scripts/executable_share.sh b/dot_agents/skills/share-tables/scripts/executable_share.sh
215rename from dot_config/opencode/skills/share-tables/scripts/executable_share.sh
216rename to dot_agents/skills/share-tables/scripts/executable_share.sh