build(ci): uv toolchain, release-please semver; feat(skills): vendor tools self-contained (no symlinks, relative refs)

- bin/db/psql-yq + bin/web/search + tools/{yamlout,websearch} vendored as real files
- bin/db/ssh-tunnel added (OnlyOffice VM pg on 5433)
- skills reference local bin/ paths; no agent-skills/abs links in git
- pyproject.toml + uv.lock; CI installs via uv sync --frozen
- release-please auto-tags semver from conventional commits when green
- LICENSE MIT, badges/mermaid README
This commit is contained in:
2026-08-10 21:24:42 +01:00
parent d4a88eead7
commit 63d3be0e19
31 changed files with 1795 additions and 39 deletions
+3 -3
View File
@@ -9,10 +9,10 @@ description: >-
# agent-cost
```bash
bin/agents/cost # every project, YAML
bin/agents/cost --repo brain-ui # only sessions whose cwd matches
bin/agents/cost # every project, YAML
bin/agents/cost --repo 2dph # only sessions whose cwd matches
bin/agents/cost --json | jq .cursor.by_tool
bin/agents/cost --snapshot after-x --repo brain-ui # append a row to docs/CONTEXT-BUDGET.md
bin/agents/cost --snapshot after-x --repo 2dph # append a row to docs/CONTEXT-BUDGET.md
```
Reads local session storage from OpenCode and Cursor transcripts. Reports the
+7 -8
View File
@@ -8,21 +8,20 @@ description: >-
# db-yaml
`agent-skills/bin/db/psql-yq` talks to Postgres and returns YAML, which is far
cheaper than a psql ASCII table and easy to slice with `yq`.
`bin/db/psql-yq` (vendored in this repo) talks to Postgres and returns YAML,
which is far cheaper than a psql ASCII table and easy to slice with `yq`.
```bash
bin/db/offline -s kunde # column list (brain-ui wrapper)
bin/db/offline -t tour -l 20 # 20 sample rows as YAML
bin/db/offline -c 'SELECT ...' # query -> YAML
bin/db/live -c 'SELECT ...' # live database instead of the snapshot
bin/db/psql-yq --profile onlyoffice -s document_asset # column list
bin/db/psql-yq --profile onlyoffice -t task_result -l 20 # sample rows as YAML
bin/db/psql-yq --profile onlyoffice -c 'SELECT ...' # query -> YAML
```
Ad-hoc targets without a profile:
```bash
agent-skills/bin/db/psql-yq --container my-pg --db app -c 'SELECT 1'
agent-skills/bin/db/psql-yq --dsn 'postgres://user@host:5432/db' -c 'SELECT 1'
bin/db/psql-yq --container my-pg --db app -c 'SELECT 1'
bin/db/psql-yq --dsn 'postgres://user@host:5432/db' -c 'SELECT 1'
```
## Profiles
+2 -2
View File
@@ -34,8 +34,8 @@ related:
becomes a graph edge:
```bash
bin/kb/search search "deploy" --type howto
bin/kb/search search "Stecktafel" --hop 1 # follow links and related
bin/kb/search "deploy" --type howto
bin/kb/search "Stecktafel" --hop 1 # follow links and related
```
## Audit checklist
+6 -6
View File
@@ -10,17 +10,17 @@ description: >-
# web-search
```bash
bin/web/search "Pflegegrad SGB XI Einstufung"
bin/web/search "Toureffizienz" --site ticket.detective.de
bin/web/search "sqlite-vec" --category it -n 3 --json | jq -r '.results[].url'
bin/web/search "Pflegereform" --lang de --fresh year
bin/web/search "LadybugDB vector index"
bin/web/search "model2vec multilingual" --category it
bin/web/search "hypervisor" --site ops.io --json | jq -r '.results[].url'
bin/web/search "postgres partial index" --lang en --fresh year
```
## Web or knowledge base
`bin/kb/search` holds our own facts: product docs, detective business logic, the
`bin/kb/search` holds our own facts: the ops stack, portfolio, ssh hosts, the
lexicon. Go there first. Reach for `bin/web/search` when the answer is outside
our repos: legislation, vendor documentation, upstream library behaviour.
our repos: upstream library behaviour, vendor documentation, public standards.
Keep the two apart. A finding is stronger when the reader can see that one
source was ours and one was not.