bigpowers 2.87.4 → 2.87.5
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/.cursor/rules/align-grid.mdc +109 -0
- package/.cursor/rules/assess-impact.mdc +90 -0
- package/.cursor/rules/audit-code.mdc +183 -0
- package/.cursor/rules/audit-plan.mdc +88 -0
- package/.cursor/rules/build-epic.mdc +104 -0
- package/.cursor/rules/change-request.mdc +120 -0
- package/.cursor/rules/commit-message.mdc +139 -0
- package/.cursor/rules/compose-workflow.mdc +81 -0
- package/.cursor/rules/context7-mcp.mdc +54 -0
- package/.cursor/rules/craft-skill.mdc +195 -0
- package/.cursor/rules/deepen-architecture.mdc +259 -0
- package/.cursor/rules/define-language.mdc +79 -0
- package/.cursor/rules/define-success.mdc +11 -0
- package/.cursor/rules/delegate-task.mdc +90 -0
- package/.cursor/rules/deploy.mdc +197 -0
- package/.cursor/rules/design-interface.mdc +96 -0
- package/.cursor/rules/develop-tdd.mdc +415 -0
- package/.cursor/rules/diagnose-root.mdc +23 -0
- package/.cursor/rules/diagnose-stall.mdc +53 -0
- package/.cursor/rules/dispatch-agents.mdc +117 -0
- package/.cursor/rules/edit-document.mdc +22 -0
- package/.cursor/rules/elaborate-spec.mdc +100 -0
- package/.cursor/rules/enforce-first.mdc +44 -0
- package/.cursor/rules/evolve-skill.mdc +54 -0
- package/.cursor/rules/execute-plan.mdc +60 -0
- package/.cursor/rules/extract-design.mdc +131 -0
- package/.cursor/rules/find-way.mdc +190 -0
- package/.cursor/rules/fix-bug.mdc +66 -0
- package/.cursor/rules/gate-trace.mdc +91 -0
- package/.cursor/rules/generate-allure-report.mdc +284 -0
- package/.cursor/rules/grill-me.mdc +107 -0
- package/.cursor/rules/grill-with-docs.mdc +52 -0
- package/.cursor/rules/guard-git.mdc +230 -0
- package/.cursor/rules/harden-vps.mdc +290 -0
- package/.cursor/rules/hook-commits.mdc +93 -0
- package/.cursor/rules/inspect-quality.mdc +105 -0
- package/.cursor/rules/investigate-bug.mdc +126 -0
- package/.cursor/rules/kickoff-branch.mdc +142 -0
- package/.cursor/rules/maintain-wiki.mdc +63 -0
- package/.cursor/rules/map-codebase.mdc +70 -0
- package/.cursor/rules/migrate-spec.mdc +907 -0
- package/.cursor/rules/model-domain.mdc +231 -0
- package/.cursor/rules/orchestrate-project.mdc +173 -0
- package/.cursor/rules/organize-workspace.mdc +163 -0
- package/.cursor/rules/plan-refactor.mdc +86 -0
- package/.cursor/rules/plan-release.mdc +144 -0
- package/.cursor/rules/plan-tests.mdc +74 -0
- package/.cursor/rules/plan-work.mdc +271 -0
- package/.cursor/rules/publish-package.mdc +337 -0
- package/.cursor/rules/quick-fix.mdc +113 -0
- package/.cursor/rules/release-branch.mdc +301 -0
- package/.cursor/rules/request-review.mdc +112 -0
- package/.cursor/rules/research-first.mdc +86 -0
- package/.cursor/rules/reset-baseline.mdc +20 -0
- package/.cursor/rules/respond-review.mdc +70 -0
- package/.cursor/rules/run-benchmark.mdc +84 -0
- package/.cursor/rules/run-evals.mdc +79 -0
- package/.cursor/rules/run-planning.mdc +100 -0
- package/.cursor/rules/scope-work.mdc +62 -0
- package/.cursor/rules/search-skills.mdc +72 -0
- package/.cursor/rules/security-review.mdc +383 -0
- package/.cursor/rules/seed-conventions.mdc +311 -0
- package/.cursor/rules/session-state.mdc +145 -0
- package/.cursor/rules/setup-environment.mdc +38 -0
- package/.cursor/rules/simple-english.mdc +345 -0
- package/.cursor/rules/simulate-agents.mdc +25 -0
- package/.cursor/rules/slice-tasks.mdc +67 -0
- package/.cursor/rules/smoke-test.mdc +260 -0
- package/.cursor/rules/spike-prototype.mdc +94 -0
- package/.cursor/rules/stocktake-skills.mdc +73 -0
- package/.cursor/rules/survey-context.mdc +134 -0
- package/.cursor/rules/terse-mode.mdc +41 -0
- package/.cursor/rules/trace-requirement.mdc +68 -0
- package/.cursor/rules/using-bigpowers.mdc +110 -0
- package/.cursor/rules/validate-contracts.mdc +285 -0
- package/.cursor/rules/validate-fix.mdc +146 -0
- package/.cursor/rules/verify-work.mdc +190 -0
- package/.cursor/rules/visual-dashboard.mdc +49 -0
- package/.cursor/rules/wire-ci.mdc +380 -0
- package/.cursor/rules/wire-observability.mdc +96 -0
- package/.cursor/rules/write-document.mdc +280 -0
- package/.gemini/extensions/bigpowers/commands/prompts/align-grid.md +109 -0
- package/.gemini/extensions/bigpowers/commands/prompts/assess-impact.md +90 -0
- package/.gemini/extensions/bigpowers/commands/prompts/audit-code.md +183 -0
- package/.gemini/extensions/bigpowers/commands/prompts/audit-plan.md +88 -0
- package/.gemini/extensions/bigpowers/commands/prompts/build-epic.md +104 -0
- package/.gemini/extensions/bigpowers/commands/prompts/change-request.md +120 -0
- package/.gemini/extensions/bigpowers/commands/prompts/commit-message.md +139 -0
- package/.gemini/extensions/bigpowers/commands/prompts/compose-workflow.md +81 -0
- package/.gemini/extensions/bigpowers/commands/prompts/context7-mcp.md +54 -0
- package/.gemini/extensions/bigpowers/commands/prompts/craft-skill.md +195 -0
- package/.gemini/extensions/bigpowers/commands/prompts/deepen-architecture.md +259 -0
- package/.gemini/extensions/bigpowers/commands/prompts/define-language.md +79 -0
- package/.gemini/extensions/bigpowers/commands/prompts/define-success.md +11 -0
- package/.gemini/extensions/bigpowers/commands/prompts/delegate-task.md +90 -0
- package/.gemini/extensions/bigpowers/commands/prompts/deploy.md +197 -0
- package/.gemini/extensions/bigpowers/commands/prompts/design-interface.md +96 -0
- package/.gemini/extensions/bigpowers/commands/prompts/develop-tdd.md +415 -0
- package/.gemini/extensions/bigpowers/commands/prompts/diagnose-root.md +23 -0
- package/.gemini/extensions/bigpowers/commands/prompts/diagnose-stall.md +53 -0
- package/.gemini/extensions/bigpowers/commands/prompts/dispatch-agents.md +117 -0
- package/.gemini/extensions/bigpowers/commands/prompts/edit-document.md +22 -0
- package/.gemini/extensions/bigpowers/commands/prompts/elaborate-spec.md +100 -0
- package/.gemini/extensions/bigpowers/commands/prompts/enforce-first.md +44 -0
- package/.gemini/extensions/bigpowers/commands/prompts/evolve-skill.md +54 -0
- package/.gemini/extensions/bigpowers/commands/prompts/execute-plan.md +60 -0
- package/.gemini/extensions/bigpowers/commands/prompts/extract-design.md +131 -0
- package/.gemini/extensions/bigpowers/commands/prompts/find-way.md +190 -0
- package/.gemini/extensions/bigpowers/commands/prompts/fix-bug.md +66 -0
- package/.gemini/extensions/bigpowers/commands/prompts/gate-trace.md +91 -0
- package/.gemini/extensions/bigpowers/commands/prompts/generate-allure-report.md +284 -0
- package/.gemini/extensions/bigpowers/commands/prompts/grill-me.md +107 -0
- package/.gemini/extensions/bigpowers/commands/prompts/grill-with-docs.md +52 -0
- package/.gemini/extensions/bigpowers/commands/prompts/guard-git.md +230 -0
- package/.gemini/extensions/bigpowers/commands/prompts/harden-vps.md +290 -0
- package/.gemini/extensions/bigpowers/commands/prompts/hook-commits.md +93 -0
- package/.gemini/extensions/bigpowers/commands/prompts/inspect-quality.md +105 -0
- package/.gemini/extensions/bigpowers/commands/prompts/investigate-bug.md +126 -0
- package/.gemini/extensions/bigpowers/commands/prompts/kickoff-branch.md +142 -0
- package/.gemini/extensions/bigpowers/commands/prompts/maintain-wiki.md +63 -0
- package/.gemini/extensions/bigpowers/commands/prompts/map-codebase.md +70 -0
- package/.gemini/extensions/bigpowers/commands/prompts/migrate-spec.md +907 -0
- package/.gemini/extensions/bigpowers/commands/prompts/model-domain.md +231 -0
- package/.gemini/extensions/bigpowers/commands/prompts/orchestrate-project.md +173 -0
- package/.gemini/extensions/bigpowers/commands/prompts/organize-workspace.md +163 -0
- package/.gemini/extensions/bigpowers/commands/prompts/plan-refactor.md +86 -0
- package/.gemini/extensions/bigpowers/commands/prompts/plan-release.md +144 -0
- package/.gemini/extensions/bigpowers/commands/prompts/plan-tests.md +74 -0
- package/.gemini/extensions/bigpowers/commands/prompts/plan-work.md +271 -0
- package/.gemini/extensions/bigpowers/commands/prompts/publish-package.md +337 -0
- package/.gemini/extensions/bigpowers/commands/prompts/quick-fix.md +113 -0
- package/.gemini/extensions/bigpowers/commands/prompts/release-branch.md +301 -0
- package/.gemini/extensions/bigpowers/commands/prompts/request-review.md +112 -0
- package/.gemini/extensions/bigpowers/commands/prompts/research-first.md +86 -0
- package/.gemini/extensions/bigpowers/commands/prompts/reset-baseline.md +20 -0
- package/.gemini/extensions/bigpowers/commands/prompts/respond-review.md +70 -0
- package/.gemini/extensions/bigpowers/commands/prompts/run-benchmark.md +84 -0
- package/.gemini/extensions/bigpowers/commands/prompts/run-evals.md +79 -0
- package/.gemini/extensions/bigpowers/commands/prompts/run-planning.md +100 -0
- package/.gemini/extensions/bigpowers/commands/prompts/scope-work.md +62 -0
- package/.gemini/extensions/bigpowers/commands/prompts/search-skills.md +72 -0
- package/.gemini/extensions/bigpowers/commands/prompts/security-review.md +383 -0
- package/.gemini/extensions/bigpowers/commands/prompts/seed-conventions.md +311 -0
- package/.gemini/extensions/bigpowers/commands/prompts/session-state.md +145 -0
- package/.gemini/extensions/bigpowers/commands/prompts/setup-environment.md +38 -0
- package/.gemini/extensions/bigpowers/commands/prompts/simple-english.md +345 -0
- package/.gemini/extensions/bigpowers/commands/prompts/simulate-agents.md +25 -0
- package/.gemini/extensions/bigpowers/commands/prompts/slice-tasks.md +67 -0
- package/.gemini/extensions/bigpowers/commands/prompts/smoke-test.md +260 -0
- package/.gemini/extensions/bigpowers/commands/prompts/spike-prototype.md +94 -0
- package/.gemini/extensions/bigpowers/commands/prompts/stocktake-skills.md +73 -0
- package/.gemini/extensions/bigpowers/commands/prompts/survey-context.md +134 -0
- package/.gemini/extensions/bigpowers/commands/prompts/terse-mode.md +41 -0
- package/.gemini/extensions/bigpowers/commands/prompts/trace-requirement.md +68 -0
- package/.gemini/extensions/bigpowers/commands/prompts/using-bigpowers.md +110 -0
- package/.gemini/extensions/bigpowers/commands/prompts/validate-contracts.md +285 -0
- package/.gemini/extensions/bigpowers/commands/prompts/validate-fix.md +146 -0
- package/.gemini/extensions/bigpowers/commands/prompts/verify-work.md +190 -0
- package/.gemini/extensions/bigpowers/commands/prompts/visual-dashboard.md +49 -0
- package/.gemini/extensions/bigpowers/commands/prompts/wire-ci.md +380 -0
- package/.gemini/extensions/bigpowers/commands/prompts/wire-observability.md +96 -0
- package/.gemini/extensions/bigpowers/commands/prompts/write-document.md +280 -0
- package/.gemini/extensions/bigpowers/gemini-extension.json +16 -0
- package/.gemini/extensions/bigpowers/hooks/HOOKS.md +43 -0
- package/.gemini/extensions/bigpowers/hooks/before-tool-git-guard.sh +26 -0
- package/.gemini/extensions/bigpowers/hooks/before-tool-rtk.sh +14 -0
- package/.gemini/extensions/bigpowers/hooks/before-tool-token-mgmt.sh +19 -0
- package/.gemini/extensions/bigpowers/hooks/hooks-manifest.json +36 -0
- package/.gemini/extensions/bigpowers/hooks/run-hook.cmd +29 -0
- package/.gemini/extensions/bigpowers/hooks/session-start +48 -0
- package/.gemini/extensions/bigpowers/hooks/settings.json.example +41 -0
- package/.gemini/extensions/bigpowers/skills/align-grid/SKILL.md +111 -0
- package/.gemini/extensions/bigpowers/skills/assess-impact/SKILL.md +92 -0
- package/.gemini/extensions/bigpowers/skills/audit-code/SKILL.md +185 -0
- package/.gemini/extensions/bigpowers/skills/audit-plan/SKILL.md +90 -0
- package/.gemini/extensions/bigpowers/skills/build-epic/SKILL.md +106 -0
- package/.gemini/extensions/bigpowers/skills/change-request/SKILL.md +122 -0
- package/.gemini/extensions/bigpowers/skills/commit-message/SKILL.md +141 -0
- package/.gemini/extensions/bigpowers/skills/compose-workflow/SKILL.md +83 -0
- package/.gemini/extensions/bigpowers/skills/context7-mcp/SKILL.md +56 -0
- package/.gemini/extensions/bigpowers/skills/craft-skill/SKILL.md +197 -0
- package/.gemini/extensions/bigpowers/skills/deepen-architecture/SKILL.md +261 -0
- package/.gemini/extensions/bigpowers/skills/define-language/SKILL.md +81 -0
- package/.gemini/extensions/bigpowers/skills/define-success/SKILL.md +13 -0
- package/.gemini/extensions/bigpowers/skills/delegate-task/SKILL.md +92 -0
- package/.gemini/extensions/bigpowers/skills/deploy/SKILL.md +199 -0
- package/.gemini/extensions/bigpowers/skills/design-interface/SKILL.md +98 -0
- package/.gemini/extensions/bigpowers/skills/develop-tdd/SKILL.md +417 -0
- package/.gemini/extensions/bigpowers/skills/diagnose-root/SKILL.md +25 -0
- package/.gemini/extensions/bigpowers/skills/diagnose-stall/SKILL.md +55 -0
- package/.gemini/extensions/bigpowers/skills/dispatch-agents/SKILL.md +119 -0
- package/.gemini/extensions/bigpowers/skills/edit-document/SKILL.md +24 -0
- package/.gemini/extensions/bigpowers/skills/elaborate-spec/SKILL.md +102 -0
- package/.gemini/extensions/bigpowers/skills/enforce-first/SKILL.md +46 -0
- package/.gemini/extensions/bigpowers/skills/evolve-skill/SKILL.md +56 -0
- package/.gemini/extensions/bigpowers/skills/execute-plan/SKILL.md +62 -0
- package/.gemini/extensions/bigpowers/skills/extract-design/SKILL.md +133 -0
- package/.gemini/extensions/bigpowers/skills/find-way/SKILL.md +192 -0
- package/.gemini/extensions/bigpowers/skills/fix-bug/SKILL.md +68 -0
- package/.gemini/extensions/bigpowers/skills/gate-trace/SKILL.md +93 -0
- package/.gemini/extensions/bigpowers/skills/generate-allure-report/SKILL.md +286 -0
- package/.gemini/extensions/bigpowers/skills/grill-me/SKILL.md +109 -0
- package/.gemini/extensions/bigpowers/skills/grill-with-docs/SKILL.md +54 -0
- package/.gemini/extensions/bigpowers/skills/guard-git/SKILL.md +232 -0
- package/.gemini/extensions/bigpowers/skills/harden-vps/SKILL.md +292 -0
- package/.gemini/extensions/bigpowers/skills/hook-commits/SKILL.md +95 -0
- package/.gemini/extensions/bigpowers/skills/inspect-quality/SKILL.md +107 -0
- package/.gemini/extensions/bigpowers/skills/investigate-bug/SKILL.md +128 -0
- package/.gemini/extensions/bigpowers/skills/kickoff-branch/SKILL.md +144 -0
- package/.gemini/extensions/bigpowers/skills/maintain-wiki/SKILL.md +65 -0
- package/.gemini/extensions/bigpowers/skills/map-codebase/SKILL.md +72 -0
- package/.gemini/extensions/bigpowers/skills/migrate-spec/SKILL.md +909 -0
- package/.gemini/extensions/bigpowers/skills/model-domain/SKILL.md +233 -0
- package/.gemini/extensions/bigpowers/skills/orchestrate-project/SKILL.md +175 -0
- package/.gemini/extensions/bigpowers/skills/organize-workspace/SKILL.md +165 -0
- package/.gemini/extensions/bigpowers/skills/plan-refactor/SKILL.md +88 -0
- package/.gemini/extensions/bigpowers/skills/plan-release/SKILL.md +146 -0
- package/.gemini/extensions/bigpowers/skills/plan-tests/SKILL.md +76 -0
- package/.gemini/extensions/bigpowers/skills/plan-work/SKILL.md +273 -0
- package/.gemini/extensions/bigpowers/skills/publish-package/SKILL.md +339 -0
- package/.gemini/extensions/bigpowers/skills/quick-fix/SKILL.md +115 -0
- package/.gemini/extensions/bigpowers/skills/release-branch/SKILL.md +303 -0
- package/.gemini/extensions/bigpowers/skills/request-review/SKILL.md +114 -0
- package/.gemini/extensions/bigpowers/skills/research-first/SKILL.md +88 -0
- package/.gemini/extensions/bigpowers/skills/reset-baseline/SKILL.md +22 -0
- package/.gemini/extensions/bigpowers/skills/respond-review/SKILL.md +72 -0
- package/.gemini/extensions/bigpowers/skills/run-benchmark/SKILL.md +86 -0
- package/.gemini/extensions/bigpowers/skills/run-evals/SKILL.md +81 -0
- package/.gemini/extensions/bigpowers/skills/run-planning/SKILL.md +102 -0
- package/.gemini/extensions/bigpowers/skills/scope-work/SKILL.md +64 -0
- package/.gemini/extensions/bigpowers/skills/search-skills/SKILL.md +74 -0
- package/.gemini/extensions/bigpowers/skills/security-review/SKILL.md +385 -0
- package/.gemini/extensions/bigpowers/skills/seed-conventions/SKILL.md +313 -0
- package/.gemini/extensions/bigpowers/skills/session-state/SKILL.md +147 -0
- package/.gemini/extensions/bigpowers/skills/setup-environment/SKILL.md +40 -0
- package/.gemini/extensions/bigpowers/skills/simple-english/SKILL.md +347 -0
- package/.gemini/extensions/bigpowers/skills/simulate-agents/SKILL.md +27 -0
- package/.gemini/extensions/bigpowers/skills/slice-tasks/SKILL.md +69 -0
- package/.gemini/extensions/bigpowers/skills/smoke-test/SKILL.md +262 -0
- package/.gemini/extensions/bigpowers/skills/spike-prototype/SKILL.md +96 -0
- package/.gemini/extensions/bigpowers/skills/stocktake-skills/SKILL.md +75 -0
- package/.gemini/extensions/bigpowers/skills/survey-context/SKILL.md +136 -0
- package/.gemini/extensions/bigpowers/skills/terse-mode/SKILL.md +43 -0
- package/.gemini/extensions/bigpowers/skills/trace-requirement/SKILL.md +70 -0
- package/.gemini/extensions/bigpowers/skills/using-bigpowers/SKILL.md +112 -0
- package/.gemini/extensions/bigpowers/skills/validate-contracts/SKILL.md +287 -0
- package/.gemini/extensions/bigpowers/skills/validate-fix/SKILL.md +148 -0
- package/.gemini/extensions/bigpowers/skills/verify-work/SKILL.md +192 -0
- package/.gemini/extensions/bigpowers/skills/visual-dashboard/SKILL.md +51 -0
- package/.gemini/extensions/bigpowers/skills/wire-ci/SKILL.md +382 -0
- package/.gemini/extensions/bigpowers/skills/wire-observability/SKILL.md +98 -0
- package/.gemini/extensions/bigpowers/skills/write-document/SKILL.md +282 -0
- package/.pi/package.json +1 -1
- package/CHANGELOG.md +7 -0
- package/package.json +1 -1
- package/scripts/lib/__pycache__/link_utils.cpython-312.pyc +0 -0
- package/scripts/lib/__pycache__/srp_engine_links.cpython-312.pyc +0 -0
- package/scripts/test-install-helpers.js +31 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: define-success
|
|
3
|
+
description: "TOMBSTONE — renamed/merged to plan-work. This stub resolves for one release then is removed."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# define-success (tombstoned)
|
|
7
|
+
|
|
8
|
+
This skill has been renamed or merged into `plan-work`. Use `plan-work` instead.
|
|
9
|
+
|
|
10
|
+
This stub exists for one release as a transition aid, then is removed once
|
|
11
|
+
`scripts/validate-tombstones.sh` flags it as expired.
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: delegate-task
|
|
3
|
+
description: "Delegate one complex task to a single subagent, review its work in two stages before merging back. Sequential — one agent at a time, with oversight. Use when a task is complex and requires careful review before the result is accepted. Distinct from dispatch-agents (no parallelism here; reviewer sees full diff before proceeding)."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# story: e45s30
|
|
7
|
+
|
|
8
|
+
# Delegate Task
|
|
9
|
+
> **HARD GATE** — **HARD GATE** — Delegated work must have clear success criteria and verification commands. The delegate must be able to verify completion independently.
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
Delegate a single complex task to a subagent with a two-stage review gate before accepting the result. Use when oversight of a single task matters more than speed.
|
|
13
|
+
|
|
14
|
+
**Distinct from `dispatch-agents`:** This skill runs one subagent sequentially with a mandatory review. `dispatch-agents` runs multiple subagents in parallel without inter-task review gates.
|
|
15
|
+
|
|
16
|
+
## Subagent depth tiers (e45s30)
|
|
17
|
+
|
|
18
|
+
Select brief depth from task `risk:` and skill `effort:` before spawning:
|
|
19
|
+
|
|
20
|
+
| Tier | When | Brief includes |
|
|
21
|
+
|------|------|----------------|
|
|
22
|
+
| `full_maturity` | P0 stories, multi-file refactors, security work | Full template + CONVENTIONS excerpts + threat model if present |
|
|
23
|
+
| `standard` | Default implementation tasks | Goal, scope, out-of-bounds, constraints, verify, prior decisions |
|
|
24
|
+
| `minimal_decisive` | Light probes, read-only audits | Goal, verify, explicit file list (≤15 lines total) |
|
|
25
|
+
|
|
26
|
+
State `depth: <tier>` in the Agent tool description field.
|
|
27
|
+
|
|
28
|
+
## Process
|
|
29
|
+
|
|
30
|
+
### 1. Define the task
|
|
31
|
+
|
|
32
|
+
Before spawning the agent, read `specs/state.yaml` if it exists. Then write a minimal self-contained brief using this template (brief size directly controls token cost and hallucination risk — do not pad):
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
Goal: [one sentence — specific, measurable outcome]
|
|
36
|
+
In scope: [explicit file or module list]
|
|
37
|
+
Out of bounds: [what NOT to do]
|
|
38
|
+
Constraints: [relevant CONVENTIONS.md rules, existing patterns, test requirements]
|
|
39
|
+
Verify: [runnable command]
|
|
40
|
+
Prior decisions: [relevant entries from specs/state.yaml — omit section if none apply]
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Do not include full file contents, full conversation history, or decisions unrelated to this task.
|
|
44
|
+
|
|
45
|
+
### 2. Spawn the subagent (iterative retrieval, max 3 cycles)
|
|
46
|
+
|
|
47
|
+
Use the Agent tool with a **fresh context** per spawn. Pass prior decisions only via `specs/state.yaml`.
|
|
48
|
+
|
|
49
|
+
**Cycle:** dispatch → evaluate output vs goal → refine brief → re-spawn if needed (max 3 cycles).
|
|
50
|
+
|
|
51
|
+
Include in each brief:
|
|
52
|
+
- All context the agent needs (it starts cold — no shared state)
|
|
53
|
+
- Reference to CONVENTIONS.md constraints
|
|
54
|
+
- The verify command it must run before reporting done
|
|
55
|
+
|
|
56
|
+
### 3. Stage 1 review — output inspection
|
|
57
|
+
|
|
58
|
+
When the subagent returns, review its report before looking at the diff:
|
|
59
|
+
- Did it run the verify command? Did it pass?
|
|
60
|
+
- Does it explain what it changed and why?
|
|
61
|
+
- Are there any concerns raised by the agent?
|
|
62
|
+
|
|
63
|
+
If the report raises red flags, ask the subagent for clarification or re-run with adjusted instructions.
|
|
64
|
+
|
|
65
|
+
### 4. Stage 2 review — diff inspection
|
|
66
|
+
|
|
67
|
+
Inspect the actual diff:
|
|
68
|
+
```bash
|
|
69
|
+
git diff main...HEAD
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Check:
|
|
73
|
+
- [ ] Changes are scoped to what was asked — nothing extra
|
|
74
|
+
- [ ] No `any`, no `@ts-ignore`, no disabled lint rules
|
|
75
|
+
- [ ] Tests added for new behavior
|
|
76
|
+
- [ ] CONVENTIONS.md compliance (naming, structure, no gh issue creation)
|
|
77
|
+
- [ ] Boy Scout Rule: touched areas are cleaner than before
|
|
78
|
+
|
|
79
|
+
### 5. Decision
|
|
80
|
+
|
|
81
|
+
- **Accept**: merge the result into the main working branch
|
|
82
|
+
- **Revise**: send back to the subagent with specific feedback
|
|
83
|
+
- **Reject**: discard and re-approach differently
|
|
84
|
+
|
|
85
|
+
**After accepting**, append to `specs/state.yaml` under `## Active Decisions`:
|
|
86
|
+
```
|
|
87
|
+
**[task short name]**: [what approach the agent chose and why — one sentence]
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
Report the decision and rationale to the user.
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: deploy
|
|
3
|
+
description: "Build → verify artifact → deploy → wait → smoke deployment pipeline. Platform-agnostic (MCP or CLI), with configurable timeout, retry with exponential backoff, and integrated health-check. The deploy half of CI/CD: run after build to push to production."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Deploy
|
|
7
|
+
|
|
8
|
+
> **HARD GATE** — Do not deploy without running tests first. Run `test` or your CI suite before this skill.
|
|
9
|
+
>
|
|
10
|
+
> **HARD GATE** — Use this skill from a CI/CD pipeline or post-merge on `main`/`master`. Never deploy from a feature branch.
|
|
11
|
+
>
|
|
12
|
+
> **HARD GATE** — The deploy skill orchestrates deployment; the `smoke-test` skill validates post-deploy health. Chain them: `deploy → smoke-test`.
|
|
13
|
+
|
|
14
|
+
Orchestrate a full build-to-deployment pipeline: build the artifact, verify it exists and is non-empty, invoke a platform deploy tool (MCP or CLI), poll until the deploy completes or times out, then run a baseline smoke test against the live URL.
|
|
15
|
+
|
|
16
|
+
## Pipeline Stages
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
build → verify artifact → deploy → wait/retry → smoke
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
| Stage | Description | Failure mode |
|
|
23
|
+
|-------|-------------|-------------|
|
|
24
|
+
| Build | Execute the project's build command | Non-zero exit: report build error |
|
|
25
|
+
| Verify | Check artifact exists and is non-empty | Missing/empty: report artifact path |
|
|
26
|
+
| Deploy | Invoke platform deploy tool (MCP, Vercel CLI, rsync, etc.) | Non-zero exit: report deploy error |
|
|
27
|
+
| Wait | Poll deploy status every 30s up to `DEPLOY_TIMEOUT` (default 5 min) | Timeout: report exceeded |
|
|
28
|
+
| Smoke | `curl -sSf $DEPLOY_URL` as baseline health check | Non-200: report failure |
|
|
29
|
+
|
|
30
|
+
## Process
|
|
31
|
+
|
|
32
|
+
### 1. Detect build command
|
|
33
|
+
|
|
34
|
+
Read project manifest files in order to determine the build command:
|
|
35
|
+
|
|
36
|
+
| Manifest | Build command |
|
|
37
|
+
|----------|--------------|
|
|
38
|
+
| `package.json` | `npm run build` (or `scripts.build` value) |
|
|
39
|
+
| `Cargo.toml` | `cargo build --release` |
|
|
40
|
+
| `pyproject.toml` / `setup.py` | Depends on build backend (`poetry build`, `pip install -e .`, etc.) |
|
|
41
|
+
| `Makefile` | `make build` or first target named `build` |
|
|
42
|
+
| `AGENTS.md` / `CLAUDE.md` | Look for `build:` in project commands section |
|
|
43
|
+
|
|
44
|
+
If no manifest is found, prompt the user with: "No detected build command. Pass `--build 'npm run build'` or specify the command."
|
|
45
|
+
|
|
46
|
+
### 2. Build the artifact
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
npm run build
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Or the detected command from step 1. If the build fails, exit non-zero and report the build output.
|
|
53
|
+
|
|
54
|
+
### 3. Verify the artifact
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
ARTIFACT_DIR="${ARTIFACT_DIR:-dist}"
|
|
58
|
+
if [ ! -d "$ARTIFACT_DIR" ] || [ -z "$(ls -A "$ARTIFACT_DIR" 2>/dev/null)" ]; then
|
|
59
|
+
echo "FAIL: build artifact not found at $ARTIFACT_DIR"
|
|
60
|
+
exit 1
|
|
61
|
+
fi
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Configurable via `$ARTIFACT_DIR` environment variable (default: `dist/`).
|
|
65
|
+
|
|
66
|
+
### 4. Deploy to platform
|
|
67
|
+
|
|
68
|
+
Platform-agnostic — supports multiple deployment targets via environment variables:
|
|
69
|
+
|
|
70
|
+
| Platform | Env var | Example |
|
|
71
|
+
|----------|---------|---------|
|
|
72
|
+
| Vercel | `VERCEL_TOKEN`, `VERCEL_PROJECT_ID` | `vercel deploy --prod --token $VERCEL_TOKEN` |
|
|
73
|
+
| Netlify | `NETLIFY_AUTH_TOKEN`, `NETLIFY_SITE_ID` | `netlify deploy --prod --auth $NETLIFY_AUTH_TOKEN --dir $ARTIFACT_DIR` |
|
|
74
|
+
| Platform MCP | MCP tool call | `mcp deploy` via your platform MCP server |
|
|
75
|
+
| rsync/SSH | `DEPLOY_SSH_USER`, `DEPLOY_SSH_HOST`, `DEPLOY_SSH_PATH` | `rsync -avz $ARTIFACT_DIR/ $DEPLOY_SSH_USER@$DEPLOY_SSH_HOST:$DEPLOY_SSH_PATH` |
|
|
76
|
+
| Custom | `DEPLOY_COMMAND` | Run any deploy command string |
|
|
77
|
+
|
|
78
|
+
The deploy tool is selected by which environment variables are set. If none are configured:
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
echo "No deploy target configured. Set one of: VERCEL_TOKEN, NETLIFY_AUTH_TOKEN, DEPLOY_SSH_USER+DEPLOY_SSH_HOST, DEPLOY_COMMAND, or MCP deploy tool."
|
|
82
|
+
exit 1
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### 5. Wait and poll status
|
|
86
|
+
|
|
87
|
+
After invoking the deploy command, poll for completion:
|
|
88
|
+
|
|
89
|
+
See [REFERENCE.md](REFERENCE.md)
|
|
90
|
+
|
|
91
|
+
Use exponential backoff for retries on transient failures:
|
|
92
|
+
|
|
93
|
+
See [REFERENCE.md](REFERENCE.md)
|
|
94
|
+
|
|
95
|
+
### 6. Baseline smoke test
|
|
96
|
+
|
|
97
|
+
See [REFERENCE.md](REFERENCE.md)
|
|
98
|
+
|
|
99
|
+
For comprehensive health-checking, chain to the `smoke-test` skill:
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
# After deploy success
|
|
103
|
+
bash scripts/run-smoke.sh "$DEPLOY_URL"
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### 7. Three-independent-facts verification (e45s15)
|
|
107
|
+
|
|
108
|
+
Before declaring deploy success, verify **three independent facts** — build artifact, platform accept, live/registry reachability. See [REFERENCE.md](REFERENCE.md#three-independent-facts).
|
|
109
|
+
|
|
110
|
+
## Verify
|
|
111
|
+
|
|
112
|
+
→ verify: `command -v curl >/dev/null 2>&1 && test -f skills/smoke-test/SKILL.md`
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
# Deploy — Reference
|
|
117
|
+
|
|
118
|
+
## Configuration
|
|
119
|
+
|
|
120
|
+
| Variable | Default | Description |
|
|
121
|
+
|----------|---------|-------------|
|
|
122
|
+
| `ARTIFACT_DIR` | `dist` | Build output directory |
|
|
123
|
+
| `DEPLOY_URL` | *(required)* | Live URL for smoke test |
|
|
124
|
+
| `DEPLOY_TIMEOUT` | `300` | Max wait for deploy completion (seconds) |
|
|
125
|
+
| `DEPLOY_POLL_INTERVAL` | `30` | Polling interval (seconds) |
|
|
126
|
+
| `RETRY_MAX` | `3` | Max deploy retry attempts |
|
|
127
|
+
| `BUILD_COMMAND` | *(auto-detect)* | Override build command |
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## Verification
|
|
133
|
+
|
|
134
|
+
→ verify: `test -f deploy/SKILL.md && grep -q 'name: deploy' deploy/SKILL.md && echo OK`
|
|
135
|
+
→ verify: `grep -qi 'build\|artifact\|deploy\|smoke' deploy/SKILL.md && echo OK`
|
|
136
|
+
→ verify: `grep -ci 'package.json\|Cargo.toml\|Makefile\|manifest' deploy/SKILL.md | awk '{if($1>=1) print "OK"; else print "FAIL"}'`
|
|
137
|
+
→ verify: `grep -ci 'timeout\|poll\|status\|retry\|backoff' deploy/SKILL.md | awk '{if($1>=2) print "OK"; else print "FAIL"}'`
|
|
138
|
+
→ verify: `grep -q 'curl.*DEPLOY_URL\|smoke\|health' deploy/SKILL.md && echo OK`
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## Reference block 1
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
DEPLOY_TIMEOUT="${DEPLOY_TIMEOUT:-300}" # seconds (default 5 minutes)
|
|
146
|
+
DEPLOY_POLL_INTERVAL="${DEPLOY_POLL_INTERVAL:-30}" # seconds
|
|
147
|
+
|
|
148
|
+
start_time=$(date +%s)
|
|
149
|
+
while true; do
|
|
150
|
+
elapsed=$(( $(date +%s) - start_time ))
|
|
151
|
+
if [ "$elapsed" -ge "$DEPLOY_TIMEOUT" ]; then
|
|
152
|
+
echo "FAIL: deploy status polling timed out after ${DEPLOY_TIMEOUT}s"
|
|
153
|
+
exit 1
|
|
154
|
+
fi
|
|
155
|
+
|
|
156
|
+
status=$(get_deploy_status) # platform-specific status check
|
|
157
|
+
if [ "$status" = "ready" ] || [ "$status" = "done" ]; then
|
|
158
|
+
echo "Deploy completed in ${elapsed}s"
|
|
159
|
+
break
|
|
160
|
+
fi
|
|
161
|
+
|
|
162
|
+
sleep "$DEPLOY_POLL_INTERVAL"
|
|
163
|
+
done
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
## Reference block 2
|
|
169
|
+
|
|
170
|
+
```bash
|
|
171
|
+
RETRY_MAX="${RETRY_MAX:-3}"
|
|
172
|
+
base_delay=2
|
|
173
|
+
for attempt in $(seq 1 "$RETRY_MAX"); do
|
|
174
|
+
if deploy_command; then
|
|
175
|
+
break
|
|
176
|
+
fi
|
|
177
|
+
if [ "$attempt" -eq "$RETRY_MAX" ]; then
|
|
178
|
+
echo "FAIL: deploy failed after ${RETRY_MAX} attempts"
|
|
179
|
+
exit 1
|
|
180
|
+
fi
|
|
181
|
+
sleep $(( base_delay * 2 ** (attempt - 1) ))
|
|
182
|
+
done
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
## Reference block 3
|
|
188
|
+
|
|
189
|
+
```bash
|
|
190
|
+
DEPLOY_URL="${DEPLOY_URL:?DEPLOY_URL must be set}"
|
|
191
|
+
if curl -sSf "$DEPLOY_URL" > /dev/null 2>&1; then
|
|
192
|
+
echo "OK: $DEPLOY_URL responds with HTTP 200"
|
|
193
|
+
else
|
|
194
|
+
echo "FAIL: $DEPLOY_URL is not responding with HTTP 200"
|
|
195
|
+
exit 1
|
|
196
|
+
fi
|
|
197
|
+
```
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: design-interface
|
|
3
|
+
description: "Generate multiple radically different interface designs for a module using parallel sub-agents, then compare trade-offs. Based on \"Design It Twice\" from A Philosophy of Software Design. Use when user wants to design an API, explore interface options, compare module shapes, or mentions \"design it twice\"."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Design Interface
|
|
7
|
+
|
|
8
|
+
Based on "Design It Twice" from "A Philosophy of Software Design": your first idea is unlikely to be the best. Generate multiple radically different designs, then compare.
|
|
9
|
+
|
|
10
|
+
> **HARD GATE** — Multiple design options must be explored. Do NOT settle on first idea. Compare trade-offs (UX, complexity, extensibility, performance) before committing.
|
|
11
|
+
|
|
12
|
+
## Workflow
|
|
13
|
+
|
|
14
|
+
### 1. Gather Requirements
|
|
15
|
+
|
|
16
|
+
Before designing, understand:
|
|
17
|
+
|
|
18
|
+
- [ ] What problem does this module solve?
|
|
19
|
+
- [ ] Who are the callers? (other modules, external users, tests)
|
|
20
|
+
- [ ] What are the key operations?
|
|
21
|
+
- [ ] Any constraints? (performance, compatibility, existing patterns)
|
|
22
|
+
- [ ] What should be hidden inside vs exposed?
|
|
23
|
+
|
|
24
|
+
Ask: "What does this module need to do? Who will use it?"
|
|
25
|
+
|
|
26
|
+
### 2. Generate Designs (Parallel Sub-Agents)
|
|
27
|
+
|
|
28
|
+
Spawn 3+ sub-agents simultaneously using Task tool. Each must produce a **radically different** approach.
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
Prompt template for each sub-agent:
|
|
32
|
+
|
|
33
|
+
Design an interface for: [module description]
|
|
34
|
+
|
|
35
|
+
Requirements: [gathered requirements]
|
|
36
|
+
|
|
37
|
+
Constraints for this design: [assign a different constraint to each agent]
|
|
38
|
+
- Agent 1: "Minimize method count - aim for 1-3 methods max"
|
|
39
|
+
- Agent 2: "Maximize flexibility - support many use cases"
|
|
40
|
+
- Agent 3: "Optimize for the most common case"
|
|
41
|
+
- Agent 4: "Take inspiration from [specific paradigm/library]"
|
|
42
|
+
|
|
43
|
+
Output format:
|
|
44
|
+
1. Interface signature (types/methods)
|
|
45
|
+
2. Usage example (how caller uses it)
|
|
46
|
+
3. What this design hides internally
|
|
47
|
+
4. Trade-offs of this approach
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### 3. Present Designs
|
|
51
|
+
|
|
52
|
+
Show each design with:
|
|
53
|
+
|
|
54
|
+
1. **Interface signature** — types, methods, params
|
|
55
|
+
2. **Usage examples** — how callers actually use it in practice
|
|
56
|
+
3. **What it hides** — complexity kept internal
|
|
57
|
+
|
|
58
|
+
Present designs sequentially so user can absorb each approach before comparison.
|
|
59
|
+
|
|
60
|
+
### 4. Compare Designs
|
|
61
|
+
|
|
62
|
+
After showing all designs, compare them on:
|
|
63
|
+
|
|
64
|
+
- **Interface simplicity**: fewer methods, simpler params
|
|
65
|
+
- **General-purpose vs specialized**: flexibility vs focus
|
|
66
|
+
- **Implementation efficiency**: does shape allow efficient internals?
|
|
67
|
+
- **Depth**: small interface hiding significant complexity (good) vs large interface with thin implementation (bad)
|
|
68
|
+
- **Ease of correct use** vs **ease of misuse**
|
|
69
|
+
|
|
70
|
+
Discuss trade-offs in prose, not tables. Highlight where designs diverge most.
|
|
71
|
+
|
|
72
|
+
### 5. Synthesize
|
|
73
|
+
|
|
74
|
+
Often the best design combines insights from multiple options. Ask:
|
|
75
|
+
|
|
76
|
+
- "Which design best fits your primary use case?"
|
|
77
|
+
- "Any elements from other designs worth incorporating?"
|
|
78
|
+
|
|
79
|
+
## Evaluation Criteria
|
|
80
|
+
|
|
81
|
+
From "A Philosophy of Software Design":
|
|
82
|
+
|
|
83
|
+
**Interface simplicity**: Fewer methods, simpler params = easier to learn and use correctly.
|
|
84
|
+
|
|
85
|
+
**General-purpose**: Can handle future use cases without changes. But beware over-generalization.
|
|
86
|
+
|
|
87
|
+
**Implementation efficiency**: Does interface shape allow efficient implementation? Or force awkward internals?
|
|
88
|
+
|
|
89
|
+
**Depth**: Small interface hiding significant complexity = deep module (good). Large interface with thin implementation = shallow module (avoid).
|
|
90
|
+
|
|
91
|
+
## Anti-Patterns
|
|
92
|
+
|
|
93
|
+
- Don't let sub-agents produce similar designs — enforce radical difference
|
|
94
|
+
- Don't skip comparison — the value is in contrast
|
|
95
|
+
- Don't implement — this is purely about interface shape
|
|
96
|
+
- Don't evaluate based on implementation effort
|