orbital-command 0.1.0
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/LICENSE +21 -0
- package/README.md +396 -0
- package/bin/orbital.js +362 -0
- package/dist/assets/WorkflowVisualizer-BZ21PIIF.js +84 -0
- package/dist/assets/WorkflowVisualizer-BZV40eAE.css +1 -0
- package/dist/assets/charts-D__PA1zp.js +72 -0
- package/dist/assets/index-D1G6i0nS.css +1 -0
- package/dist/assets/index-DpItvKpf.js +419 -0
- package/dist/assets/ui-BvF022GT.js +53 -0
- package/dist/assets/vendor-Dzv9lrRc.js +59 -0
- package/dist/index.html +19 -0
- package/dist/scanner-sweep.png +0 -0
- package/dist/server/server/adapters/index.js +34 -0
- package/dist/server/server/adapters/iterm2-adapter.js +29 -0
- package/dist/server/server/adapters/subprocess-adapter.js +21 -0
- package/dist/server/server/adapters/terminal-adapter.js +1 -0
- package/dist/server/server/config.js +156 -0
- package/dist/server/server/database.js +90 -0
- package/dist/server/server/index.js +372 -0
- package/dist/server/server/init.js +811 -0
- package/dist/server/server/parsers/event-parser.js +64 -0
- package/dist/server/server/parsers/scope-parser.js +188 -0
- package/dist/server/server/routes/config-routes.js +163 -0
- package/dist/server/server/routes/data-routes.js +461 -0
- package/dist/server/server/routes/dispatch-routes.js +215 -0
- package/dist/server/server/routes/git-routes.js +92 -0
- package/dist/server/server/routes/scope-routes.js +215 -0
- package/dist/server/server/routes/sprint-routes.js +116 -0
- package/dist/server/server/routes/version-routes.js +130 -0
- package/dist/server/server/routes/workflow-routes.js +185 -0
- package/dist/server/server/schema.js +90 -0
- package/dist/server/server/services/batch-orchestrator.js +253 -0
- package/dist/server/server/services/claude-session-service.js +352 -0
- package/dist/server/server/services/config-service.js +132 -0
- package/dist/server/server/services/deploy-service.js +51 -0
- package/dist/server/server/services/event-service.js +63 -0
- package/dist/server/server/services/gate-service.js +83 -0
- package/dist/server/server/services/git-service.js +309 -0
- package/dist/server/server/services/github-service.js +145 -0
- package/dist/server/server/services/readiness-service.js +184 -0
- package/dist/server/server/services/scope-cache.js +72 -0
- package/dist/server/server/services/scope-service.js +424 -0
- package/dist/server/server/services/sprint-orchestrator.js +312 -0
- package/dist/server/server/services/sprint-service.js +293 -0
- package/dist/server/server/services/workflow-service.js +397 -0
- package/dist/server/server/utils/cc-hooks-parser.js +49 -0
- package/dist/server/server/utils/dispatch-utils.js +305 -0
- package/dist/server/server/utils/logger.js +86 -0
- package/dist/server/server/utils/terminal-launcher.js +388 -0
- package/dist/server/server/utils/worktree-manager.js +98 -0
- package/dist/server/server/watchers/event-watcher.js +81 -0
- package/dist/server/server/watchers/scope-watcher.js +33 -0
- package/dist/server/shared/api-types.js +5 -0
- package/dist/server/shared/default-workflow.json +616 -0
- package/dist/server/shared/workflow-config.js +44 -0
- package/dist/server/shared/workflow-engine.js +353 -0
- package/index.html +15 -0
- package/package.json +110 -0
- package/postcss.config.js +6 -0
- package/schemas/orbital.config.schema.json +83 -0
- package/scripts/postinstall.js +24 -0
- package/scripts/start.sh +20 -0
- package/server/adapters/index.ts +41 -0
- package/server/adapters/iterm2-adapter.ts +37 -0
- package/server/adapters/subprocess-adapter.ts +25 -0
- package/server/adapters/terminal-adapter.ts +24 -0
- package/server/config.ts +234 -0
- package/server/database.ts +107 -0
- package/server/index.ts +452 -0
- package/server/init.ts +891 -0
- package/server/parsers/event-parser.ts +74 -0
- package/server/parsers/scope-parser.ts +240 -0
- package/server/routes/config-routes.ts +182 -0
- package/server/routes/data-routes.ts +548 -0
- package/server/routes/dispatch-routes.ts +275 -0
- package/server/routes/git-routes.ts +112 -0
- package/server/routes/scope-routes.ts +262 -0
- package/server/routes/sprint-routes.ts +142 -0
- package/server/routes/version-routes.ts +156 -0
- package/server/routes/workflow-routes.ts +198 -0
- package/server/schema.ts +90 -0
- package/server/services/batch-orchestrator.ts +286 -0
- package/server/services/claude-session-service.ts +441 -0
- package/server/services/config-service.ts +151 -0
- package/server/services/deploy-service.ts +98 -0
- package/server/services/event-service.ts +98 -0
- package/server/services/gate-service.ts +126 -0
- package/server/services/git-service.ts +391 -0
- package/server/services/github-service.ts +183 -0
- package/server/services/readiness-service.ts +250 -0
- package/server/services/scope-cache.ts +81 -0
- package/server/services/scope-service.ts +476 -0
- package/server/services/sprint-orchestrator.ts +361 -0
- package/server/services/sprint-service.ts +415 -0
- package/server/services/workflow-service.ts +461 -0
- package/server/utils/cc-hooks-parser.ts +70 -0
- package/server/utils/dispatch-utils.ts +395 -0
- package/server/utils/logger.ts +109 -0
- package/server/utils/terminal-launcher.ts +462 -0
- package/server/utils/worktree-manager.ts +104 -0
- package/server/watchers/event-watcher.ts +100 -0
- package/server/watchers/scope-watcher.ts +38 -0
- package/shared/api-types.ts +20 -0
- package/shared/default-workflow.json +616 -0
- package/shared/workflow-config.ts +170 -0
- package/shared/workflow-engine.ts +427 -0
- package/src/App.tsx +33 -0
- package/src/components/AgentBadge.tsx +40 -0
- package/src/components/BatchPreflightModal.tsx +115 -0
- package/src/components/CardDisplayToggle.tsx +74 -0
- package/src/components/ColumnHeaderActions.tsx +55 -0
- package/src/components/ColumnMenu.tsx +99 -0
- package/src/components/DeployHistory.tsx +141 -0
- package/src/components/DispatchModal.tsx +164 -0
- package/src/components/DispatchPopover.tsx +139 -0
- package/src/components/DragOverlay.tsx +25 -0
- package/src/components/DriftSidebar.tsx +140 -0
- package/src/components/EnvironmentStrip.tsx +88 -0
- package/src/components/ErrorBoundary.tsx +62 -0
- package/src/components/FilterChip.tsx +105 -0
- package/src/components/GateIndicator.tsx +33 -0
- package/src/components/IdeaDetailModal.tsx +190 -0
- package/src/components/IdeaFormDialog.tsx +113 -0
- package/src/components/KanbanColumn.tsx +201 -0
- package/src/components/MarkdownRenderer.tsx +114 -0
- package/src/components/NeonGrid.tsx +128 -0
- package/src/components/PromotionQueue.tsx +89 -0
- package/src/components/ScopeCard.tsx +234 -0
- package/src/components/ScopeDetailModal.tsx +255 -0
- package/src/components/ScopeFilterBar.tsx +152 -0
- package/src/components/SearchInput.tsx +102 -0
- package/src/components/SessionPanel.tsx +335 -0
- package/src/components/SprintContainer.tsx +303 -0
- package/src/components/SprintDependencyDialog.tsx +78 -0
- package/src/components/SprintPreflightModal.tsx +138 -0
- package/src/components/StatusBar.tsx +168 -0
- package/src/components/SwimCell.tsx +67 -0
- package/src/components/SwimLaneRow.tsx +94 -0
- package/src/components/SwimlaneBoardView.tsx +108 -0
- package/src/components/VersionBadge.tsx +139 -0
- package/src/components/ViewModeSelector.tsx +114 -0
- package/src/components/config/AgentChip.tsx +53 -0
- package/src/components/config/AgentCreateDialog.tsx +321 -0
- package/src/components/config/AgentEditor.tsx +175 -0
- package/src/components/config/DirectoryTree.tsx +582 -0
- package/src/components/config/FileEditor.tsx +550 -0
- package/src/components/config/HookChip.tsx +50 -0
- package/src/components/config/StageCard.tsx +198 -0
- package/src/components/config/TransitionZone.tsx +173 -0
- package/src/components/config/UnifiedWorkflowPipeline.tsx +216 -0
- package/src/components/config/WorkflowPipeline.tsx +161 -0
- package/src/components/source-control/BranchList.tsx +93 -0
- package/src/components/source-control/BranchPanel.tsx +105 -0
- package/src/components/source-control/CommitLog.tsx +100 -0
- package/src/components/source-control/CommitRow.tsx +47 -0
- package/src/components/source-control/GitHubPanel.tsx +110 -0
- package/src/components/source-control/GitHubSetupGuide.tsx +52 -0
- package/src/components/source-control/GitOverviewBar.tsx +101 -0
- package/src/components/source-control/PullRequestList.tsx +69 -0
- package/src/components/source-control/WorktreeList.tsx +80 -0
- package/src/components/ui/badge.tsx +41 -0
- package/src/components/ui/button.tsx +55 -0
- package/src/components/ui/card.tsx +78 -0
- package/src/components/ui/dialog.tsx +94 -0
- package/src/components/ui/popover.tsx +33 -0
- package/src/components/ui/scroll-area.tsx +54 -0
- package/src/components/ui/separator.tsx +28 -0
- package/src/components/ui/tabs.tsx +52 -0
- package/src/components/ui/toggle-switch.tsx +35 -0
- package/src/components/ui/tooltip.tsx +27 -0
- package/src/components/workflow/AddEdgeDialog.tsx +217 -0
- package/src/components/workflow/AddListDialog.tsx +201 -0
- package/src/components/workflow/ChecklistEditor.tsx +239 -0
- package/src/components/workflow/CommandPrefixManager.tsx +118 -0
- package/src/components/workflow/ConfigSettingsPanel.tsx +189 -0
- package/src/components/workflow/DirectionSelector.tsx +133 -0
- package/src/components/workflow/DispatchConfigPanel.tsx +180 -0
- package/src/components/workflow/EdgeDetailPanel.tsx +236 -0
- package/src/components/workflow/EdgePropertyEditor.tsx +251 -0
- package/src/components/workflow/EditToolbar.tsx +138 -0
- package/src/components/workflow/HookDetailPanel.tsx +250 -0
- package/src/components/workflow/HookExecutionLog.tsx +24 -0
- package/src/components/workflow/HookSourceModal.tsx +129 -0
- package/src/components/workflow/HooksDashboard.tsx +363 -0
- package/src/components/workflow/ListPropertyEditor.tsx +251 -0
- package/src/components/workflow/MigrationPreviewDialog.tsx +237 -0
- package/src/components/workflow/MovementRulesPanel.tsx +188 -0
- package/src/components/workflow/NodeDetailPanel.tsx +245 -0
- package/src/components/workflow/PresetSelector.tsx +414 -0
- package/src/components/workflow/SkillCommandBuilder.tsx +174 -0
- package/src/components/workflow/WorkflowEdgeComponent.tsx +145 -0
- package/src/components/workflow/WorkflowNode.tsx +147 -0
- package/src/components/workflow/graphLayout.ts +186 -0
- package/src/components/workflow/mergeHooks.ts +85 -0
- package/src/components/workflow/useEditHistory.ts +88 -0
- package/src/components/workflow/useWorkflowEditor.ts +262 -0
- package/src/components/workflow/validateConfig.ts +70 -0
- package/src/hooks/useActiveDispatches.ts +198 -0
- package/src/hooks/useBoardSettings.ts +170 -0
- package/src/hooks/useCardDisplay.ts +57 -0
- package/src/hooks/useCcHooks.ts +24 -0
- package/src/hooks/useConfigTree.ts +51 -0
- package/src/hooks/useEnforcementRules.ts +46 -0
- package/src/hooks/useEvents.ts +59 -0
- package/src/hooks/useFileEditor.ts +165 -0
- package/src/hooks/useGates.ts +57 -0
- package/src/hooks/useIdeaActions.ts +53 -0
- package/src/hooks/useKanbanDnd.ts +410 -0
- package/src/hooks/useOrbitalConfig.ts +54 -0
- package/src/hooks/usePipeline.ts +47 -0
- package/src/hooks/usePipelineData.ts +338 -0
- package/src/hooks/useReconnect.ts +25 -0
- package/src/hooks/useScopeFilters.ts +125 -0
- package/src/hooks/useScopeSessions.ts +44 -0
- package/src/hooks/useScopes.ts +67 -0
- package/src/hooks/useSearch.ts +67 -0
- package/src/hooks/useSettings.tsx +187 -0
- package/src/hooks/useSocket.ts +25 -0
- package/src/hooks/useSourceControl.ts +105 -0
- package/src/hooks/useSprintPreflight.ts +55 -0
- package/src/hooks/useSprints.ts +154 -0
- package/src/hooks/useStatusBarHighlight.ts +18 -0
- package/src/hooks/useSwimlaneBoardSettings.ts +104 -0
- package/src/hooks/useTheme.ts +9 -0
- package/src/hooks/useTransitionReadiness.ts +53 -0
- package/src/hooks/useVersion.ts +155 -0
- package/src/hooks/useViolations.ts +65 -0
- package/src/hooks/useWorkflow.tsx +125 -0
- package/src/hooks/useZoomModifier.ts +19 -0
- package/src/index.css +797 -0
- package/src/layouts/DashboardLayout.tsx +113 -0
- package/src/lib/collisionDetection.ts +20 -0
- package/src/lib/scope-fields.ts +61 -0
- package/src/lib/swimlane.ts +146 -0
- package/src/lib/utils.ts +15 -0
- package/src/main.tsx +19 -0
- package/src/socket.ts +11 -0
- package/src/types/index.ts +497 -0
- package/src/views/AgentFeed.tsx +339 -0
- package/src/views/DeployPipeline.tsx +59 -0
- package/src/views/EnforcementView.tsx +378 -0
- package/src/views/PrimitivesConfig.tsx +500 -0
- package/src/views/QualityGates.tsx +1012 -0
- package/src/views/ScopeBoard.tsx +454 -0
- package/src/views/SessionTimeline.tsx +516 -0
- package/src/views/Settings.tsx +183 -0
- package/src/views/SourceControl.tsx +95 -0
- package/src/views/WorkflowVisualizer.tsx +382 -0
- package/tailwind.config.js +161 -0
- package/templates/agents/AUTO-INVOKE.md +180 -0
- package/templates/agents/CONFLICT-RESOLUTION.md +128 -0
- package/templates/agents/QUICK-REFERENCE.md +122 -0
- package/templates/agents/README.md +188 -0
- package/templates/agents/SKILL-TRIGGERS.md +100 -0
- package/templates/agents/blue-team/frontend-designer.md +424 -0
- package/templates/agents/green-team/architect.md +526 -0
- package/templates/agents/green-team/rules-enforcer.md +131 -0
- package/templates/agents/red-team/attacker-learned.md +24 -0
- package/templates/agents/red-team/attacker.md +486 -0
- package/templates/agents/red-team/chaos.md +548 -0
- package/templates/agents/reference/component-registry.md +82 -0
- package/templates/agents/workflows/full-mode.md +218 -0
- package/templates/agents/workflows/quick-mode.md +118 -0
- package/templates/agents/workflows/security-mode.md +283 -0
- package/templates/anti-patterns/dangerous-shortcuts.md +427 -0
- package/templates/config/agent-triggers.json +92 -0
- package/templates/hooks/agent-team-gate.sh +31 -0
- package/templates/hooks/agent-trigger.sh +97 -0
- package/templates/hooks/block-push.sh +66 -0
- package/templates/hooks/block-workarounds.sh +61 -0
- package/templates/hooks/blocker-check.sh +28 -0
- package/templates/hooks/completion-checklist.sh +28 -0
- package/templates/hooks/decision-capture.sh +15 -0
- package/templates/hooks/dependency-check.sh +27 -0
- package/templates/hooks/end-session.sh +31 -0
- package/templates/hooks/exploration-logger.sh +37 -0
- package/templates/hooks/files-changed-summary.sh +37 -0
- package/templates/hooks/get-session-id.sh +49 -0
- package/templates/hooks/git-commit-guard.sh +34 -0
- package/templates/hooks/init-session.sh +93 -0
- package/templates/hooks/orbital-emit.sh +79 -0
- package/templates/hooks/orbital-report-deploy.sh +78 -0
- package/templates/hooks/orbital-report-gates.sh +40 -0
- package/templates/hooks/orbital-report-violation.sh +36 -0
- package/templates/hooks/orbital-scope-update.sh +53 -0
- package/templates/hooks/phase-verify-reminder.sh +26 -0
- package/templates/hooks/review-gate-check.sh +82 -0
- package/templates/hooks/scope-commit-logger.sh +37 -0
- package/templates/hooks/scope-create-cleanup.sh +36 -0
- package/templates/hooks/scope-create-gate.sh +80 -0
- package/templates/hooks/scope-create-tracker.sh +17 -0
- package/templates/hooks/scope-file-sync.sh +53 -0
- package/templates/hooks/scope-gate.sh +35 -0
- package/templates/hooks/scope-helpers.sh +188 -0
- package/templates/hooks/scope-lifecycle-gate.sh +139 -0
- package/templates/hooks/scope-prepare.sh +244 -0
- package/templates/hooks/scope-transition.sh +172 -0
- package/templates/hooks/session-enforcer.sh +143 -0
- package/templates/hooks/time-tracker.sh +33 -0
- package/templates/lessons-learned.md +15 -0
- package/templates/orbital.config.json +35 -0
- package/templates/presets/development.json +42 -0
- package/templates/presets/gitflow.json +712 -0
- package/templates/presets/minimal.json +23 -0
- package/templates/quick/rules.md +218 -0
- package/templates/scopes/_template.md +255 -0
- package/templates/settings-hooks.json +98 -0
- package/templates/skills/git-commit/SKILL.md +85 -0
- package/templates/skills/git-dev/SKILL.md +99 -0
- package/templates/skills/git-hotfix/SKILL.md +223 -0
- package/templates/skills/git-main/SKILL.md +84 -0
- package/templates/skills/git-production/SKILL.md +165 -0
- package/templates/skills/git-staging/SKILL.md +112 -0
- package/templates/skills/scope-create/SKILL.md +81 -0
- package/templates/skills/scope-fix-review/SKILL.md +168 -0
- package/templates/skills/scope-implement/SKILL.md +110 -0
- package/templates/skills/scope-post-review/SKILL.md +144 -0
- package/templates/skills/scope-pre-review/SKILL.md +211 -0
- package/templates/skills/scope-verify/SKILL.md +201 -0
- package/templates/skills/session-init/SKILL.md +62 -0
- package/templates/skills/session-resume/SKILL.md +201 -0
- package/templates/skills/test-checks/SKILL.md +171 -0
- package/templates/skills/test-code-review/SKILL.md +252 -0
- package/tsconfig.json +25 -0
- package/vite.config.ts +38 -0
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: scope-pre-review
|
|
3
|
+
description: Reviews scope documents with full agent team analysis for comprehensive feedback. Use before implementing scopes, for thorough scope review, or when getting multiple perspectives.
|
|
4
|
+
user-invocable: true
|
|
5
|
+
agent-mode: team-review
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# /scope-pre-review - Full Agent Team Analysis
|
|
9
|
+
|
|
10
|
+
## What This Does
|
|
11
|
+
|
|
12
|
+
Invokes the project's agent team to review a scope from all perspectives, applies fixes directly to the SPECIFICATION, then records findings in the AGENT REVIEW section for traceability.
|
|
13
|
+
|
|
14
|
+
**Key principle**: After review, the SPECIFICATION must be a ready-to-execute contract. The implementer should never need to read AGENT REVIEW to know what to build.
|
|
15
|
+
|
|
16
|
+
## Steps
|
|
17
|
+
|
|
18
|
+
### Step 0: Record Session ID
|
|
19
|
+
|
|
20
|
+
1. Run: `bash .claude/hooks/get-session-id.sh` — capture the UUID output
|
|
21
|
+
2. Read the scope file's YAML frontmatter `sessions` field
|
|
22
|
+
3. If `sessions:` key doesn't exist in frontmatter, add `sessions: {}` after `tags:`
|
|
23
|
+
4. If the UUID is NOT already in `sessions.reviewScope`, append it (skip if duplicate)
|
|
24
|
+
5. Write the updated frontmatter back to the scope file
|
|
25
|
+
|
|
26
|
+
### Step 1: Load Scope Context
|
|
27
|
+
|
|
28
|
+
Extract from the scope document:
|
|
29
|
+
- **SPECIFICATION section** (primary context for agents)
|
|
30
|
+
- **PROCESS Decisions & Uncertainties** (helps agents understand reasoning)
|
|
31
|
+
- **Files Summary** (determines which agents to invoke)
|
|
32
|
+
|
|
33
|
+
### Step 2: Determine Which Agents to Invoke
|
|
34
|
+
|
|
35
|
+
Select agents based on `.claude/config/agent-triggers.json` and `orbital.config.json` agents configuration. The trigger file maps file patterns to the agents that should review changes in those areas.
|
|
36
|
+
|
|
37
|
+
Read `.claude/config/agent-triggers.json` and match the scope's **Files Summary** against the configured patterns to determine which agents to launch.
|
|
38
|
+
|
|
39
|
+
### Step 3: Launch Agent Team in Parallel
|
|
40
|
+
|
|
41
|
+
**Launch all relevant agents in a SINGLE message with parallel Task tool calls.**
|
|
42
|
+
|
|
43
|
+
Read each agent's spec first from `.claude/agents/`. Then launch with `subagent_type: "general-purpose"`:
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
Task: "Agent Review" — Include full SPECIFICATION section in prompt.
|
|
47
|
+
Each agent reviews from their perspective and returns findings with severity.
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Step 4: Synthesize Findings with Dispositions
|
|
51
|
+
|
|
52
|
+
Categorize agent findings into BLOCKERS / WARNINGS / SUGGESTIONS / VERIFIED OK (same as before). Then assign each finding a **disposition** that determines what happens next:
|
|
53
|
+
|
|
54
|
+
| Disposition | When to Use | Applied to Spec? |
|
|
55
|
+
|-------------|-------------|-------------------|
|
|
56
|
+
| `APPLY` | Single clear fix, no ambiguity | Yes, automatically |
|
|
57
|
+
| `CLARIFY` | Multiple valid resolution paths — user must choose | Yes, after user answers |
|
|
58
|
+
| `NOTE` | Advisory guidance for the implementer, no spec change needed | No |
|
|
59
|
+
|
|
60
|
+
**Classification rules:**
|
|
61
|
+
|
|
62
|
+
- **BLOCKERS**: Default `APPLY`. Escalate to `CLARIFY` only when the blocker presents two or more valid approaches and the right choice depends on user preference or business context.
|
|
63
|
+
- **WARNINGS**: `APPLY` when they identify a concrete spec gap (missing file, wrong type, missing constraint, incorrect architecture). `NOTE` when advisory ("keep additions minimal", "consider extracting if file grows").
|
|
64
|
+
- **SUGGESTIONS**: Default `NOTE`. Promote to `APPLY` only when they fill an objective spec deficiency (e.g., missing shared component that multiple phases reference).
|
|
65
|
+
|
|
66
|
+
**Resolve conflicts during synthesis** using a priority hierarchy appropriate to the project. Typical ordering:
|
|
67
|
+
1. Security agents (security wins)
|
|
68
|
+
2. Domain-critical agents (safety, financial, data integrity)
|
|
69
|
+
3. Reliability agents (chaos, resilience)
|
|
70
|
+
4. Domain experts (correctness)
|
|
71
|
+
5. Architecture agents (patterns)
|
|
72
|
+
6. UI/UX agents (aesthetics)
|
|
73
|
+
|
|
74
|
+
### Step 5: Ask Clarifying Questions
|
|
75
|
+
|
|
76
|
+
**After synthesis, before touching the spec** — collect all `CLARIFY` items and present them to the user as a batch. For each item:
|
|
77
|
+
- State the problem clearly
|
|
78
|
+
- List labeled options (A, B, etc.)
|
|
79
|
+
- Provide a recommendation with reasoning
|
|
80
|
+
|
|
81
|
+
Wait for user answers before proceeding.
|
|
82
|
+
|
|
83
|
+
**If zero `CLARIFY` items, skip this step entirely.**
|
|
84
|
+
|
|
85
|
+
Example format:
|
|
86
|
+
|
|
87
|
+
```
|
|
88
|
+
The review found N items that need your input before I update the spec:
|
|
89
|
+
|
|
90
|
+
**[B-2] Service layer boundary violation**
|
|
91
|
+
Module X has zero DB imports. Adding data lookup inside processRequest() breaks layer purity.
|
|
92
|
+
|
|
93
|
+
A) Push data resolution to callers — callers pass pre-resolved data into Module X (clean layers, slightly more caller code)
|
|
94
|
+
B) Create a thin middleware — wraps Module X calls, resolves data externally (more abstraction, new file)
|
|
95
|
+
|
|
96
|
+
Recommendation: A — matches existing caller-resolves pattern in the codebase
|
|
97
|
+
|
|
98
|
+
**[W-4] Configuration source for feature Y**
|
|
99
|
+
Feature Y uses a flat estimate, has no concept of dynamic configuration.
|
|
100
|
+
|
|
101
|
+
A) Use a config constant (e.g., CONFIG.FEATURE_Y.ESTIMATE)
|
|
102
|
+
B) Calculate from historical data
|
|
103
|
+
|
|
104
|
+
Recommendation: A — simpler, no query overhead
|
|
105
|
+
|
|
106
|
+
Which options? (e.g., "B-2: A, W-4: A" or "agree" for all recommendations)
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Step 6: Apply Fixes to SPECIFICATION
|
|
110
|
+
|
|
111
|
+
With all `APPLY` items and resolved `CLARIFY` items, systematically update the SPECIFICATION. The review is an authorized modification — no need to toggle `spec_locked`.
|
|
112
|
+
|
|
113
|
+
**What to update, by section:**
|
|
114
|
+
|
|
115
|
+
| Spec Subsection | Types of Changes |
|
|
116
|
+
|-----------------|------------------|
|
|
117
|
+
| **Requirements (Must Have)** | Add missing requirements identified by blockers. Update text to incorporate fixes. |
|
|
118
|
+
| **Requirements (Nice to Have)** | Promote to Must Have if a blocker requires the item. |
|
|
119
|
+
| **Requirements (Out of Scope)** | Add items explicitly excluded by review decisions. |
|
|
120
|
+
| **Technical Approach** | Fix architectural errors (e.g., tier violations). Update diagrams/data flows. Document resolved design decisions. |
|
|
121
|
+
| **Implementation Phases — Files** | Add missing files (test files, schema.sql, etc.). Remove invalid files. Update file descriptions. |
|
|
122
|
+
| **Implementation Phases — Changes** | Update change descriptions to incorporate fixes. Add new change items for blocker-identified work. |
|
|
123
|
+
| **Files Summary** | Add/remove/update rows to match phase file changes. |
|
|
124
|
+
| **Success Criteria** | Add criteria for significant blocker fixes. |
|
|
125
|
+
| **Risk Assessment** | Add new risks identified by agents. Update mitigations. |
|
|
126
|
+
| **Definition of Done** | Add items for significant new requirements. |
|
|
127
|
+
|
|
128
|
+
**Do NOT modify**: DASHBOARD (status updates are Step 8), PROCESS (implementation working memory), AGENT REVIEW (written separately in Step 7).
|
|
129
|
+
|
|
130
|
+
**Add a DEVIATION NOTE** inside the SPECIFICATION HTML comment block:
|
|
131
|
+
|
|
132
|
+
```html
|
|
133
|
+
<!--
|
|
134
|
+
DEVIATION NOTE (YYYY-MM-DD): Spec updated by /scope-pre-review to address
|
|
135
|
+
N blockers and M warnings. Key changes: [2-3 word summary per major change].
|
|
136
|
+
See AGENT REVIEW section for full traceability.
|
|
137
|
+
-->
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### Step 7: Write AGENT REVIEW Section
|
|
141
|
+
|
|
142
|
+
Write findings to the **AGENT REVIEW** section with the same synthesis format, plus a summary header and **Resolution** lines for traceability:
|
|
143
|
+
|
|
144
|
+
```markdown
|
|
145
|
+
### Review Status
|
|
146
|
+
- **Requested**: [agent-list]
|
|
147
|
+
- **Completed**: [agent-list]
|
|
148
|
+
- **Date**: YYYY-MM-DD
|
|
149
|
+
|
|
150
|
+
### Spec Changes Applied
|
|
151
|
+
N blockers and M warnings applied directly to the SPECIFICATION.
|
|
152
|
+
K items resolved via user clarification.
|
|
153
|
+
J items are implementation notes (no spec change).
|
|
154
|
+
|
|
155
|
+
### Synthesis
|
|
156
|
+
|
|
157
|
+
**BLOCKERS** (must fix before implementation):
|
|
158
|
+
|
|
159
|
+
- [B-1] Description (Source: Agent, Severity)
|
|
160
|
+
**Resolution**: APPLIED — [one-line summary of what changed in the spec]
|
|
161
|
+
|
|
162
|
+
- [B-2] Description (Source: Agent, Severity)
|
|
163
|
+
**Resolution**: APPLIED (user chose Option A) — [one-line summary]
|
|
164
|
+
|
|
165
|
+
- [B-3] Description (Source: Agent)
|
|
166
|
+
**Resolution**: NOTE — [why no spec change: advisory guidance, implementation detail, etc.]
|
|
167
|
+
|
|
168
|
+
**WARNINGS** (should fix):
|
|
169
|
+
|
|
170
|
+
- [W-1] Description (Source: Agent)
|
|
171
|
+
**Resolution**: APPLIED — [what changed]
|
|
172
|
+
|
|
173
|
+
- [W-2] Description (Source: Agent)
|
|
174
|
+
**Resolution**: NOTE — implementation guidance for the executor
|
|
175
|
+
|
|
176
|
+
**SUGGESTIONS** (nice to have):
|
|
177
|
+
|
|
178
|
+
- [S-1] Description (Source: Agent)
|
|
179
|
+
**Resolution**: NOTE — optional enhancement, not applied to spec
|
|
180
|
+
|
|
181
|
+
- [S-2] Description (Source: Agent)
|
|
182
|
+
**Resolution**: APPLIED — [what changed]
|
|
183
|
+
|
|
184
|
+
**VERIFIED OK**:
|
|
185
|
+
- [Points agents confirmed are correct]
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
### Step 8: Update Scope Status
|
|
189
|
+
|
|
190
|
+
After applying spec fixes and writing the AGENT REVIEW:
|
|
191
|
+
- Update frontmatter: `status: backlog`, `spec_locked: true`
|
|
192
|
+
- Move file: `mv scopes/planning/{file} scopes/backlog/`
|
|
193
|
+
- Update DASHBOARD Quick Status: `🟢 **Status**: Backlog | **Spec Locked**: Yes`
|
|
194
|
+
- Add to Recent Activity: `Review completed — N blockers, M warnings. X items applied to spec, K clarifications resolved.`
|
|
195
|
+
|
|
196
|
+
### Step 9: Signal Completion
|
|
197
|
+
|
|
198
|
+
Emit the agent completion event so the Orbital Command dashboard turns off the progress indicator:
|
|
199
|
+
|
|
200
|
+
```bash
|
|
201
|
+
bash .claude/hooks/orbital-emit.sh AGENT_COMPLETED '{"outcome":"success","action":"team_review"}' --scope "{NNN}"
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
## Modes
|
|
205
|
+
|
|
206
|
+
| Command | What Runs |
|
|
207
|
+
|---------|-----------|
|
|
208
|
+
| `/scope-pre-review` | All relevant agents based on files |
|
|
209
|
+
| `/scope-pre-review security` | Red team only (security + resilience agents) |
|
|
210
|
+
| `/scope-pre-review domain` | Blue team only (domain experts) |
|
|
211
|
+
| `/scope-pre-review full` | ALL agents regardless of files |
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: scope-verify
|
|
3
|
+
description: Formal review gate that checks spec compliance, session separation, and test gate results before allowing completion. Use when a scope is in review state and ready for formal verification.
|
|
4
|
+
user-invocable: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# /scope-verify NNN — Formal Review Gate
|
|
8
|
+
|
|
9
|
+
Runs a comprehensive review of a scope before it can be marked as completed. This is the **only** path to completion — the implementing session cannot complete its own work.
|
|
10
|
+
|
|
11
|
+
## Prerequisites
|
|
12
|
+
|
|
13
|
+
- Scope must be in `scopes/implementing/` (primary) or `scopes/review/` (re-runs)
|
|
14
|
+
- Scope must have `sessions.implementScope` recorded (implementation happened)
|
|
15
|
+
- Current session must be **different** from the implementing session
|
|
16
|
+
|
|
17
|
+
## Workflow
|
|
18
|
+
|
|
19
|
+
### Step 0: Record Session ID
|
|
20
|
+
|
|
21
|
+
1. Run: `bash .claude/hooks/get-session-id.sh` — capture the UUID output
|
|
22
|
+
2. Read the scope file's YAML frontmatter `sessions` field
|
|
23
|
+
3. If `sessions:` key doesn't exist in frontmatter, add `sessions: {}` after `tags:`
|
|
24
|
+
4. If the UUID is NOT already in `sessions.reviewGate`, append it (skip if duplicate)
|
|
25
|
+
5. Write the updated frontmatter back to the scope file
|
|
26
|
+
|
|
27
|
+
### Step 1: Validate Preconditions
|
|
28
|
+
|
|
29
|
+
1. Find the scope file: `scopes/implementing/*{NNN}*.md` (primary) or `scopes/review/*{NNN}*.md` (re-runs)
|
|
30
|
+
- If not found in either directory, error: "Scope NNN not found."
|
|
31
|
+
2. Read frontmatter — verify `status: implementing` or `status: review`
|
|
32
|
+
3. Read `sessions.implementScope` — must exist and be non-empty
|
|
33
|
+
4. **Session separation**: Compare current session UUID with ALL UUIDs in `sessions.implementScope`
|
|
34
|
+
- If current UUID appears in `implementScope` → **BLOCK**:
|
|
35
|
+
```
|
|
36
|
+
Session separation violation: You implemented this scope.
|
|
37
|
+
A different session must run the review gate.
|
|
38
|
+
Start a new Claude Code session and run: /scope-post-review NNN
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Step 2: Check Test Gate Results
|
|
42
|
+
|
|
43
|
+
Before proceeding, verify that `/test-checks` and `/test-code-review` have been run. This skill does NOT embed the full test suite itself — it checks whether test results already exist.
|
|
44
|
+
|
|
45
|
+
1. Check for recent test gate results (e.g., gate reports from Orbital Command, or recent passing test output in the session)
|
|
46
|
+
2. If no test results exist, **BLOCK**:
|
|
47
|
+
```
|
|
48
|
+
Test gate results not found. Run /test-checks and /test-code-review first,
|
|
49
|
+
then re-run /scope-post-review NNN.
|
|
50
|
+
```
|
|
51
|
+
3. If test results exist but contain failures, **BLOCK** and report the failures.
|
|
52
|
+
|
|
53
|
+
### Step 3: Scope-Specific Checks
|
|
54
|
+
|
|
55
|
+
Run 3 checks that the test gates don't cover:
|
|
56
|
+
|
|
57
|
+
#### 3a. Spec Compliance (Agent Judgment)
|
|
58
|
+
|
|
59
|
+
1. Read the scope's **SPECIFICATION** section (Part 2):
|
|
60
|
+
- Requirements (Must Have, Nice to Have)
|
|
61
|
+
- Implementation Phases
|
|
62
|
+
- Success Criteria
|
|
63
|
+
- Definition of Done
|
|
64
|
+
2. Read `baseCommit` from scope frontmatter (set when scope entered implementing)
|
|
65
|
+
- If `baseCommit` exists: `git diff ${baseCommit}...HEAD -- $(list files from scope's Files Summary table)`
|
|
66
|
+
- If `baseCommit` missing and `WORKFLOW_BRANCHING_MODE=worktree`: `git diff main...HEAD -- $(list files)`
|
|
67
|
+
- If `baseCommit` missing and trunk mode: `git diff HEAD~10...HEAD -- $(list files)` (heuristic fallback)
|
|
68
|
+
3. Cross-reference each "Must Have" requirement against the actual changes
|
|
69
|
+
4. Verify each Success Criteria item is addressed
|
|
70
|
+
5. **Verdict**: PASS if all Must Have requirements and Success Criteria are addressed, FAIL otherwise
|
|
71
|
+
6. **Evidence**: List each requirement and whether it was found in the diff
|
|
72
|
+
|
|
73
|
+
#### 3b. No Follow-on Work (Agent Judgment)
|
|
74
|
+
|
|
75
|
+
1. Read the scope's **PROCESS** section (Part 3):
|
|
76
|
+
- Check "Deviations from Spec" for any items marked as deferred
|
|
77
|
+
- Check Implementation Log for TODOs or "will do later" language
|
|
78
|
+
2. Read the scope's **AGENT REVIEW** section:
|
|
79
|
+
- Check for unresolved BLOCKERs
|
|
80
|
+
3. Read the scope's **DASHBOARD** section:
|
|
81
|
+
- Check all phases are marked `✅ Done`
|
|
82
|
+
- Check for incomplete Next Actions
|
|
83
|
+
4. **Verdict**: PASS if no deferred work is found, FAIL otherwise
|
|
84
|
+
5. **Evidence**: List any deferred items found (or "No deferred items, 0 unresolved blockers")
|
|
85
|
+
|
|
86
|
+
#### 3c. Project-Specific Validation (Machine-Verifiable)
|
|
87
|
+
|
|
88
|
+
Run any project-specific validation commands from `orbital.config.json`:
|
|
89
|
+
- Run `commands.validateTemplates` (if configured, skip if null)
|
|
90
|
+
- Run `commands.validateDocs` (if configured, skip if null)
|
|
91
|
+
- Run `commands.checkRules` (if configured, skip if null)
|
|
92
|
+
|
|
93
|
+
1. If no project-specific commands are configured → **PASS** with evidence "No project-specific validations configured"
|
|
94
|
+
2. If commands are configured:
|
|
95
|
+
- Run each non-null command
|
|
96
|
+
- **Verdict**: PASS if all configured commands succeed, FAIL otherwise
|
|
97
|
+
3. **Evidence**: List commands run and their results
|
|
98
|
+
|
|
99
|
+
### Step 4: Write Verdict File
|
|
100
|
+
|
|
101
|
+
Write the verdict to `.claude/review-verdicts/{NNN}.json`:
|
|
102
|
+
|
|
103
|
+
```json
|
|
104
|
+
{
|
|
105
|
+
"scopeId": NNN,
|
|
106
|
+
"verdict": "PASS|FAIL",
|
|
107
|
+
"reviewSession": "<current-session-uuid>",
|
|
108
|
+
"implementSession": "<first-uuid-from-sessions.implementScope>",
|
|
109
|
+
"reviewedAt": "<ISO-8601-timestamp>",
|
|
110
|
+
"criteria": {
|
|
111
|
+
"test_gates": {
|
|
112
|
+
"verdict": "PASS|FAIL",
|
|
113
|
+
"evidence": "<summary of /test-checks and /test-code-review results>"
|
|
114
|
+
},
|
|
115
|
+
"spec_compliance": {
|
|
116
|
+
"verdict": "PASS|FAIL",
|
|
117
|
+
"evidence": "<list of requirements checked>"
|
|
118
|
+
},
|
|
119
|
+
"no_followon_work": {
|
|
120
|
+
"verdict": "PASS|FAIL",
|
|
121
|
+
"evidence": "<deferred items or 'none found'>"
|
|
122
|
+
},
|
|
123
|
+
"project_validation": {
|
|
124
|
+
"verdict": "PASS|FAIL",
|
|
125
|
+
"evidence": "<validation status>"
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
Overall verdict is PASS only if ALL 4 criteria are PASS.
|
|
132
|
+
|
|
133
|
+
### Step 5: Update Scope
|
|
134
|
+
|
|
135
|
+
1. Update the scope's **AGENT REVIEW** section with a review gate summary:
|
|
136
|
+
```markdown
|
|
137
|
+
### Review Gate — YYYY-MM-DD
|
|
138
|
+
- **Verdict**: PASS/FAIL
|
|
139
|
+
- **Session**: <uuid>
|
|
140
|
+
- **test_gates**: PASS/FAIL — <evidence>
|
|
141
|
+
- **spec_compliance**: PASS/FAIL — <evidence>
|
|
142
|
+
- **no_followon_work**: PASS/FAIL — <evidence>
|
|
143
|
+
- **project_validation**: PASS/FAIL — <evidence>
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
### Step 6: Scope Transition (on PASS only)
|
|
147
|
+
|
|
148
|
+
If all criteria passed:
|
|
149
|
+
1. Move scope file: `mv scopes/implementing/{file} scopes/review/` (or leave in place if already in `scopes/review/`)
|
|
150
|
+
2. Update frontmatter: `status: review`
|
|
151
|
+
3. Update DASHBOARD: `✅ **Status**: Reviewed | Ready to Commit`
|
|
152
|
+
|
|
153
|
+
### Step 7: Report & Next Steps
|
|
154
|
+
|
|
155
|
+
**If any FAIL**:
|
|
156
|
+
```
|
|
157
|
+
╔═══════════════════════════════════════════════════════════════╗
|
|
158
|
+
║ ❌ REVIEW GATE FAILED — Scope NNN ║
|
|
159
|
+
╠═══════════════════════════════════════════════════════════════╣
|
|
160
|
+
║ Failed criteria: ║
|
|
161
|
+
║ • spec_compliance: [evidence] ║
|
|
162
|
+
║ • no_followon_work: [evidence] ║
|
|
163
|
+
║ ║
|
|
164
|
+
║ Fix the issues, then re-run: /scope-post-review NNN ║
|
|
165
|
+
╚═══════════════════════════════════════════════════════════════╝
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
Scope stays in `scopes/implementing/` on failure.
|
|
169
|
+
|
|
170
|
+
Then emit the FAIL event and stop:
|
|
171
|
+
```bash
|
|
172
|
+
bash .claude/hooks/orbital-emit.sh AGENT_COMPLETED '{"outcome":"failure","verdict":"FAIL"}' --scope "{NNN}"
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
**If all PASS**:
|
|
176
|
+
```
|
|
177
|
+
╔═══════════════════════════════════════════════════════════════╗
|
|
178
|
+
║ ✅ REVIEW GATE PASSED — Scope NNN ║
|
|
179
|
+
╠═══════════════════════════════════════════════════════════════╣
|
|
180
|
+
║ All 4 criteria passed. Verdict written to: ║
|
|
181
|
+
║ .claude/review-verdicts/NNN.json ║
|
|
182
|
+
║ ║
|
|
183
|
+
║ Scope moved to review. Ready to commit. ║
|
|
184
|
+
║ Next: /git-commit to commit. ║
|
|
185
|
+
╚═══════════════════════════════════════════════════════════════╝
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
Then emit the success event:
|
|
189
|
+
```bash
|
|
190
|
+
bash .claude/hooks/orbital-emit.sh AGENT_COMPLETED '{"outcome":"success","verdict":"PASS"}' --scope "{NNN}"
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
**Do NOT auto-chain** into `/scope complete` or `/git-commit`. The next step is manual.
|
|
194
|
+
|
|
195
|
+
## Important Notes
|
|
196
|
+
|
|
197
|
+
- The verdict file is the **only** artifact that unlocks committing via `/git-commit`
|
|
198
|
+
- The `review-gate-check.sh` hook enforces this at the Edit tool level
|
|
199
|
+
- Re-running the review gate overwrites the previous verdict file
|
|
200
|
+
- Session separation is enforced at both skill level (Step 1) and hook level
|
|
201
|
+
- On PASS, the scope moves to `scopes/review/` — `/git-commit` handles the next transition
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: session-init
|
|
3
|
+
description: Initializes work session context by loading project state and recent history. Use at session start, when beginning work, or when context needs refreshing.
|
|
4
|
+
user-invocable: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# /session-init - Re-Initialize Session Context
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
tokens: ~200
|
|
11
|
+
trigger: /session-init
|
|
12
|
+
purpose: Re-display session initialization and reload critical context
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## What This Does
|
|
16
|
+
|
|
17
|
+
Re-shows the session initialization banner and reloads awareness of the enforcement system. Use when:
|
|
18
|
+
- You've been working a while and need a reset
|
|
19
|
+
- Agent seems to have forgotten the rules
|
|
20
|
+
- Starting a new logical task within the same session
|
|
21
|
+
|
|
22
|
+
## Steps
|
|
23
|
+
|
|
24
|
+
1. **Display the initialization banner:**
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
══════════════════════════════════════════════════════════════════════════════
|
|
28
|
+
SESSION RE-INITIALIZED
|
|
29
|
+
══════════════════════════════════════════════════════════════════════════════
|
|
30
|
+
|
|
31
|
+
Before writing ANY code, you MUST:
|
|
32
|
+
|
|
33
|
+
1. IDENTIFY TASK TYPE & USE THE MATCHING SKILL:
|
|
34
|
+
Check .claude/skills/ for available workflow skills.
|
|
35
|
+
Common patterns:
|
|
36
|
+
┌────────────────────┬─────────────────────┐
|
|
37
|
+
│ Task │ Invoke First │
|
|
38
|
+
├────────────────────┼─────────────────────┤
|
|
39
|
+
│ Plan feature │ /scope-create │
|
|
40
|
+
│ Implement scope │ /scope-implement │
|
|
41
|
+
│ Review scope │ /scope-verify │
|
|
42
|
+
│ Commit work │ /git-commit │
|
|
43
|
+
└────────────────────┴─────────────────────┘
|
|
44
|
+
|
|
45
|
+
2. STATE WHAT YOU READ before proceeding:
|
|
46
|
+
"I have read [specific files] and am ready to proceed."
|
|
47
|
+
|
|
48
|
+
══════════════════════════════════════════════════════════════════════════════
|
|
49
|
+
PROJECT RULES:
|
|
50
|
+
══════════════════════════════════════════════════════════════════════════════
|
|
51
|
+
|
|
52
|
+
Read .claude/orbital.config.json for project-specific rules
|
|
53
|
+
and enforcement configuration.
|
|
54
|
+
|
|
55
|
+
══════════════════════════════════════════════════════════════════════════════
|
|
56
|
+
BEFORE EVERY COMMIT: Run /test-checks
|
|
57
|
+
══════════════════════════════════════════════════════════════════════════════
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
2. **Confirm readiness:**
|
|
61
|
+
|
|
62
|
+
State: "Session re-initialized. Ready to proceed with proper workflow."
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: session-resume
|
|
3
|
+
description: Resumes previous work session by loading saved context and progress. Use when continuing previous work, picking up where left off, or restoring session state.
|
|
4
|
+
user-invocable: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# /session-resume - Session Resumption
|
|
8
|
+
|
|
9
|
+
Reconstruct context and pick up where you left off.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## What This Skill Does
|
|
14
|
+
|
|
15
|
+
Quickly rebuilds context after interruption:
|
|
16
|
+
|
|
17
|
+
1. **Check git status** - Uncommitted work
|
|
18
|
+
2. **Check recent commits** - What was done
|
|
19
|
+
3. **Check scope docs** - In-progress scopes
|
|
20
|
+
4. **Check TODOs** - Pending markers in code
|
|
21
|
+
5. **Reconstruct state** - "Where were we?"
|
|
22
|
+
6. **Identify next steps** - What to do next
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## When to Use
|
|
27
|
+
|
|
28
|
+
- After context compaction
|
|
29
|
+
- Starting new session with in-progress work
|
|
30
|
+
- Returning after a break
|
|
31
|
+
- "Where were we?"
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Trigger Phrases
|
|
36
|
+
|
|
37
|
+
This skill should be suggested when user says:
|
|
38
|
+
- "Where were we?"
|
|
39
|
+
- "What was I working on?"
|
|
40
|
+
- "Resume"
|
|
41
|
+
- "Continue where we left off"
|
|
42
|
+
- "Pick up from before"
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Auto-Trigger Contexts
|
|
47
|
+
|
|
48
|
+
This skill should be **automatically suggested** when:
|
|
49
|
+
- Session starts with uncommitted changes in git
|
|
50
|
+
- After context compaction (detected by system)
|
|
51
|
+
- Conversation starts with implicit continuation
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Execution
|
|
56
|
+
|
|
57
|
+
### Step 1: Check Git Status
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
# Uncommitted changes
|
|
61
|
+
git status --short
|
|
62
|
+
|
|
63
|
+
# Recent commits (last 5)
|
|
64
|
+
git log --oneline -5
|
|
65
|
+
|
|
66
|
+
# Current branch
|
|
67
|
+
git branch --show-current
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
**Parse results:**
|
|
71
|
+
```markdown
|
|
72
|
+
### Git Context
|
|
73
|
+
|
|
74
|
+
**Branch**: `feature/scope-012-refactor`
|
|
75
|
+
**Uncommitted changes**: 8 files modified
|
|
76
|
+
**Recent commits**:
|
|
77
|
+
- `abc1234` feat: Add auth middleware (2 hours ago)
|
|
78
|
+
- `def5678` refactor: Extract helper functions (3 hours ago)
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### Step 2: Check Scope Documents
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
# Find in-progress scopes
|
|
85
|
+
grep -l "Status:.*In Progress\|Status:.*in_progress" scopes/*.md
|
|
86
|
+
|
|
87
|
+
# Check most recent scope
|
|
88
|
+
ls -t scopes/*.md | head -1
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
**Parse scope status:**
|
|
92
|
+
```markdown
|
|
93
|
+
### Active Scope
|
|
94
|
+
|
|
95
|
+
**Scope**: 012-service-refactor
|
|
96
|
+
**Status**: In Progress
|
|
97
|
+
**Current Phase**: Phase 2 - Extract Helpers
|
|
98
|
+
**Completed**: Phase 1
|
|
99
|
+
**Remaining**: Phase 2 (in progress), Phase 3, Phase 4
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### Step 3: Check for TODOs
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
# TODO markers in recently modified files
|
|
106
|
+
git diff --name-only HEAD~5 | xargs grep -n "TODO\|FIXME\|XXX" 2>/dev/null
|
|
107
|
+
|
|
108
|
+
# Or in uncommitted changes
|
|
109
|
+
git diff --name-only | xargs grep -n "TODO\|FIXME" 2>/dev/null
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### Step 4: Generate Resume Report
|
|
113
|
+
|
|
114
|
+
```markdown
|
|
115
|
+
## Session Resume Report
|
|
116
|
+
|
|
117
|
+
### Quick Summary
|
|
118
|
+
You were working on **Scope 012: Service Refactor**.
|
|
119
|
+
Last activity was **2 hours ago**.
|
|
120
|
+
|
|
121
|
+
### Current State
|
|
122
|
+
|
|
123
|
+
**Branch**: `feature/scope-012-refactor`
|
|
124
|
+
|
|
125
|
+
**Uncommitted Work**:
|
|
126
|
+
- `src/utils/helpers.ts` - New file (extracted helpers)
|
|
127
|
+
- `src/services/manager.ts` - Modified (imports updated)
|
|
128
|
+
|
|
129
|
+
**Scope Progress**:
|
|
130
|
+
| Phase | Status |
|
|
131
|
+
|-------|--------|
|
|
132
|
+
| Phase 1: Extract types | Complete |
|
|
133
|
+
| Phase 2: Extract helpers | In Progress |
|
|
134
|
+
| Phase 3: Integrate changes | Pending |
|
|
135
|
+
|
|
136
|
+
**TODOs Found**:
|
|
137
|
+
- `helpers.ts:45`: `// TODO: Add error handling`
|
|
138
|
+
|
|
139
|
+
### Recommended Next Steps
|
|
140
|
+
|
|
141
|
+
1. **Complete Phase 2**: Finish extracting queue helpers
|
|
142
|
+
2. **Fix TODO**: Add error handling in helpers.ts:45
|
|
143
|
+
3. **Run tests**: Verify nothing is broken
|
|
144
|
+
4. **Commit checkpoint**: Save progress before Phase 3
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
### Step 5: Offer Actions
|
|
148
|
+
|
|
149
|
+
After presenting the resume report, offer:
|
|
150
|
+
- "Continue with [next phase]?"
|
|
151
|
+
- "Should I run `/test-checks` first to verify state?"
|
|
152
|
+
- "Would you like me to explain what was being worked on?"
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
## Output Format
|
|
157
|
+
|
|
158
|
+
```markdown
|
|
159
|
+
## 🔄 Session Resume
|
|
160
|
+
|
|
161
|
+
### Context Restored
|
|
162
|
+
[1-2 sentence summary of where we are]
|
|
163
|
+
|
|
164
|
+
### Work in Progress
|
|
165
|
+
| Item | Status | Files |
|
|
166
|
+
|------|--------|-------|
|
|
167
|
+
| [task] | [status] | [files] |
|
|
168
|
+
|
|
169
|
+
### Last Actions
|
|
170
|
+
- [Recent commit 1]
|
|
171
|
+
- [Recent commit 2]
|
|
172
|
+
|
|
173
|
+
### Pending Items
|
|
174
|
+
- [ ] [Item 1]
|
|
175
|
+
- [ ] [Item 2]
|
|
176
|
+
|
|
177
|
+
### Suggested Next Step
|
|
178
|
+
[Recommended action]
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
|
|
183
|
+
## Integration with Scope Documents
|
|
184
|
+
|
|
185
|
+
If a scope is in progress, extract:
|
|
186
|
+
- Current phase name and status
|
|
187
|
+
- Checklist items completed/remaining
|
|
188
|
+
- Team review findings (if present)
|
|
189
|
+
- Blockers identified
|
|
190
|
+
|
|
191
|
+
This makes the scope document the **single source of truth** for resumption.
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
## Tips
|
|
196
|
+
|
|
197
|
+
- **Check uncommitted first** - Most important context
|
|
198
|
+
- **Recent > old** - Focus on last few hours of work
|
|
199
|
+
- **Be specific** - Name files, line numbers, phases
|
|
200
|
+
- **Suggest action** - Don't just report, recommend next step
|
|
201
|
+
- **Link to scope** - If scope exists, reference it
|