9917817f53057459708ce269033943829a8120d6
- 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/go-code/SKILL.md b/dot_agents/skills/go-code/SKILL.md
2deleted file mode 100644
3index 415c1463e65eb9bac543636c65f918e5ae3f8ab4..0000000000000000000000000000000000000000
4--- a/dot_agents/skills/go-code/SKILL.md
5+++ /dev/null
6@@ -1,8 +0,0 @@
7----
8-name: go-code
9-description: Rules for writing go code
10----
11-
12-## Go development
13-
14-- Always use `make lint` if available, if not, prefer `go vet` over `go build`
15diff --git a/dot_agents/skills/linear-update/SKILL.md b/dot_agents/skills/linear-update/SKILL.md
16deleted file mode 100644
17index 9df76bc9292aa469c6cb59003bedf4cf4be86ca5..0000000000000000000000000000000000000000
18--- a/dot_agents/skills/linear-update/SKILL.md
19+++ /dev/null
20@@ -1,122 +0,0 @@
21----
22-name: linear-update
23-version: 2.0.0
24-description: "Draft and post a weekly status update to Linear for a project OR initiative. Auto-detects which the name refers to, synthesizes Past week / Next week / Asks from Linear + Slack, and posts on approval."
25-metadata:
26- openclaw:
27- category: "productivity"
28- requires:
29- mcpServers: ["linear", "slack"]
30----
31-
32-# /linear-update
33-
34-Draft and post a weekly status update to Linear. Takes a **name**, figures out whether it
35-is a Linear **project** or **initiative**, then writes the update in the **Past week /
36-Next week / Asks** format and posts it on your approval.
37-
38-## Parameters
39-
40-| Parameter | Required | Default | Description |
41-|-----------|----------|---------|-------------|
42-| `name` | No | — | Name of the Linear project or initiative to update (passed as the argument). The skill auto-detects which it is. If omitted, ask the user. |
43-| `channels` | No | auto | Optional Slack channel name(s) to pull context from. If omitted, auto-discover and confirm. |
44-
45-## Step 1 — Resolve the name (project vs. initiative)
46-
47-This is the first thing the skill does and it determines everything downstream.
48-
49-1. If no `name` was provided, ask the user which project or initiative to update.
50-2. Search both in parallel:
51- - `list_initiatives` with `query: <name>`
52- - `list_projects` with `query: <name>`
53-3. Match case-insensitively against the returned names:
54- - **Exactly one type matches** → use that type (`project` or `initiative`).
55- - **Both an initiative and a project match** (or near-match) → ask the user which one they mean before continuing. Do not guess.
56- - **Nothing matches** → show the closest candidates from both lists and ask the user to pick or rename.
57-4. Hold onto the resolved `type` (`project` | `initiative`) and the canonical name/ID — every later tool call branches on it.
58-
59-## Step 2 — Gather context (parallel where possible)
60-
61diff --git a/dot_agents/skills/share-tables/SKILL.md b/dot_agents/skills/share-tables/SKILL.md
62deleted file mode 100644
63index 72cbe8efade7cc92880b7e8374d8b93d5b5570f1..0000000000000000000000000000000000000000
64--- a/dot_agents/skills/share-tables/SKILL.md
65+++ /dev/null
66@@ -1,104 +0,0 @@
67----
68-name: share-tables
69diff --git a/dot_agents/skills/share-tables/mappings_prod b/dot_agents/skills/share-tables/mappings_prod
70deleted file mode 100644
71index 327c8d2f9add112b8464aa3f77e6d8e3e6ba8074..0000000000000000000000000000000000000000
72--- a/dot_agents/skills/share-tables/mappings_prod
73+++ /dev/null
74@@ -1,3 +0,0 @@
75-stablecore:29946
76-dune_curated_data:35887
77-dune:12
78diff --git a/dot_agents/skills/share-tables/scripts/executable_get-table.sh b/dot_agents/skills/share-tables/scripts/executable_get-table.sh
79deleted file mode 100644
80index 2e22403e4f012848ec2614bd146fa3aadca98a83..0000000000000000000000000000000000000000
81--- a/dot_agents/skills/share-tables/scripts/executable_get-table.sh
82+++ /dev/null
83@@ -1,53 +0,0 @@
84-#!/usr/bin/env bash
85-# Look up the type (and view SQL, if applicable) of one or more tables via
86-# the Catalog gRPC service, authenticating as a given source team.
87-#
88-# One request per table. No recursion — view-dependency traversal is the
89-# LLM's responsibility.
90-#
91-# Usage:
92-# get-table.sh <dev|prod> <from_handle:from_id> <catalog.schema.table>...
93-#
94-# Example:
95-# get-table.sh prod stablecore:29946 dune.stablecore.stablecoins_evm_balances_enriched_v2
96-#
97-# Requires: grpcurl, jq, tailscale network access to the catalog service.
98-set -euo pipefail
99-
100-if (( $# < 3 )); then
101- echo "usage: $0 <dev|prod> <from_handle:from_id> <catalog.schema.table>..." >&2
102- exit 2
103-fi
104-
105-env=$1 from=$2
106-shift 2
107-
108-case $env in
109- dev) host=dev-catalog-svc-trino.ayu-decibel.ts.net:4040 ;;
110- prod) host=prod-catalog-service-trino.ayu-decibel.ts.net:4040 ;;
111- *) echo "error: env must be dev or prod (got: $env)" >&2; exit 2 ;;
112-esac
113-
114-if [[ $from != *:* ]]; then
115- echo "error: from must be in the form handle:id (got: $from)" >&2
116- exit 2
117-fi
118-from_id=${from##*:}
119-[[ $from_id =~ ^[0-9]+$ ]] || { echo "error: from id must be numeric (got: $from_id)" >&2; exit 2; }
120-
121-creds=$(printf '{"customerID": "team_%s"}' "$from_id" | base64 -w0 | tr -d '=')
122-
123-for fqn in "$@"; do
124- IFS='.' read -ra parts <<<"$fqn"
125- if (( ${#parts[@]} != 3 )) || [[ -z ${parts[0]} || -z ${parts[1]} || -z ${parts[2]} ]]; then
126- echo "error: table must be in the form catalog.schema.name (got: $fqn)" >&2
127- exit 2
128- fi
129- catalog=${parts[0]} schema=${parts[1]} name=${parts[2]}
130- echo "=== $catalog.$schema.$name ==="
131- grpcurl -plaintext \
132- -d "{\"sql_id\":{\"catalog\":\"$catalog\",\"schema\":\"$schema\",\"name\":\"$name\"},\"credentials\":\"$creds\"}" \
133- "$host" \
134- core.catalog.apis.v1.CatalogService/GetTrinoTable \
135- | jq -r '"type: " + .table.type, (if .table.viewMetadata then "viewSql:\n" + .table.viewMetadata.viewSql else empty end)'
136-done
137diff --git a/dot_agents/skills/share-tables/scripts/executable_share.sh b/dot_agents/skills/share-tables/scripts/executable_share.sh
138deleted file mode 100644
139index 57622f96203367085573ab6e7dd50a94dbeacf69..0000000000000000000000000000000000000000
140--- a/dot_agents/skills/share-tables/scripts/executable_share.sh
141+++ /dev/null
142@@ -1,66 +0,0 @@
143-#!/usr/bin/env bash
144-# Grant or revoke a team's access to another team's private catalog tables
145-# via the Catalog gRPC service.
146-#
147-# Usage:
148-# share.sh <dev|prod> <add|remove> <from_handle:from_id> <dest_handle> <catalog.schema.table>...
149-#
150-# Example:
151-# share.sh prod add stablecore:29946 gfdionis_team dune.stablecore.stablecoins_evm_activity_enriched
152-#
153-# Requires: grpcurl, tailscale network access to the catalog service.
154-set -euo pipefail
155-
156-if (( $# < 5 )); then
157- echo "usage: $0 <dev|prod> <add|remove> <from_handle:from_id> <dest_handle> <catalog.schema.table>..." >&2
158- exit 2
159-fi
160-
161-env=$1 action=$2 from=$3 dest=$4
162-shift 4
163-
164-case $env in
165- dev) host=dev-catalog-svc-trino.ayu-decibel.ts.net:4040 ;;
166- prod) host=prod-catalog-service-trino.ayu-decibel.ts.net:4040 ;;
167- *) echo "error: env must be dev or prod (got: $env)" >&2; exit 2 ;;
168-esac
169-
170-case $action in
171- add) method=AddTableTeamAccess ;;
172- remove) method=RemoveTableTeamAccess ;;
173- *) echo "error: action must be add or remove (got: $action)" >&2; exit 2 ;;
174-esac
175-
176-if [[ $from != *:* ]]; then
177- echo "error: from must be in the form handle:id (got: $from)" >&2
178- exit 2
179-fi
180-from_id=${from##*:}
181-[[ $from_id =~ ^[0-9]+$ ]] || { echo "error: from id must be numeric (got: $from_id)" >&2; exit 2; }
182-
183-creds=$(printf '{"customerID":"team_%s","duneAdminKey":"duneDatashare"}' "$from_id" | base64 -w0 | tr -d '=')
184-
185-for fqn in "$@"; do
186- IFS='.' read -ra parts <<<"$fqn"
187- if (( ${#parts[@]} != 3 )) || [[ -z ${parts[0]} || -z ${parts[1]} || -z ${parts[2]} ]]; then
188- echo "error: table must be in the form catalog.schema.name (got: $fqn)" >&2
189- exit 2
190- fi
191- catalog=${parts[0]} schema=${parts[1]} name=${parts[2]}
192- echo ">>> $action $catalog.$schema.$name -> $dest"
193- set +e
194- out=$(grpcurl -plaintext \
195- -d "{\"sql_id\":{\"catalog\":\"$catalog\",\"schema\":\"$schema\",\"name\":\"$name\"},\"team_handle\":\"$dest\",\"credentials\":\"$creds\"}" \
196- "$host" \
197- "core.catalog.apis.v1.CatalogService/$method" 2>&1)
198- status=$?
199- set -e
200- printf '%s\n' "$out"
201- if (( status != 0 )); then
202- if [[ $out == *"can only share private tables"* ]]; then
203- echo " (already public, skipping)"
204- continue
205- fi
206- exit "$status"
207- fi
208-done