bigquery-sql
BigQuery-specific SQL patterns: UNNEST for array expansion, STRUCT, ARRAY_AGG,…
Load before any git or GitHub work in a chat: committing model changes, pushing a branch, opening a pull request, updating a pull request, or commenting on one. Covers the sandbox git checkout, the signalpilot/ branch rule, and the open_pull_request, update_pull_request, and
$ npx -y skills add signalpilot-labs/signalpilot --skill github --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/githubContext preview
The summary Claude sees to decide when to auto-load this skill.
Load before any git or GitHub work in a chat: committing model changes, pushing a branch, opening a pull request, updating a pull request, or commenting on one. Covers the sandbox git checkout, the signalpilot/ branch rule, and the open_pull_request, update_pull_request, and
name: github description: "Load before any git or GitHub work in a chat: committing model changes, pushing a branch, opening a pull request, updating a pull request, or commenting on one. Covers the sandbox git checkout, the signalpilot/ branch rule, and the open_pull_request, update_pull_request, and comment_on_pull_request tools." type: skill
The chat agent publishes work through git and pull requests. A person reviews and merges on GitHub. The agent never merges.
The sandbox VM holds the project at `/workspace`. `/workspace` is a git repository. The remote `origin` is SignalPilot's git server, not GitHub. Credentials are already configured. You do not need a token.
Run every git command with `sandbox_exec`. Set `cwd` to `/workspace`. Edit files with `sandbox_write_file`. Do not edit files in your own working directory. It is a frozen copy for reading only.
The system prompt names the base branch. Your commits go on top of that branch.
The server accepts a push only to a branch that starts with `signalpilot/`. Use the form `signalpilot/<short-name>`. Use a short lowercase name with hyphens that describes the change. Example: `signalpilot/fix-revenue-grain`.
Use one branch name for one piece of work. Push to the same name each time you add commits.
The server refuses these pushes and prints the reason:
the diff in your answer instead.
1. Change the files in `/workspace` in the sandbox VM. 2. For model changes, run `dbt_execute` with `build` on the changed models. Fix errors until the build passes. 3. Check the diff: `git status` and `git diff`. 4. Stage and commit: `git add -A && git commit -m "<clear message>"`. 5. Push: `git push origin HEAD:signalpilot/<short-name>`. 6. Call `open_pull_request` with a title and a body. In the body, list the files or models you changed, what changed in each, and the build result. 7. Put the pull request URL from the tool result in your final answer.
for the branch you pushed. Leave `branch` empty to use your most recent push. Set `draft` true for work that is not ready for review. If the branch already has an open pull request, the tool returns it.
body. Use it after you push more commits, so the description stays true.
report a new build result, to answer a review comment, or to explain one part of the change in detail.
Every tool returns `pr_url`. Give the user that link. Every tool acts only on branches and pull requests that this chat created.
should check.
with `comment_on_pull_request`.
Repo: signalpilot-labs/signalpilot
BigQuery-specific SQL patterns: UNNEST for array expansion, STRUCT, ARRAY_AGG,…
Load when dbt run or dbt parse fails. Covers YML duplicate patches, ref errors, passthrough…
Populate the knowledge base from dbt project research. Proposes entries across all 6…
Load when task involves dbt snapshots, SCD Type 2, or tracking data changes over time. Covers…
Load when task involves adding, writing, or fixing dbt unit tests. Covers unit_tests YAML…
Load when task involves dbt model versioning, creating v2 of a model, or backward-compatible…