opencode-skills-collection 4.0.45 → 4.0.46
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundled-skills/.antigravity-install-manifest.json +25 -1
- package/bundled-skills/agy-delegate/SKILL.md +168 -0
- package/bundled-skills/agy-delegate/references/dispatch-and-poll.md +140 -0
- package/bundled-skills/agy-delegate/references/multi-task-queues.md +59 -0
- package/bundled-skills/agy-delegate/references/review-and-land.md +103 -0
- package/bundled-skills/agy-delegate/references/writing-the-brief.md +124 -0
- package/bundled-skills/aider-delegate/SKILL.md +227 -0
- package/bundled-skills/aider-delegate/references/dispatch-and-poll.md +154 -0
- package/bundled-skills/aider-delegate/references/multi-task-queues.md +68 -0
- package/bundled-skills/aider-delegate/references/review-and-land.md +101 -0
- package/bundled-skills/aider-delegate/references/writing-the-brief.md +142 -0
- package/bundled-skills/babysit-pr/SKILL.md +343 -0
- package/bundled-skills/claude-delegate/SKILL.md +182 -0
- package/bundled-skills/claude-delegate/references/dispatch-and-poll.md +220 -0
- package/bundled-skills/claude-delegate/references/multi-task-queues.md +66 -0
- package/bundled-skills/claude-delegate/references/review-and-land.md +117 -0
- package/bundled-skills/claude-delegate/references/writing-the-brief.md +158 -0
- package/bundled-skills/cline-delegate/SKILL.md +140 -0
- package/bundled-skills/cline-delegate/references/dispatch-and-poll.md +142 -0
- package/bundled-skills/cline-delegate/references/multi-task-queues.md +58 -0
- package/bundled-skills/cline-delegate/references/review-and-land.md +80 -0
- package/bundled-skills/cline-delegate/references/writing-the-brief.md +129 -0
- package/bundled-skills/codex-delegate/SKILL.md +177 -0
- package/bundled-skills/codex-delegate/references/dispatch-and-poll.md +161 -0
- package/bundled-skills/codex-delegate/references/multi-task-queues.md +66 -0
- package/bundled-skills/codex-delegate/references/review-and-land.md +126 -0
- package/bundled-skills/codex-delegate/references/writing-the-brief.md +125 -0
- package/bundled-skills/commandcode-delegate/SKILL.md +188 -0
- package/bundled-skills/commandcode-delegate/references/dispatch-and-poll.md +222 -0
- package/bundled-skills/commandcode-delegate/references/multi-task-queues.md +81 -0
- package/bundled-skills/commandcode-delegate/references/review-and-land.md +144 -0
- package/bundled-skills/commandcode-delegate/references/writing-the-brief.md +147 -0
- package/bundled-skills/copilot-delegate/SKILL.md +159 -0
- package/bundled-skills/copilot-delegate/references/dispatch-and-poll.md +143 -0
- package/bundled-skills/copilot-delegate/references/multi-task-queues.md +58 -0
- package/bundled-skills/copilot-delegate/references/review-and-land.md +80 -0
- package/bundled-skills/copilot-delegate/references/writing-the-brief.md +140 -0
- package/bundled-skills/cursor-delegate/SKILL.md +170 -0
- package/bundled-skills/cursor-delegate/references/dispatch-and-poll.md +162 -0
- package/bundled-skills/cursor-delegate/references/multi-task-queues.md +59 -0
- package/bundled-skills/cursor-delegate/references/review-and-land.md +93 -0
- package/bundled-skills/cursor-delegate/references/writing-the-brief.md +126 -0
- package/bundled-skills/debate-review/SKILL.md +85 -0
- package/bundled-skills/debate-review/assets/prompts/review-debate.md +51 -0
- package/bundled-skills/debate-review/assets/prompts/review-main.md +64 -0
- package/bundled-skills/debate-review/assets/prompts/review-rebuttal.md +42 -0
- package/bundled-skills/debate-review/references/comment-format.md +63 -0
- package/bundled-skills/debate-review/references/schema.md +95 -0
- package/bundled-skills/delegate-setup/SKILL.md +215 -0
- package/bundled-skills/delegate-setup/references/schema.md +100 -0
- package/bundled-skills/delegate-setup/references/setup-dialogue.md +101 -0
- package/bundled-skills/docs/integrations/jetski-cortex.md +3 -3
- package/bundled-skills/docs/integrations/jetski-gemini-loader/README.md +1 -1
- package/bundled-skills/docs/maintainers/repo-growth-seo.md +1 -1
- package/bundled-skills/docs/maintainers/skills-update-guide.md +1 -1
- package/bundled-skills/docs/users/aas-core.md +1 -1
- package/bundled-skills/docs/users/bundles.md +1 -1
- package/bundled-skills/docs/users/claude-code-skills.md +1 -1
- package/bundled-skills/docs/users/gemini-cli-skills.md +1 -1
- package/bundled-skills/docs/users/kiro-integration.md +1 -1
- package/bundled-skills/docs/users/usage.md +3 -3
- package/bundled-skills/docs/users/visual-guide.md +4 -4
- package/bundled-skills/falsify/SKILL.md +263 -0
- package/bundled-skills/falsify/references/bias-catalog.md +42 -0
- package/bundled-skills/falsify/references/mental-models.md +135 -0
- package/bundled-skills/falsify/templates/thinking-ledger.md +104 -0
- package/bundled-skills/graceful-shutdown/SKILL.md +379 -0
- package/bundled-skills/grok-delegate/SKILL.md +179 -0
- package/bundled-skills/grok-delegate/references/dispatch-and-poll.md +171 -0
- package/bundled-skills/grok-delegate/references/multi-task-queues.md +67 -0
- package/bundled-skills/grok-delegate/references/review-and-land.md +130 -0
- package/bundled-skills/grok-delegate/references/writing-the-brief.md +119 -0
- package/bundled-skills/kimi-delegate/SKILL.md +137 -0
- package/bundled-skills/kimi-delegate/references/dispatch-and-poll.md +134 -0
- package/bundled-skills/kimi-delegate/references/multi-task-queues.md +58 -0
- package/bundled-skills/kimi-delegate/references/review-and-land.md +92 -0
- package/bundled-skills/kimi-delegate/references/writing-the-brief.md +132 -0
- package/bundled-skills/omp-delegate/SKILL.md +186 -0
- package/bundled-skills/omp-delegate/references/dispatch-and-poll.md +155 -0
- package/bundled-skills/omp-delegate/references/multi-task-queues.md +59 -0
- package/bundled-skills/omp-delegate/references/review-and-land.md +95 -0
- package/bundled-skills/omp-delegate/references/writing-the-brief.md +149 -0
- package/bundled-skills/opencode-delegate/SKILL.md +189 -0
- package/bundled-skills/opencode-delegate/references/dispatch-and-poll.md +156 -0
- package/bundled-skills/opencode-delegate/references/multi-task-queues.md +68 -0
- package/bundled-skills/opencode-delegate/references/review-and-land.md +125 -0
- package/bundled-skills/opencode-delegate/references/writing-the-brief.md +142 -0
- package/bundled-skills/pi-delegate/SKILL.md +148 -0
- package/bundled-skills/pi-delegate/references/dispatch-and-poll.md +146 -0
- package/bundled-skills/pi-delegate/references/multi-task-queues.md +59 -0
- package/bundled-skills/pi-delegate/references/review-and-land.md +95 -0
- package/bundled-skills/pi-delegate/references/writing-the-brief.md +132 -0
- package/bundled-skills/qoder-delegate/SKILL.md +151 -0
- package/bundled-skills/qoder-delegate/references/dispatch-and-poll.md +119 -0
- package/bundled-skills/qoder-delegate/references/multi-task-queues.md +43 -0
- package/bundled-skills/qoder-delegate/references/review-and-land.md +66 -0
- package/bundled-skills/qoder-delegate/references/writing-the-brief.md +85 -0
- package/bundled-skills/sandbase-mcp/SKILL.md +194 -0
- package/bundled-skills/ui-slop-score/SKILL.md +2 -2
- package/bundled-skills/unsloth-finetuning/SKILL.md +352 -0
- package/bundled-skills/vibe-delegate/SKILL.md +147 -0
- package/bundled-skills/vibe-delegate/references/dispatch-and-poll.md +144 -0
- package/bundled-skills/vibe-delegate/references/multi-task-queues.md +59 -0
- package/bundled-skills/vibe-delegate/references/review-and-land.md +87 -0
- package/bundled-skills/vibe-delegate/references/writing-the-brief.md +131 -0
- package/bundled-skills/warp-delegate/SKILL.md +192 -0
- package/bundled-skills/warp-delegate/references/dispatch-and-poll.md +163 -0
- package/bundled-skills/warp-delegate/references/multi-task-queues.md +80 -0
- package/bundled-skills/warp-delegate/references/review-and-land.md +123 -0
- package/bundled-skills/warp-delegate/references/writing-the-brief.md +105 -0
- package/bundled-skills/zcode-delegate/SKILL.md +202 -0
- package/bundled-skills/zcode-delegate/references/dispatch-and-poll.md +113 -0
- package/bundled-skills/zcode-delegate/references/multi-task-queues.md +87 -0
- package/bundled-skills/zcode-delegate/references/review-and-land.md +81 -0
- package/bundled-skills/zcode-delegate/references/writing-the-brief.md +120 -0
- package/package.json +1 -1
- package/skills_index.json +660 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
|
-
"updatedAt": "2026-08-
|
|
3
|
+
"updatedAt": "2026-08-29T04:34:34.787Z",
|
|
4
4
|
"entries": [
|
|
5
5
|
"00-andruia-consultant",
|
|
6
6
|
"007",
|
|
@@ -64,6 +64,7 @@
|
|
|
64
64
|
"agents-md",
|
|
65
65
|
"agents-v2-py",
|
|
66
66
|
"agenttrace-session-audit",
|
|
67
|
+
"agy-delegate",
|
|
67
68
|
"ai-agent-development",
|
|
68
69
|
"ai-agents-architect",
|
|
69
70
|
"ai-analyzer",
|
|
@@ -78,6 +79,7 @@
|
|
|
78
79
|
"ai-seo",
|
|
79
80
|
"ai-studio-image",
|
|
80
81
|
"ai-wrapper-product",
|
|
82
|
+
"aider-delegate",
|
|
81
83
|
"airflow-dag-patterns",
|
|
82
84
|
"airtable-automation",
|
|
83
85
|
"akf-trust-metadata",
|
|
@@ -324,6 +326,7 @@
|
|
|
324
326
|
"azure-storage-queue-rust",
|
|
325
327
|
"azure-storage-queue-ts",
|
|
326
328
|
"azure-web-pubsub-ts",
|
|
329
|
+
"babysit-pr",
|
|
327
330
|
"backend-architect",
|
|
328
331
|
"backend-dev-guidelines",
|
|
329
332
|
"backend-development-feature-development",
|
|
@@ -435,6 +438,7 @@
|
|
|
435
438
|
"claude-code-expert",
|
|
436
439
|
"claude-code-guide",
|
|
437
440
|
"claude-d3js-skill",
|
|
441
|
+
"claude-delegate",
|
|
438
442
|
"claude-in-chrome-troubleshooting",
|
|
439
443
|
"claude-monitor",
|
|
440
444
|
"claude-scientific-skills",
|
|
@@ -445,6 +449,7 @@
|
|
|
445
449
|
"clean-code-guard",
|
|
446
450
|
"clerk-auth",
|
|
447
451
|
"clickup-automation",
|
|
452
|
+
"cline-delegate",
|
|
448
453
|
"close-automation",
|
|
449
454
|
"closed-loop-delivery",
|
|
450
455
|
"cloud-architect",
|
|
@@ -481,6 +486,7 @@
|
|
|
481
486
|
"codebase-cleanup-tech-debt",
|
|
482
487
|
"codebase-design",
|
|
483
488
|
"codebase-to-wordpress-converter",
|
|
489
|
+
"codex-delegate",
|
|
484
490
|
"codex-fable5",
|
|
485
491
|
"codex-profiles",
|
|
486
492
|
"codex-review",
|
|
@@ -488,6 +494,7 @@
|
|
|
488
494
|
"cohesivity",
|
|
489
495
|
"cold-email",
|
|
490
496
|
"comfyui-gateway",
|
|
497
|
+
"commandcode-delegate",
|
|
491
498
|
"commit",
|
|
492
499
|
"community-building",
|
|
493
500
|
"competitive-landscape",
|
|
@@ -534,6 +541,7 @@
|
|
|
534
541
|
"conversation-memory",
|
|
535
542
|
"convertkit-automation",
|
|
536
543
|
"convex",
|
|
544
|
+
"copilot-delegate",
|
|
537
545
|
"copilot-sdk",
|
|
538
546
|
"copy-editing",
|
|
539
547
|
"copywriting",
|
|
@@ -566,6 +574,7 @@
|
|
|
566
574
|
"crypto-bd-agent",
|
|
567
575
|
"csharp-pro",
|
|
568
576
|
"cucumber-skill",
|
|
577
|
+
"cursor-delegate",
|
|
569
578
|
"customer-psychographic-profiler",
|
|
570
579
|
"customer-research",
|
|
571
580
|
"customer-support",
|
|
@@ -601,6 +610,7 @@
|
|
|
601
610
|
"ddd-context-mapping",
|
|
602
611
|
"ddd-strategic-design",
|
|
603
612
|
"ddd-tactical-patterns",
|
|
613
|
+
"debate-review",
|
|
604
614
|
"debug-buttercup",
|
|
605
615
|
"debugger",
|
|
606
616
|
"debugging-and-error-recovery",
|
|
@@ -613,6 +623,7 @@
|
|
|
613
623
|
"deepapi",
|
|
614
624
|
"defi-protocol-templates",
|
|
615
625
|
"defuddle",
|
|
626
|
+
"delegate-setup",
|
|
616
627
|
"delegating-to-agents",
|
|
617
628
|
"dependency-management-deps-audit",
|
|
618
629
|
"dependency-upgrade",
|
|
@@ -808,6 +819,7 @@
|
|
|
808
819
|
"fal-platform",
|
|
809
820
|
"fal-upscale",
|
|
810
821
|
"fal-workflow",
|
|
822
|
+
"falsify",
|
|
811
823
|
"family-health-analyzer",
|
|
812
824
|
"famulor-skill",
|
|
813
825
|
"fastapi-pro",
|
|
@@ -954,6 +966,7 @@
|
|
|
954
966
|
"google-slides-automation",
|
|
955
967
|
"googlesheets-automation",
|
|
956
968
|
"gpt-taste",
|
|
969
|
+
"graceful-shutdown",
|
|
957
970
|
"grafana-dashboards",
|
|
958
971
|
"graphql",
|
|
959
972
|
"graphql-architect",
|
|
@@ -962,6 +975,7 @@
|
|
|
962
975
|
"grill-with-docs",
|
|
963
976
|
"grilling",
|
|
964
977
|
"grok-build",
|
|
978
|
+
"grok-delegate",
|
|
965
979
|
"growth-engine",
|
|
966
980
|
"grpc-golang",
|
|
967
981
|
"handoff",
|
|
@@ -1093,6 +1107,7 @@
|
|
|
1093
1107
|
"k8s-security-policies",
|
|
1094
1108
|
"kaizen",
|
|
1095
1109
|
"keyword-extractor",
|
|
1110
|
+
"kimi-delegate",
|
|
1096
1111
|
"klaviyo-automation",
|
|
1097
1112
|
"kotler-macro-analyzer",
|
|
1098
1113
|
"kotlin-coroutines-expert",
|
|
@@ -1378,6 +1393,7 @@
|
|
|
1378
1393
|
"odw",
|
|
1379
1394
|
"offers",
|
|
1380
1395
|
"office-productivity",
|
|
1396
|
+
"omp-delegate",
|
|
1381
1397
|
"on-call-handoff-patterns",
|
|
1382
1398
|
"onboarding",
|
|
1383
1399
|
"onboarding-cro",
|
|
@@ -1389,6 +1405,7 @@
|
|
|
1389
1405
|
"openapi-spec-generation",
|
|
1390
1406
|
"openapi-spec-generator",
|
|
1391
1407
|
"openclaw-github-repo-commander",
|
|
1408
|
+
"opencode-delegate",
|
|
1392
1409
|
"optim-agent",
|
|
1393
1410
|
"options-flow-analyzer",
|
|
1394
1411
|
"oral-health-analyzer",
|
|
@@ -1432,6 +1449,7 @@
|
|
|
1432
1449
|
"photopea-embedded-editor",
|
|
1433
1450
|
"php-pro",
|
|
1434
1451
|
"pi-custom-model",
|
|
1452
|
+
"pi-delegate",
|
|
1435
1453
|
"pi-web-search",
|
|
1436
1454
|
"pilot-protocol",
|
|
1437
1455
|
"pipecat-friday-agent",
|
|
@@ -1526,6 +1544,7 @@
|
|
|
1526
1544
|
"python-pro",
|
|
1527
1545
|
"python-testing-patterns",
|
|
1528
1546
|
"qiskit",
|
|
1547
|
+
"qoder-delegate",
|
|
1529
1548
|
"quality-nonconformance",
|
|
1530
1549
|
"quant-analyst",
|
|
1531
1550
|
"quit-sponsor",
|
|
@@ -1606,6 +1625,7 @@
|
|
|
1606
1625
|
"salesforce-automation",
|
|
1607
1626
|
"salesforce-development",
|
|
1608
1627
|
"sam-altman",
|
|
1628
|
+
"sandbase-mcp",
|
|
1609
1629
|
"sankhya-dashboard-html-jsp-custom-best-pratices",
|
|
1610
1630
|
"sast-configuration",
|
|
1611
1631
|
"satori",
|
|
@@ -1942,6 +1962,7 @@
|
|
|
1942
1962
|
"unslop-commit",
|
|
1943
1963
|
"unslop-file",
|
|
1944
1964
|
"unslop-review",
|
|
1965
|
+
"unsloth-finetuning",
|
|
1945
1966
|
"unsplash-integration",
|
|
1946
1967
|
"update-swiftui-apis",
|
|
1947
1968
|
"upgrading-expo",
|
|
@@ -1978,6 +1999,7 @@
|
|
|
1978
1999
|
"vexor-cli",
|
|
1979
2000
|
"vibe-code-auditor",
|
|
1980
2001
|
"vibe-code-cleanup",
|
|
2002
|
+
"vibe-delegate",
|
|
1981
2003
|
"vibecode-production-qa-validator",
|
|
1982
2004
|
"vibers-code-review",
|
|
1983
2005
|
"viboscope",
|
|
@@ -1996,6 +2018,7 @@
|
|
|
1996
2018
|
"vscode-extension-guide-en",
|
|
1997
2019
|
"vulnerability-scanner",
|
|
1998
2020
|
"warehouse",
|
|
2021
|
+
"warp-delegate",
|
|
1999
2022
|
"warren-buffett",
|
|
2000
2023
|
"wcag-audit-patterns",
|
|
2001
2024
|
"weaviate",
|
|
@@ -2070,6 +2093,7 @@
|
|
|
2070
2093
|
"youtube-summarizer",
|
|
2071
2094
|
"youtube-transcript",
|
|
2072
2095
|
"zapier-make-patterns",
|
|
2096
|
+
"zcode-delegate",
|
|
2073
2097
|
"zendesk-automation",
|
|
2074
2098
|
"zeroize-audit",
|
|
2075
2099
|
"zipai-optimizer",
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: agy-delegate
|
|
3
|
+
description: Delegate coding tasks to the Google Antigravity CLI (`agy`) only when
|
|
4
|
+
the user explicitly requests it, while the orchestrator retains review and landing
|
|
5
|
+
responsibility.
|
|
6
|
+
risk: safe
|
|
7
|
+
category: agent-orchestration
|
|
8
|
+
source: https://github.com/amElnagdy/delegate-skills
|
|
9
|
+
source_repo: amElnagdy/delegate-skills
|
|
10
|
+
source_type: community
|
|
11
|
+
date_added: '2026-08-26'
|
|
12
|
+
license: MIT
|
|
13
|
+
license_source: https://github.com/amElnagdy/delegate-skills/blob/master/LICENSE
|
|
14
|
+
compatibility: Requires the `agy` CLI installed and authenticated, Node.js, and git.
|
|
15
|
+
The orchestrator must be able to run shell commands and read files. Shell examples
|
|
16
|
+
assume bash/zsh (macOS/Linux, or Git Bash/WSL on Windows).
|
|
17
|
+
metadata:
|
|
18
|
+
version: 0.5.0
|
|
19
|
+
---
|
|
20
|
+
# Antigravity Delegate
|
|
21
|
+
|
|
22
|
+
## When to Use
|
|
23
|
+
|
|
24
|
+
- You want to delegate a bounded coding task to a separate `agy` implementer (`Google Antigravity`) and then review its diff yourself.
|
|
25
|
+
- The user explicitly asked for delegation to this implementer.
|
|
26
|
+
|
|
27
|
+
You are the **orchestrator**. This skill lets you hand a bounded coding task to a separate
|
|
28
|
+
**implementer** - the Google Antigravity CLI (`agy`) - then review what it produced and land it
|
|
29
|
+
yourself. You write the brief and own the judgment; Antigravity does the typing in its own
|
|
30
|
+
conversation; you verify and commit.
|
|
31
|
+
|
|
32
|
+
Nothing here is specific to one orchestrating agent. The loop needs only the ability to run a shell
|
|
33
|
+
command and read a file, so any comparable agent can drive it. It is designed for and run on Claude
|
|
34
|
+
Code; treat other orchestrators as designed-for, not yet proven.
|
|
35
|
+
|
|
36
|
+
## When NOT to use this
|
|
37
|
+
|
|
38
|
+
- The task is small enough to just do inline - delegation overhead is not worth it.
|
|
39
|
+
- The `agy` CLI is not installed or not authenticated. Install it from Antigravity's CLI docs and run
|
|
40
|
+
the first-launch setup.
|
|
41
|
+
- You want to write the code yourself, or you only need Antigravity's opinion on code you wrote (a
|
|
42
|
+
`--read-only` dispatch covers review without edits, but a plain review may not need delegation at all).
|
|
43
|
+
|
|
44
|
+
## Prerequisites (check once)
|
|
45
|
+
|
|
46
|
+
1. `agy help` succeeds. If not, install the Antigravity CLI and complete first-launch setup.
|
|
47
|
+
2. `agy models` succeeds. That proves the CLI can authenticate and list the available model labels.
|
|
48
|
+
3. You are in (or will point `--cd` at) the target git repository.
|
|
49
|
+
|
|
50
|
+
These checks do not prove that a headless write will be approved. In `--print` mode, Antigravity
|
|
51
|
+
cannot prompt for a write permission and may auto-deny it. The relay detects that denial instead of
|
|
52
|
+
reporting completion.
|
|
53
|
+
|
|
54
|
+
## Choose the implementer model
|
|
55
|
+
|
|
56
|
+
`agy` has a configured default model, so `--model` is optional. Use it when the human has a preferred
|
|
57
|
+
Antigravity model label for the task. Otherwise let Antigravity use its own current default rather than
|
|
58
|
+
guessing.
|
|
59
|
+
|
|
60
|
+
## The loop
|
|
61
|
+
|
|
62
|
+
Run these five steps per task. Steps 1, 4, and 5 are your judgment; 2 and 3 are mechanical.
|
|
63
|
+
|
|
64
|
+
### 1. Write the brief
|
|
65
|
+
|
|
66
|
+
Antigravity sees only the text you send plus what it can inspect in the workspace - no chat history, no
|
|
67
|
+
shared context. Everything the task needs goes in the brief: the goal, the current state, what to
|
|
68
|
+
change, what to leave untouched, the project's **actual** gate commands, and a report contract. Tell
|
|
69
|
+
Antigravity it will **not** commit (you will). Keep one task per brief. Full guidance and a template:
|
|
70
|
+
[references/writing-the-brief.md](references/writing-the-brief.md).
|
|
71
|
+
|
|
72
|
+
### 2. Dispatch
|
|
73
|
+
|
|
74
|
+
Send the brief to Antigravity with the bundled helper. It wraps `agy --print`, captures the run, and
|
|
75
|
+
writes a structured `result.json` - so your only job is "run a command, read a file." (`<skill-dir>`
|
|
76
|
+
below is this skill's installed directory - the folder containing this `SKILL.md`.)
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
node "<skill-dir>/scripts/relay.mjs" --brief brief.txt --cd /path/to/repo
|
|
80
|
+
# choose a model label: add --model "<label from agy models>"
|
|
81
|
+
# reasoning effort (low, medium, high): add --effort high
|
|
82
|
+
# read-only (plan mode — no edits): add --read-only
|
|
83
|
+
# enable Antigravity terminal sandbox: add --sandbox
|
|
84
|
+
# resume the most recent conversation: add --resume-last (delta brief only)
|
|
85
|
+
# see all options: node .../relay.mjs --help
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
The helper starts a fresh Antigravity project by default and passes `--add-dir <repo>` (the `--cd`
|
|
89
|
+
path, absolute) so `agy` has an explicit workspace. It does **not** pass `--dangerously-skip-permissions` by default.
|
|
90
|
+
Mechanics, flags, and the `result.json` shape: [references/dispatch-and-poll.md](references/dispatch-and-poll.md).
|
|
91
|
+
|
|
92
|
+
### 3. Wait for completion
|
|
93
|
+
|
|
94
|
+
The helper blocks until Antigravity finishes, so back it with whatever your orchestrator offers and
|
|
95
|
+
resume when it returns:
|
|
96
|
+
|
|
97
|
+
- **Claude Code:** run the Bash call with `run_in_background: true`; you are notified on completion.
|
|
98
|
+
- **Plain shell / other agents:** run it in the foreground for short tasks, or background it and poll
|
|
99
|
+
the result file.
|
|
100
|
+
|
|
101
|
+
Do not trust progress trackers over reality: a run is finished when `result.json` is written and the
|
|
102
|
+
process has exited. Read the working tree, not a status line. The implementer's full report is
|
|
103
|
+
the `finalMessage` field in `result.json` (also printed in full on stdout between the report markers).
|
|
104
|
+
|
|
105
|
+
### 4. Review - do not trust the self-report
|
|
106
|
+
|
|
107
|
+
Antigravity's `result.json` includes its own final message and any gate claims. **Re-verify, don't
|
|
108
|
+
accept:**
|
|
109
|
+
|
|
110
|
+
- **Re-run the project's gates yourself** (the test/lint/build commands from step 1).
|
|
111
|
+
- **Read the diff** against the brief: did Antigravity do what was asked, nothing more and nothing less?
|
|
112
|
+
`touchedFiles` in the result is your starting point.
|
|
113
|
+
- **Run the relevant guard skills** on the diff if you have them installed.
|
|
114
|
+
- For schema/migration changes, round-trip them; for removals, grep for dangling references.
|
|
115
|
+
|
|
116
|
+
Full checklist: [references/review-and-land.md](references/review-and-land.md).
|
|
117
|
+
|
|
118
|
+
### 5. Land it
|
|
119
|
+
|
|
120
|
+
The implementer edits the working tree; **the orchestrator commits.** Only after the gates pass and the
|
|
121
|
+
diff holds:
|
|
122
|
+
|
|
123
|
+
- Commit the verified work yourself, with a clear message.
|
|
124
|
+
- If it needs changes, send a delta brief with `--resume-last` and review again.
|
|
125
|
+
|
|
126
|
+
## Permission model
|
|
127
|
+
|
|
128
|
+
Antigravity owns its own permission policy. The relay does not bypass it by default. Use
|
|
129
|
+
`--dangerously-skip-permissions` only when the human explicitly accepts that Antigravity may
|
|
130
|
+
auto-approve tool permission requests. `--read-only` runs `agy` in plan mode (`--mode plan`),
|
|
131
|
+
removing write and edit paths, and is mutually exclusive with `--dangerously-skip-permissions`.
|
|
132
|
+
Use `--sandbox` when you want Antigravity's terminal sandbox enabled for the run.
|
|
133
|
+
Antigravity's own help says `--dangerously-skip-permissions` auto-approves all tool permission
|
|
134
|
+
requests without prompting, including a request to act outside the sandbox. Do not treat
|
|
135
|
+
`--sandbox` as an enforced boundary when the flags are combined; treat the run as full access.
|
|
136
|
+
If headless `--print` auto-denies a write, the relay reports `status: "failed"` and exits non-zero.
|
|
137
|
+
The relay fingerprints the working tree before and after a `--read-only` run to report
|
|
138
|
+
`readOnlyViolation` in `result.json`. Settings allow-rules are not documented here as a fix
|
|
139
|
+
because they have not been demonstrated to apply to this headless path. Do not add the bypass
|
|
140
|
+
flag without explicit human approval.
|
|
141
|
+
|
|
142
|
+
## Authorization model
|
|
143
|
+
|
|
144
|
+
Delegation is something the human opts into. Once they have ("run this queue", "proceed"), committing
|
|
145
|
+
verified, gate-passing work is the agreed contract. Two limits on that mandate: **surface, don't
|
|
146
|
+
absorb** (report Antigravity's design decisions, defensible-but-unasked turns, and non-blocking
|
|
147
|
+
nitpicks rather than silently keeping them) and **stop for scope changes** (if correct completion needs
|
|
148
|
+
going beyond the brief, ask - don't expand the mandate yourself). The full treatment is in
|
|
149
|
+
[references/review-and-land.md](references/review-and-land.md).
|
|
150
|
+
|
|
151
|
+
## References
|
|
152
|
+
|
|
153
|
+
- [references/writing-the-brief.md](references/writing-the-brief.md) - how to write a brief Antigravity
|
|
154
|
+
can execute blind: structure, XML blocks, the report contract, and real gate commands.
|
|
155
|
+
- [references/dispatch-and-poll.md](references/dispatch-and-poll.md) - `relay.mjs` flags, the
|
|
156
|
+
`result.json` contract, backgrounding per orchestrator, and recovery when a run misbehaves.
|
|
157
|
+
- [references/review-and-land.md](references/review-and-land.md) - the review checklist, the commit
|
|
158
|
+
boundary, and the rework cycle via `--resume-last`.
|
|
159
|
+
- [references/multi-task-queues.md](references/multi-task-queues.md) - running a sequential queue:
|
|
160
|
+
carrying constraints forward, progress tracking, and the end-of-run coherence check.
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
## Limitations
|
|
164
|
+
|
|
165
|
+
- Docs-only import — executable `scripts/relay.mjs` not included; see upstream for full runtime. Requires `agy` CLI, Node 18+, git.
|
|
166
|
+
- Relay never commits — it only returns structured result JSON; you review and land the commit.
|
|
167
|
+
|
|
168
|
+
> Adapted from [amElnagdy/delegate-skills](https://github.com/amElnagdy/delegate-skills) (MIT) — docs-only, runtime not bundled.
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
# Dispatch and poll
|
|
2
|
+
|
|
3
|
+
`scripts/relay.mjs` is the dispatch layer. It wraps `agy --print`, runs the brief in Antigravity,
|
|
4
|
+
captures the final response, and writes a structured `result.json`. Your job collapses to: run one
|
|
5
|
+
command, then read one file.
|
|
6
|
+
|
|
7
|
+
## Before the first run: check the binary
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
command -v agy
|
|
11
|
+
agy help
|
|
12
|
+
agy models
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
`agy models` proves the CLI can authenticate and list available model labels. The relay records the
|
|
16
|
+
version it can infer from `agy changelog` into `result.json`. Neither command proves that a headless
|
|
17
|
+
write will be approved.
|
|
18
|
+
|
|
19
|
+
## Dispatching
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
node "<skill-dir>/scripts/relay.mjs" --brief brief.txt --cd /path/to/repo
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
(`<skill-dir>` is wherever this skill is installed - the folder containing its `SKILL.md`.)
|
|
26
|
+
|
|
27
|
+
Options:
|
|
28
|
+
|
|
29
|
+
| Flag | Effect |
|
|
30
|
+
| --- | --- |
|
|
31
|
+
| `--brief <file>` | The brief. Omit it to read the brief from stdin before passing it to `agy --print`. |
|
|
32
|
+
| `--cd <dir>` | Working root for Antigravity (default: current directory). |
|
|
33
|
+
| `--lane <name>` | Fleet lane from `delegate-setup` config. Applies that lane's dials; fails if the lane's `implementer` is not this relay. Explicit dial flags win. |
|
|
34
|
+
| `--model <name>` | Antigravity model label. Optional; a fresh run can use Antigravity's configured default. |
|
|
35
|
+
| `--effort <level>` | Reasoning effort: `low`, `medium`, or `high` (passed as agy's own `--effort`). |
|
|
36
|
+
| `--project <id>` | Use an existing Antigravity project. |
|
|
37
|
+
| `--new-project` | Force a fresh Antigravity project. This is the default for fresh dispatches. |
|
|
38
|
+
| `--resume-last` | Continue the most recent Antigravity conversation; send only the delta brief. |
|
|
39
|
+
| `--conversation <id>` | Continue a specific Antigravity conversation; send only the delta brief. |
|
|
40
|
+
| `--sandbox` | Enable Antigravity's terminal sandbox for the run. |
|
|
41
|
+
| `--read-only` | Run in plan mode (`--mode plan`), removing write and edit paths; mutually exclusive with `--dangerously-skip-permissions`. |
|
|
42
|
+
| `--dangerously-skip-permissions` | Pass Antigravity's permission-bypass flag; mutually exclusive with `--read-only`. Never use this unless the human explicitly accepts it. |
|
|
43
|
+
| `--print-timeout <duration>` | Timeout agy itself applies to print mode (default: `30m`). |
|
|
44
|
+
| `--timeout <dur>` | Relay-side watchdog (e.g. `30m`); overrides the default of `--print-timeout` plus a 60s grace. On expiry the agy process tree is killed and `result.json` gets `status: "timeout"`. Set it explicitly when agy may hang past its own print timeout. Malformed, zero, and out-of-range durations are rejected; the maximum is `596h31m23s`. |
|
|
45
|
+
| `--add-dir <dir>` | Add an extra workspace directory. Repeatable; relative paths resolve against `--cd`. Fresh runs always add the `--cd` repo (absolute path) as a workspace dir. Edits inside extra workspaces are not reported in `touchedFiles`. |
|
|
46
|
+
| `--out-dir <dir>` | Where artifacts go (default: a fresh dir under the system temp dir). |
|
|
47
|
+
|
|
48
|
+
Artifacts default to the system temp dir on purpose: the repo under review stays clean, so the
|
|
49
|
+
touched-files report shows only Antigravity's edits and nothing of the helper's own.
|
|
50
|
+
|
|
51
|
+
## The result
|
|
52
|
+
|
|
53
|
+
`<out-dir>/result.json` is the contract. Fields:
|
|
54
|
+
|
|
55
|
+
- `schema` - the result-format version (currently `delegate-relay.result.v1`)
|
|
56
|
+
- `tool` - `agy`
|
|
57
|
+
- `status` - `completed` | `failed` | `timeout` | `aborted` | `agy_unavailable`
|
|
58
|
+
- `exitCode` - mirrors Antigravity's exit code; `128` plus the signal number if the child was killed; `127` if `agy` is not on PATH; on a `timeout` the relay forces a non-zero code even when the child exited `0` after the watchdog's SIGTERM
|
|
59
|
+
- `signal` - the signal that killed the child, otherwise `null`
|
|
60
|
+
- `agyVersion` - inferred from `agy changelog` when available
|
|
61
|
+
- `projectId` / `conversationId` - parsed from the Antigravity log when present
|
|
62
|
+
- `finalMessage` - Antigravity's stdout response
|
|
63
|
+
- `touchedFiles` - `git status --porcelain` lines in the working root: your review starting point.
|
|
64
|
+
`null` (not `[]`) when git cannot report; `[]` means git ran and the tree is clean
|
|
65
|
+
- `readOnlyViolation` - `true` when fingerprints prove a working-tree change, `false` when coverage is complete and proves none, and `null` when fingerprinting was incomplete or the run was not `--read-only`
|
|
66
|
+
- `briefPath` / `finalPath` / `logPath` / `stderrPath` - the exact brief, final message, Antigravity
|
|
67
|
+
log, and stderr capture
|
|
68
|
+
- `workdir`, `model`, `effort`, `project` (the `--project` you passed, vs `projectId` parsed from the log),
|
|
69
|
+
`sandbox`, `readOnly`, `dangerouslySkipPermissions`, `resumed` (true for a `--resume-last` or `--conversation`
|
|
70
|
+
run), `startedAt`, `finishedAt`
|
|
71
|
+
- `stderrTail` - last ~20 stderr lines; present on every run that did not complete (`failed`, `timeout`, `aborted`), except a launch failure, which reports `failed` with no `stderrTail`; also present when `finalMessage` is empty so diagnostics are not discarded
|
|
72
|
+
- `error` - present on a launch failure, `timeout`, `aborted`, headless permission denial, or silent no-op
|
|
73
|
+
|
|
74
|
+
The helper also prints a summary to stdout and normally exits with Antigravity's exit code. It forces
|
|
75
|
+
exit 1 when Antigravity exits 0 after a detected headless permission denial or with neither a final
|
|
76
|
+
message nor observable working-tree changes, so a wrapping script can branch on success/failure directly.
|
|
77
|
+
|
|
78
|
+
## Waiting for completion
|
|
79
|
+
|
|
80
|
+
The helper blocks until Antigravity finishes. Back it with whatever your orchestrator offers:
|
|
81
|
+
|
|
82
|
+
- **Claude Code:** run the Bash call with `run_in_background: true`; you're notified on completion,
|
|
83
|
+
then read `result.json`.
|
|
84
|
+
- **Plain shell / other agents:** foreground for short tasks, or background and poll. A run is done
|
|
85
|
+
when `result.json` exists with a `status`. A pre-run usage error exits with code 2 before writing any
|
|
86
|
+
file, so check the exit code too. A missing `agy` binary exits 127 and writes `result.json` with
|
|
87
|
+
`status: agy_unavailable`.
|
|
88
|
+
|
|
89
|
+
Trust the working tree and the process state over any progress display. A run is finished when the
|
|
90
|
+
process has exited and `result.json` is written.
|
|
91
|
+
|
|
92
|
+
## When a run misbehaves
|
|
93
|
+
|
|
94
|
+
- **`status: agy_unavailable` (exit 127):** `agy` is not on PATH. Install the Antigravity CLI and run
|
|
95
|
+
its first-launch setup, then re-dispatch.
|
|
96
|
+
- **`status: timeout`:** the relay watchdog killed the run. Inspect `error` to see whether the selected
|
|
97
|
+
limit was explicit `--timeout` or the derived `--print-timeout` plus 60s grace. The working tree may
|
|
98
|
+
hold a half-applied change — inspect it before changing that limit, reducing the brief, or resuming.
|
|
99
|
+
- **`status: aborted`:** the relay itself was killed (its parent's timeout, a stopped task, a
|
|
100
|
+
closed terminal) and forwarded the kill to agy. The result is written before the relay exits;
|
|
101
|
+
inspect the working tree before re-dispatching. On native Windows a hard kill of the relay is
|
|
102
|
+
uncatchable (Node supports no `SIGTERM` handler there), so this status may never get written -
|
|
103
|
+
a relay process that is gone without a `result.json` is an aborted run; inspect the working
|
|
104
|
+
tree and `events.jsonl` directly.
|
|
105
|
+
- **`status: failed` with `signal: "SIGKILL"`:** the host ended the child - commonly the OOM killer
|
|
106
|
+
or a supervisor timeout, not an implementer error. Free up host memory or split the task into
|
|
107
|
+
smaller briefs, then re-dispatch.
|
|
108
|
+
- **`status: failed`:** read `result.json`'s `stderrTail`, `stderrPath`, and `logPath` for the cause.
|
|
109
|
+
Common causes: auth lapse, an unknown model label, timeout, or a permission the run needed.
|
|
110
|
+
- **Headless write permission denied:** the relay detects Antigravity's `no output produced ...
|
|
111
|
+
auto-denied` stderr sentinel, reports `status: failed`, preserves `stderrTail`, and exits 1. Settings
|
|
112
|
+
allow-rules are not recommended here because they have not been demonstrated to apply in
|
|
113
|
+
`--print` mode. Ask the human before re-dispatching with `--dangerously-skip-permissions`; that flag
|
|
114
|
+
auto-approves every tool permission request and the run must be treated as full access.
|
|
115
|
+
- **Empty `finalMessage`:** a run with edits may still be correct - check `touchedFiles`, the diff, and
|
|
116
|
+
the preserved `stderrTail`. With no observable edits, the relay reports `status: failed` rather than
|
|
117
|
+
claiming completion. To get a report next time, add a `<structured_output_contract>` block (see
|
|
118
|
+
[writing-the-brief.md](writing-the-brief.md)).
|
|
119
|
+
|
|
120
|
+
## What the helper is doing
|
|
121
|
+
|
|
122
|
+
Under the hood the helper runs roughly:
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
agy --new-project --add-dir <repo> --print-timeout 30m --print=<brief>
|
|
126
|
+
agy --continue --print-timeout 30m --print=<delta brief>
|
|
127
|
+
agy --conversation <id> --print-timeout 30m --print=<delta brief>
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
`agy --print` requires the prompt as a flag argument, so keep briefs focused. The relay still accepts
|
|
131
|
+
stdin or `--brief <file>` for your convenience; it reads the text first, then passes it to `agy` as
|
|
132
|
+
`--print=<brief>` (the `=` form so a brief that begins with a bare flag like `--help` still runs).
|
|
133
|
+
Two consequences of the brief riding the command line: it is visible in the host process list (`ps`),
|
|
134
|
+
so on a shared machine keep secrets out of it; and a brief over ~120 KB is rejected up front (the OS
|
|
135
|
+
caps a single argument), so have `agy` read large context from the workspace instead of inlining it.
|
|
136
|
+
|
|
137
|
+
## The commit boundary
|
|
138
|
+
|
|
139
|
+
The helper never commits - by design, not omission. The robust contract is: Antigravity edits the
|
|
140
|
+
working tree, the orchestrator reviews and commits. See [review-and-land.md](review-and-land.md).
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Multi-task queues
|
|
2
|
+
|
|
3
|
+
The single-task loop scales to a queue, and that is where delegation pays off most - a removal split
|
|
4
|
+
across layers, a migration touching many files, a refactor sweep. The discipline that makes a queue
|
|
5
|
+
trustworthy is sequencing and bookkeeping, not parallelism.
|
|
6
|
+
|
|
7
|
+
## Run sequentially, one commit per task
|
|
8
|
+
|
|
9
|
+
Run tasks **one at a time, in dependency order**, landing each (review + gates + commit) before
|
|
10
|
+
dispatching the next. Three reasons:
|
|
11
|
+
|
|
12
|
+
- **Later tasks assume earlier ones landed.** Task 3's brief can say "the X added in the previous step
|
|
13
|
+
exists" only if the previous step actually committed.
|
|
14
|
+
- **One commit per task** keeps the history reviewable and any single step revertible.
|
|
15
|
+
- **Each review is honest.** A clean working tree before each dispatch means the next task's
|
|
16
|
+
`touchedFiles` shows only *its* changes.
|
|
17
|
+
|
|
18
|
+
Parallelism is occasionally worth it for genuinely independent tasks on separate files, but it
|
|
19
|
+
sacrifices the clean-tree-per-task property and makes review harder. Default to sequential.
|
|
20
|
+
|
|
21
|
+
## Carry decided constraints forward
|
|
22
|
+
|
|
23
|
+
Implementation surfaces facts the original plan did not have: a helper got named, a fixture lives in a
|
|
24
|
+
specific place, an interface was chosen. When a later task depends on one of those, fold it into that
|
|
25
|
+
task's brief as an explicit line. A fresh Antigravity conversation has no memory of the earlier run, so
|
|
26
|
+
a constraint that emerged in task 2 must be restated in task 5's brief or it will not hold.
|
|
27
|
+
|
|
28
|
+
## Keep a progress file
|
|
29
|
+
|
|
30
|
+
For anything longer than two or three tasks - especially a run the human steps away from - maintain a
|
|
31
|
+
single progress file alongside the work:
|
|
32
|
+
|
|
33
|
+
- **Status table** - each task: queued / at-implementer / reviewed+committed (with the commit hash).
|
|
34
|
+
- **Per-task review notes** - what landed, what you verified, the gate outcome.
|
|
35
|
+
- **Needs your eyes** - design decisions Antigravity made, non-blocking nitpicks, anything you want the
|
|
36
|
+
human to overrule or confirm.
|
|
37
|
+
- **End-of-run checklist** - what happens after the last task.
|
|
38
|
+
|
|
39
|
+
Update it as each task lands, not in a batch at the end.
|
|
40
|
+
|
|
41
|
+
## Close with a coherence check
|
|
42
|
+
|
|
43
|
+
Per-task review proves each step in isolation; it does not prove the steps cohere. After the last task,
|
|
44
|
+
verify the whole:
|
|
45
|
+
|
|
46
|
+
- Run the full test/build once more on the final tree.
|
|
47
|
+
- Do a repo-wide check for the thing the queue was about.
|
|
48
|
+
- For schema work, replay all the new migrations from a clean state and check for drift.
|
|
49
|
+
- Then push and open or update the PR, with a description that reflects what actually shipped.
|
|
50
|
+
|
|
51
|
+
## When to stop and ask
|
|
52
|
+
|
|
53
|
+
Proceed without asking on anything that follows from the agreed plan. Stop and surface when:
|
|
54
|
+
|
|
55
|
+
- A task cannot be completed correctly within its brief's scope.
|
|
56
|
+
- A review finds something that calls the *plan* into question, not just the implementation.
|
|
57
|
+
- The gates reveal a problem that affects tasks already done.
|
|
58
|
+
|
|
59
|
+
Then report where you are, what is committed, and what the open question is - and wait.
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# Review and land
|
|
2
|
+
|
|
3
|
+
Antigravity did the typing; you own the judgment. Verify against reality, never against the self-report
|
|
4
|
+
- and read the diff as generated code, which fails in ways a green gate cannot see.
|
|
5
|
+
|
|
6
|
+
## Check the tests before trusting the gates
|
|
7
|
+
|
|
8
|
+
If the diff touches existing tests, review those edits *first* - before the gate re-run means anything.
|
|
9
|
+
A weakened assertion, an added skip, or a deleted test makes the gate measure less than it did before
|
|
10
|
+
the run.
|
|
11
|
+
|
|
12
|
+
- **Unbriefed edits to existing tests are a contract change, not part of the fix.** Flag them, don't
|
|
13
|
+
absorb them.
|
|
14
|
+
- **Skipped, disabled, or commented-out tests added in this diff:** treat the underlying test as
|
|
15
|
+
failing until proven otherwise.
|
|
16
|
+
- **Loosened assertions** (exact match relaxed to contains/truthy, error-type checks broadened,
|
|
17
|
+
tolerance widened): same treatment.
|
|
18
|
+
|
|
19
|
+
## Re-run the gates yourself
|
|
20
|
+
|
|
21
|
+
`result.json` carries Antigravity's own claims. Treat them as claims, not evidence - re-run the
|
|
22
|
+
project's actual test/lint/build commands in the working tree and read the output. Passing is necessary,
|
|
23
|
+
not sufficient.
|
|
24
|
+
|
|
25
|
+
For changes with their own verification shape, go further:
|
|
26
|
+
|
|
27
|
+
- **Migrations / schema:** round-trip them and check for drift.
|
|
28
|
+
- **Removals / renames:** grep the codebase for dangling references.
|
|
29
|
+
- **Anything stateful:** exercise the actual behavior, don't just confirm it compiles.
|
|
30
|
+
|
|
31
|
+
## Read the diff against the brief
|
|
32
|
+
|
|
33
|
+
Open the diff (`touchedFiles` in the result is your starting list) and hold it against what you asked
|
|
34
|
+
for:
|
|
35
|
+
|
|
36
|
+
- **Scope creep** - did Antigravity change things the brief said to leave untouched?
|
|
37
|
+
- **Scope shortfall** - did it do the whole task, including edge cases and cleanup?
|
|
38
|
+
- **Quiet judgment calls** - did it make a defensible but unasked decision you need to understand?
|
|
39
|
+
|
|
40
|
+
## The implementer sweep
|
|
41
|
+
|
|
42
|
+
Generated code fails in systematic ways that gates are structurally blind to. Walk these against every
|
|
43
|
+
diff before you commit:
|
|
44
|
+
|
|
45
|
+
- **Hardcoded success or fixture data** on a path the brief says does real work.
|
|
46
|
+
- **Catch-all error handling that returns a default** instead of propagating or recovering explicitly.
|
|
47
|
+
- **Unverified imports and API calls** - confirm new dependencies, methods, and signatures exist in the
|
|
48
|
+
installed version.
|
|
49
|
+
- **Dead weight** - unused imports, helpers nothing calls, unreachable branches, scaffolding comments.
|
|
50
|
+
- **A second way to do what the file already does** - new client, error idiom, or logging style beside
|
|
51
|
+
an existing one.
|
|
52
|
+
- **New tests that assert internals** instead of behavior.
|
|
53
|
+
- **Near-duplicate test bodies** differing by one value.
|
|
54
|
+
- **Speculative surface** - optional parameters, config flags, or abstractions with no caller.
|
|
55
|
+
- **Guards for impossible cases** that bury validation that matters at real trust boundaries.
|
|
56
|
+
|
|
57
|
+
Anything the sweep catches goes back to Antigravity as a delta brief or gets fixed in the tree before
|
|
58
|
+
commit - and either way is reported to the user.
|
|
59
|
+
|
|
60
|
+
If the `guard-skills` package is installed, run the relevant guard on the diff for the full treatment.
|
|
61
|
+
|
|
62
|
+
## The commit boundary
|
|
63
|
+
|
|
64
|
+
When the gates pass and the diff holds, **you commit** - the orchestrator, never the implementer. Write
|
|
65
|
+
a clear message describing what landed. If your project attributes co-authorship, that is the place for
|
|
66
|
+
it.
|
|
67
|
+
|
|
68
|
+
From dispatch until that commit, the uncommitted working tree is the authoritative copy of the
|
|
69
|
+
implementer's work — the only one you can commit from, and often the only copy at all. Never run `git checkout`, `reset`, `clean`, or a branch switch in the
|
|
70
|
+
workspace between those two points — however messy an interrupted run looks, inspect it first:
|
|
71
|
+
`git status`, `git diff`, `git diff --cached` for anything the implementer staged (plain
|
|
72
|
+
`git diff` is blind to the index), and open any untracked files (`??` in `git status`) directly —
|
|
73
|
+
they are the implementer's new files, and no diff shows their contents. The tree is evidence,
|
|
74
|
+
not clutter. After that inspection the
|
|
75
|
+
verdict can legitimately be to discard — work built on a premise you have since corrected, for
|
|
76
|
+
example — and then `git checkout`/`clean` is the right tool. The ban is on reflexive cleanup
|
|
77
|
+
before anyone has looked.
|
|
78
|
+
|
|
79
|
+
## Reworking: send the delta, not the whole task
|
|
80
|
+
|
|
81
|
+
If the review turns up problems, don't restate the entire brief. Continue the same Antigravity
|
|
82
|
+
conversation with just the correction:
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
echo "The fix is right, but the test mocks the DB session - use the real migrated fixture instead, and
|
|
86
|
+
drop the now-unused import." | node "<skill-dir>/scripts/relay.mjs" --resume-last --cd /path/to/repo
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
`--resume-last` keeps Antigravity's conversation context from the first run, so a short delta is enough.
|
|
90
|
+
Then review again - rework gets the same gate-rerun, test check, diff-read, and sweep as the original,
|
|
91
|
+
no shortcuts.
|
|
92
|
+
|
|
93
|
+
## Surface, don't absorb
|
|
94
|
+
|
|
95
|
+
The human opted into delegation, so committing verified, gate-passing work is the agreed contract. But
|
|
96
|
+
keep them in the loop on anything that changes the shape of the work:
|
|
97
|
+
|
|
98
|
+
- **Report design decisions** Antigravity made, and any defensible-but-unrequested turns it took.
|
|
99
|
+
- **Note non-blocking nitpicks** you chose not to block on, so the human can overrule you.
|
|
100
|
+
- **Stop and ask** if correct completion requires going beyond the brief.
|
|
101
|
+
|
|
102
|
+
For a multi-task run, capture these in the progress file rather than letting them scroll past - see
|
|
103
|
+
[multi-task-queues.md](multi-task-queues.md).
|