a42034b5d7cbfba26a4cd72a545ccc9769c3850c
- Author
- TheEdgeOfRage <git@theedgeofrage.com>
- Committer
- TheEdgeOfRage <git@theedgeofrage.com>
- Date
Message
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