session-orchestrator 3.22.0 → 3.23.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/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +1 -1
- package/.cursor/commands/autopilot-multi.md +14 -0
- package/.cursor/commands/autopilot.md +14 -0
- package/.cursor/commands/bootstrap.md +14 -0
- package/.cursor/commands/brainstorm.md +14 -0
- package/.cursor/commands/close.md +13 -0
- package/.cursor/commands/contract-version-bump.md +14 -0
- package/.cursor/commands/debug.md +14 -0
- package/.cursor/commands/discovery.md +14 -0
- package/.cursor/commands/dispatcher.md +14 -0
- package/.cursor/commands/eli5.md +14 -0
- package/.cursor/commands/eval.md +14 -0
- package/.cursor/commands/evolve.md +14 -0
- package/.cursor/commands/go.md +14 -0
- package/.cursor/commands/grill.md +14 -0
- package/.cursor/commands/harness-audit.md +13 -0
- package/.cursor/commands/journey-audit.md +14 -0
- package/.cursor/commands/memory-cleanup.md +14 -0
- package/.cursor/commands/persona-panel.md +14 -0
- package/.cursor/commands/plan.md +14 -0
- package/.cursor/commands/portfolio.md +14 -0
- package/.cursor/commands/reconcile.md +14 -0
- package/.cursor/commands/release.md +14 -0
- package/.cursor/commands/repo-audit.md +13 -0
- package/.cursor/commands/session.md +14 -0
- package/.cursor/commands/spinout.md +14 -0
- package/.cursor/commands/sunset-review.md +14 -0
- package/.cursor/commands/templates-ack.md +14 -0
- package/.cursor/commands/test.md +14 -0
- package/.cursor/hooks.json +60 -0
- package/.cursor/rules/000-session-orchestrator.mdc +8 -0
- package/.cursor/rules/010-session-workflow.mdc +9 -1
- package/.cursor/rules/020-quality-gates.mdc +1 -1
- package/.cursor/rules/030-wave-execution.mdc +1 -1
- package/.cursor/rules/050-plan.mdc +2 -2
- package/.cursor/rules/070-gitlab-ops.mdc +73 -57
- package/.cursor/rules/080-ecosystem-health.mdc +7 -7
- package/.cursor/skills/architecture/SKILL.md +13 -0
- package/.cursor/skills/autopilot/SKILL.md +12 -0
- package/.cursor/skills/bootstrap/SKILL.md +12 -0
- package/.cursor/skills/brainstorm/SKILL.md +13 -0
- package/.cursor/skills/claude-md-drift-check/SKILL.md +13 -0
- package/.cursor/skills/contract-version-bump/SKILL.md +12 -0
- package/.cursor/skills/convergence-monitoring/SKILL.md +12 -0
- package/.cursor/skills/daily/SKILL.md +12 -0
- package/.cursor/skills/debug/SKILL.md +13 -0
- package/.cursor/skills/discovery/SKILL.md +13 -0
- package/.cursor/skills/dispatcher/SKILL.md +13 -0
- package/.cursor/skills/docs-orchestrator/SKILL.md +13 -0
- package/.cursor/skills/domain-model/SKILL.md +13 -0
- package/.cursor/skills/ecosystem-health/SKILL.md +13 -0
- package/.cursor/skills/eli5/SKILL.md +13 -0
- package/.cursor/skills/eval/SKILL.md +12 -0
- package/.cursor/skills/evolve/SKILL.md +13 -0
- package/.cursor/skills/frontmatter-guard/SKILL.md +13 -0
- package/.cursor/skills/gitlab-ops/SKILL.md +13 -0
- package/.cursor/skills/gitlab-portfolio/SKILL.md +13 -0
- package/.cursor/skills/grill/SKILL.md +13 -0
- package/.cursor/skills/hook-development/SKILL.md +13 -0
- package/.cursor/skills/journey-audit/SKILL.md +13 -0
- package/.cursor/skills/mcp-builder/SKILL.md +13 -0
- package/.cursor/skills/memory-cleanup/SKILL.md +12 -0
- package/.cursor/skills/mode-selector/SKILL.md +13 -0
- package/.cursor/skills/npm-publish/SKILL.md +12 -0
- package/.cursor/skills/peekaboo-driver/SKILL.md +13 -0
- package/.cursor/skills/persona-panel/SKILL.md +12 -0
- package/.cursor/skills/plan/SKILL.md +13 -0
- package/.cursor/skills/playwright-driver/SKILL.md +13 -0
- package/.cursor/skills/quality-gates/SKILL.md +13 -0
- package/.cursor/skills/reconcile/SKILL.md +12 -0
- package/.cursor/skills/repo-audit/SKILL.md +13 -0
- package/.cursor/skills/session-end/SKILL.md +13 -0
- package/.cursor/skills/session-plan/SKILL.md +13 -0
- package/.cursor/skills/session-start/SKILL.md +13 -0
- package/.cursor/skills/skill-creator/SKILL.md +13 -0
- package/.cursor/skills/spinout/SKILL.md +12 -0
- package/.cursor/skills/sunset-review/SKILL.md +13 -0
- package/.cursor/skills/test-runner/SKILL.md +13 -0
- package/.cursor/skills/tmux-layout/SKILL.md +13 -0
- package/.cursor/skills/ubiquitous-language/SKILL.md +13 -0
- package/.cursor/skills/using-orchestrator/SKILL.md +13 -0
- package/.cursor/skills/vault-mirror/SKILL.md +13 -0
- package/.cursor/skills/vault-sync/SKILL.md +13 -0
- package/.cursor/skills/wave-executor/SKILL.md +13 -0
- package/.cursor/skills/write-executable-plan/SKILL.md +13 -0
- package/.mcp.json +4 -1
- package/CHANGELOG.md +168 -0
- package/README.md +18 -15
- package/agents/AGENTS.md +23 -4
- package/agents/code-implementer.md +2 -1
- package/agents/db-specialist.md +2 -1
- package/agents/docs-writer.md +3 -1
- package/agents/eval-judge.md +1 -1
- package/agents/session-reviewer.md +7 -1
- package/agents/test-writer.md +2 -1
- package/agents/ui-developer.md +2 -1
- package/commands/bootstrap.md +2 -2
- package/commands/close.md +3 -1
- package/commands/go.md +1 -1
- package/commands/journey-audit.md +43 -0
- package/docs/USER-GUIDE.md +2 -2
- package/docs/ci-setup.md +14 -0
- package/docs/codex-setup.md +64 -0
- package/docs/components.md +6 -6
- package/docs/cursor-setup.md +26 -47
- package/docs/events-schema.md +76 -4
- package/docs/github-mirror-protection.md +197 -0
- package/docs/pi-setup.md +2 -0
- package/docs/rule-authoring.md +3 -1
- package/docs/scope-collision-guard.md +49 -2
- package/docs/session-config-reference.md +26 -4
- package/docs/session-config-template.md +4 -3
- package/docs/telemetry.md +22 -0
- package/hooks/_lib/lock-bootstrap.mjs +8 -4
- package/hooks/_lib/vcs-create-matcher.mjs +397 -38
- package/hooks/enforce-scope.mjs +64 -0
- package/hooks/hooks-codex.json +1 -1
- package/hooks/hooks-cursor.json +201 -20
- package/hooks/hooks-pi.json +1 -1
- package/hooks/hooks.json +2 -2
- package/hooks/on-session-end.mjs +211 -10
- package/hooks/on-session-start.mjs +214 -11
- package/hooks/on-stop.mjs +48 -9
- package/hooks/post-subagent-discovery-validator.mjs +34 -3
- package/hooks/post-tool-batch-wave-signal.mjs +11 -2
- package/hooks/pre-bash-issue-budget.mjs +117 -4
- package/hooks/pre-bash-sessions-ledger-guard.mjs +159 -0
- package/hooks/pre-bash-staging-fence.mjs +4 -0
- package/hooks/pre-task-scope-disjoint.mjs +368 -35
- package/hooks/skill-invocation-telemetry.mjs +21 -10
- package/monitors/monitors.json +6 -0
- package/package.json +1 -1
- package/pi/prompts/journey-audit.md +12 -0
- package/rules/_index.md +9 -1
- package/rules/always-on/ask-via-tool.md +62 -0
- package/rules/always-on/bash-harness-pitfalls.md +168 -0
- package/rules/always-on/build-value.md +47 -0
- package/rules/always-on/cross-session-messaging.md +59 -0
- package/rules/always-on/loop-and-monitor.md +221 -0
- package/rules/always-on/parallel-sessions.md +142 -12
- package/rules/always-on/receiving-review.md +108 -0
- package/rules/always-on/test-value.md +40 -0
- package/rules/always-on/verification-before-completion.md +77 -0
- package/scripts/archive-closed-prds.mjs +258 -18
- package/scripts/autopilot.mjs +5 -0
- package/scripts/backfill-evidence-digest.mjs +376 -0
- package/scripts/cursor-install.mjs +89 -48
- package/scripts/export-hw-learnings.mjs +143 -2
- package/scripts/express-path.mjs +299 -0
- package/scripts/generate-cursor-adapter.mjs +253 -0
- package/scripts/github-protection-audit.mjs +358 -0
- package/scripts/lib/autopilot/worktree-pipeline.mjs +240 -16
- package/scripts/lib/build-live-signals.mjs +24 -5
- package/scripts/lib/ci-status-banner.mjs +158 -11
- package/scripts/lib/command-blocker.mjs +70 -0
- package/scripts/lib/config/reconcile.mjs +79 -4
- package/scripts/lib/config/section-extractor.mjs +235 -36
- package/scripts/lib/config-schema.mjs +9 -1
- package/scripts/lib/config.mjs +57 -6
- package/scripts/lib/convergence-monitor.mjs +13 -2
- package/scripts/lib/cursor-hook-bridge.mjs +443 -0
- package/scripts/lib/dispatcher/cli.mjs +2 -2
- package/scripts/lib/express-path.mjs +327 -0
- package/scripts/lib/file-lock.mjs +22 -4
- package/scripts/lib/gates/gate-full.mjs +81 -8
- package/scripts/lib/gates/gate-helpers.mjs +76 -15
- package/scripts/lib/git-config-drift.mjs +134 -5
- package/scripts/lib/host-identity.mjs +247 -2
- package/scripts/lib/instruction-budget-guard.mjs +31 -1
- package/scripts/lib/issue-budget.mjs +229 -30
- package/scripts/lib/learnings/io.mjs +55 -10
- package/scripts/lib/learnings/schema.mjs +95 -28
- package/scripts/lib/lock-reaper.mjs +7 -1
- package/scripts/lib/locks/staging-fence-lock.mjs +5 -1
- package/scripts/lib/locks/state-md-lock.mjs +8 -1
- package/scripts/lib/memory-banner.mjs +5 -2
- package/scripts/lib/memory-paths.mjs +15 -6
- package/scripts/lib/mode-selector/scoring.mjs +53 -6
- package/scripts/lib/platform.mjs +72 -9
- package/scripts/lib/plugin-root.mjs +143 -19
- package/scripts/lib/project-hygiene.mjs +43 -3
- package/scripts/lib/quality-gate.mjs +271 -13
- package/scripts/lib/reconcile/emitter.mjs +87 -19
- package/scripts/lib/reconcile/engine.mjs +281 -13
- package/scripts/lib/reconcile/idempotency.mjs +102 -1
- package/scripts/lib/reconcile/renderer.mjs +148 -3
- package/scripts/lib/reconcile/sanitize.mjs +40 -17
- package/scripts/lib/reconcile/writer.mjs +415 -84
- package/scripts/lib/rule-loader.mjs +37 -2
- package/scripts/lib/rules-sync.mjs +51 -8
- package/scripts/lib/scope-gate.mjs +90 -0
- package/scripts/lib/session-close-backfill.mjs +369 -28
- package/scripts/lib/session-discovery.mjs +13 -3
- package/scripts/lib/session-end/phase-skip.mjs +37 -4
- package/scripts/lib/session-end/worktree-cleanup.mjs +154 -7
- package/scripts/lib/session-id.mjs +30 -14
- package/scripts/lib/session-identity/own-session.mjs +159 -0
- package/scripts/lib/session-lock.mjs +85 -30
- package/scripts/lib/session-schema/normalizer.mjs +70 -3
- package/scripts/lib/session-schema/validator.mjs +40 -0
- package/scripts/lib/session-start-probes.mjs +608 -0
- package/scripts/lib/session-transition.mjs +277 -0
- package/scripts/lib/sessions-staleness-banner.mjs +124 -57
- package/scripts/lib/spiral-carryover.mjs +90 -9
- package/scripts/lib/state-md/frontmatter-mutators.mjs +41 -8
- package/scripts/lib/state-md/mission-status.mjs +350 -52
- package/scripts/lib/state-md/yaml-parser.mjs +145 -16
- package/scripts/lib/state-md.mjs +12 -2
- package/scripts/lib/telemetry/sync.mjs +46 -8
- package/scripts/lib/validate/check-agents.mjs +66 -0
- package/scripts/lib/validate/check-cursor-adapter.mjs +102 -0
- package/scripts/lib/validate/check-dead-bridge.mjs +24 -2
- package/scripts/lib/validate/check-doc-cli-commands.mjs +16 -32
- package/scripts/lib/validate/check-hooks-symmetry.mjs +29 -63
- package/scripts/lib/validate/check-playwright-mcp-canary.mjs +13 -22
- package/scripts/lib/validate/check-plugin-monitors.mjs +10 -4
- package/scripts/lib/validate/check-test-value-bans.mjs +165 -17
- package/scripts/lib/validate/check-unwired-features.mjs +340 -32
- package/scripts/lib/validate/repo-files.mjs +275 -0
- package/scripts/lib/validate-vendored-rules.mjs +229 -7
- package/scripts/lib/vault-mirror/process.mjs +99 -43
- package/scripts/lib/vault-mirror/telemetry.mjs +210 -0
- package/scripts/lib/vault-staleness-banner.mjs +76 -6
- package/scripts/lib/vault-status/board-writer.mjs +211 -10
- package/scripts/lib/vault-status/narrative-mirror.mjs +188 -8
- package/scripts/lib/wave-executor/foreign-dispatch.mjs +832 -0
- package/scripts/lib/wave-transcript-tail.mjs +869 -0
- package/scripts/materialize-wave-scope.mjs +209 -12
- package/scripts/mcp-server.sh +11 -2
- package/scripts/parse-config.mjs +65 -0
- package/scripts/token-audit.sh +9 -2
- package/scripts/validate-plugin.mjs +3 -0
- package/scripts/validate-wave-scope.mjs +67 -0
- package/scripts/vault-mirror.mjs +203 -34
- package/skills/_shared/monitor-patterns.md +31 -5
- package/skills/_shared/parallel-aware-auq.md +1 -1
- package/skills/_shared/parallel-aware-preamble.md +4 -2
- package/skills/_shared/platform-tools.md +11 -5
- package/skills/_shared/state-ownership.md +29 -2
- package/skills/autopilot/SKILL.md +5 -1
- package/skills/bootstrap/SKILL.md +3 -3
- package/skills/bootstrap/_shared-template.md +18 -10
- package/skills/bootstrap/deep-template.md +10 -6
- package/skills/bootstrap/fast-template.md +15 -8
- package/skills/bootstrap/standard-template.md +10 -6
- package/skills/claude-md-drift-check/checker.mjs +39 -11
- package/skills/dispatcher/SKILL.md +1 -1
- package/skills/journey-audit/SKILL.md +269 -0
- package/skills/peekaboo-driver/SKILL.md +15 -3
- package/skills/persona-panel/SKILL.md +1 -1
- package/skills/reconcile/SKILL.md +41 -1
- package/skills/session-end/SKILL.md +17 -4
- package/skills/session-end/metrics-collection.md +7 -4
- package/skills/session-end/phase-3-6-tail.md +11 -3
- package/skills/session-end/phase-3-7a-recommendations.md +16 -2
- package/skills/session-plan/SKILL.md +6 -1
- package/skills/session-plan/wave-template.md +1 -0
- package/skills/session-start/SKILL.md +30 -16
- package/skills/session-start/phase-7-5-mode-selector.md +15 -3
- package/skills/session-start/phase-8-5-express-path.md +77 -12
- package/skills/vault-sync/validator.mjs +31 -0
- package/skills/wave-executor/SKILL.md +4 -2
- package/skills/wave-executor/circuit-breaker.md +34 -9
- package/skills/wave-executor/wave-loop.md +102 -19
- package/templates/_shared/journey-manifest.md +110 -0
- package/templates/_shared/rules/parallel-sessions.md +0 -77
|
@@ -25,87 +25,101 @@ Session Config overrides:
|
|
|
25
25
|
- `vcs: github|gitlab` -- force a specific platform
|
|
26
26
|
- `gitlab-host: <host>` -- override auto-detected GitLab host
|
|
27
27
|
|
|
28
|
-
##
|
|
28
|
+
## Canonical Project Identity
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
GitLab REST endpoints accept a URL-encoded `namespace/project` path. Select the GitLab host and project path explicitly; never derive a numeric project ID from `glab repo view`, a search query, or `:id` placeholders. Those forms can resolve through the ambient working directory or a stale search result and target another project after a rename, fork, or scaffold.
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
Set the identity once per operation sequence and reuse the encoded identifier without encoding it again:
|
|
33
33
|
|
|
34
34
|
```bash
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
35
|
+
GITLAB_HOST="<selected GitLab hostname>"
|
|
36
|
+
GROUP_PATH="<selected group path>"
|
|
37
|
+
PROJECT_NAME="<selected project name>"
|
|
38
|
+
PROJECT_PATH="$GROUP_PATH/$PROJECT_NAME"
|
|
39
|
+
ENCODED_PROJECT_PATH="$(node -e 'process.stdout.write(encodeURIComponent(process.argv[1]))' "$PROJECT_PATH")"
|
|
40
40
|
```
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
For a link target in another project, use the same path-first shape instead of a numeric ID:
|
|
43
43
|
|
|
44
44
|
```bash
|
|
45
|
-
|
|
46
|
-
|
|
45
|
+
TARGET_PROJECT_PATH="<target namespace>/<target project>"
|
|
46
|
+
TARGET_ENCODED_PROJECT_PATH="$(node -e 'process.stdout.write(encodeURIComponent(process.argv[1]))' "$TARGET_PROJECT_PATH")"
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Pass `--hostname "$GITLAB_HOST"` to every `glab api` call. The endpoint itself then pins the project, including directly after creating a repository when the current directory does not yet identify the new project.
|
|
50
|
+
|
|
51
|
+
GitHub continues to use an `owner/repo` slug; `gh repo` takes it positionally and rejects `-R`:
|
|
47
52
|
|
|
48
|
-
|
|
49
|
-
gh
|
|
53
|
+
```bash
|
|
54
|
+
gh repo view --json nameWithOwner -q '.nameWithOwner'
|
|
50
55
|
```
|
|
51
56
|
|
|
52
57
|
---
|
|
53
58
|
|
|
54
59
|
## Common CLI Commands
|
|
55
60
|
|
|
61
|
+
**Directive:** every repo-scoped `glab` invocation names the project explicitly via `-R` (or, for `glab api`, pins the host with `--hostname` and encodes the project path into the endpoint). Without `-R` / the encoded endpoint the target is whatever the ambient cwd remote happens to be.
|
|
62
|
+
|
|
63
|
+
`glab -R` accepts `<OWNER>/<REPO>` or a nested `<GROUP>/<SUBGROUP>/.../<REPO>` — both resolve against the DEFAULT configured GitLab host (`glab config get host`), never a bare `<host>/<group>/<project>` slash-path: `glab issue list --help` documents only `OWNER/REPO`, `GROUP/NAMESPACE/REPO`, or "full URL or Git URL" for `-R`/`--repo`. To target a non-default host, pass the full remote URL (`https://<host>/<group>/<project>` or `git@<host>:<group>/<project>.git`) as `-R`'s value instead — `glab` has no bare host-prefixed short form. `gh -R`/`--repo` is NOT symmetric here: it genuinely documents `[HOST/]OWNER/REPO` (`gh issue list --help`), so a 3-segment host-prefixed spec is valid for `gh` but not for `glab`.
|
|
64
|
+
|
|
56
65
|
### GitLab (glab)
|
|
57
66
|
|
|
58
67
|
```bash
|
|
59
|
-
#
|
|
60
|
-
glab issue list --per-page 50
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
glab issue list
|
|
64
|
-
glab issue
|
|
65
|
-
glab issue
|
|
66
|
-
glab issue
|
|
67
|
-
glab issue
|
|
68
|
-
glab issue
|
|
69
|
-
glab issue
|
|
68
|
+
# Non-default GitLab host: pass a full URL to -R (glab has no bare HOST/GROUP/PROJECT form)
|
|
69
|
+
glab issue list -R https://<host>/<group>/<project> --per-page 50
|
|
70
|
+
|
|
71
|
+
# Issues (default configured host — glab config get host)
|
|
72
|
+
glab issue list -R <OWNER>/<REPO> --per-page 50 # All open issues
|
|
73
|
+
glab issue list -R <OWNER>/<REPO> --label "status:ready" --per-page 10 # Ready to work on
|
|
74
|
+
glab issue list -R <OWNER>/<REPO> --label "priority::high" --per-page 10 # High priority
|
|
75
|
+
glab issue list -R <OWNER>/<REPO> --closed --per-page 10 # Recently closed
|
|
76
|
+
glab issue view -R <OWNER>/<REPO> <IID> # View issue details
|
|
77
|
+
glab issue view -R <OWNER>/<REPO> <IID> --comments # With comments
|
|
78
|
+
glab issue create -R <OWNER>/<REPO> --title "title" --label "priority::high,status:ready"
|
|
79
|
+
glab issue update -R <OWNER>/<REPO> <IID> --label "status:in-progress"
|
|
80
|
+
glab issue close -R <OWNER>/<REPO> <IID>
|
|
81
|
+
glab issue note -R <OWNER>/<REPO> <IID> -m "Comment text" # Add comment
|
|
70
82
|
|
|
71
83
|
# MRs
|
|
72
|
-
glab mr list
|
|
73
|
-
glab mr create --fill --draft
|
|
74
|
-
glab mr merge <MR_IID>
|
|
84
|
+
glab mr list -R <OWNER>/<REPO> # Open MRs
|
|
85
|
+
glab mr create -R <OWNER>/<REPO> --fill --draft # Create draft MR
|
|
86
|
+
glab mr merge -R <OWNER>/<REPO> <MR_IID> # Merge MR
|
|
75
87
|
|
|
76
88
|
# Pipelines
|
|
77
|
-
glab pipeline list --per-page 5
|
|
78
|
-
glab pipeline status <ID>
|
|
89
|
+
glab pipeline list -R <OWNER>/<REPO> --per-page 5 # Recent pipelines
|
|
90
|
+
glab pipeline status -R <OWNER>/<REPO> <ID> # Pipeline details
|
|
79
91
|
|
|
80
|
-
# API (
|
|
81
|
-
|
|
82
|
-
glab api "projects/$
|
|
83
|
-
glab api "projects/$PROJECT_ID/milestones?state=active"
|
|
92
|
+
# API (no --repo exists here — the encoded endpoint and explicit host identify the target)
|
|
93
|
+
glab api --hostname "$GITLAB_HOST" "projects/${ENCODED_PROJECT_PATH}/issues?state=opened&per_page=50"
|
|
94
|
+
glab api --hostname "$GITLAB_HOST" "projects/${ENCODED_PROJECT_PATH}/milestones?state=active"
|
|
84
95
|
```
|
|
85
96
|
|
|
86
97
|
### GitHub (gh)
|
|
87
98
|
|
|
88
99
|
```bash
|
|
89
|
-
#
|
|
90
|
-
gh issue list --limit 50
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
gh issue list
|
|
94
|
-
gh issue
|
|
95
|
-
gh issue
|
|
96
|
-
gh issue
|
|
97
|
-
gh issue
|
|
98
|
-
gh issue
|
|
99
|
-
gh issue
|
|
100
|
+
# Non-default host (GHE): gh -R genuinely accepts [HOST/]OWNER/REPO
|
|
101
|
+
gh issue list -R <HOST>/<OWNER>/<REPO> --limit 50
|
|
102
|
+
|
|
103
|
+
# Issues (default configured host)
|
|
104
|
+
gh issue list -R <OWNER>/<REPO> --limit 50 # All open issues
|
|
105
|
+
gh issue list -R <OWNER>/<REPO> --label "status:ready" --limit 10 # Ready to work on
|
|
106
|
+
gh issue list -R <OWNER>/<REPO> --label "priority::high" --limit 10 # High priority
|
|
107
|
+
gh issue list -R <OWNER>/<REPO> --state closed --limit 10 # Recently closed
|
|
108
|
+
gh issue view -R <OWNER>/<REPO> <NUMBER> # View issue details
|
|
109
|
+
gh issue view -R <OWNER>/<REPO> <NUMBER> --comments # With comments
|
|
110
|
+
gh issue create -R <OWNER>/<REPO> --title "title" --label "priority::high,status:ready"
|
|
111
|
+
gh issue edit -R <OWNER>/<REPO> <NUMBER> --add-label "status:in-progress"
|
|
112
|
+
gh issue close -R <OWNER>/<REPO> <NUMBER>
|
|
113
|
+
gh issue comment -R <OWNER>/<REPO> <NUMBER> --body "Comment text" # Add comment
|
|
100
114
|
|
|
101
115
|
# PRs
|
|
102
|
-
gh pr list --state open
|
|
103
|
-
gh pr create --fill --draft
|
|
104
|
-
gh pr merge <NUMBER>
|
|
116
|
+
gh pr list -R <OWNER>/<REPO> --state open # Open PRs
|
|
117
|
+
gh pr create -R <OWNER>/<REPO> --fill --draft # Create draft PR
|
|
118
|
+
gh pr merge -R <OWNER>/<REPO> <NUMBER> # Merge PR
|
|
105
119
|
|
|
106
120
|
# Workflows (CI)
|
|
107
|
-
gh run list --limit 5
|
|
108
|
-
gh run view <RUN_ID>
|
|
121
|
+
gh run list -R <OWNER>/<REPO> --limit 5 # Recent workflow runs
|
|
122
|
+
gh run view -R <OWNER>/<REPO> <RUN_ID> # Run details
|
|
109
123
|
|
|
110
124
|
# API
|
|
111
125
|
gh api "repos/{owner}/{repo}/issues?state=open&per_page=50"
|
|
@@ -120,20 +134,22 @@ These are known differences from `gh` that cause frequent mistakes:
|
|
|
120
134
|
|
|
121
135
|
| Quirk | Correct | Wrong |
|
|
122
136
|
|-------|---------|-------|
|
|
123
|
-
| Listing closed issues | `glab issue list --closed` | `glab issue list --state closed` |
|
|
137
|
+
| Listing closed issues | `glab issue list -R <OWNER>/<REPO> --closed` | `glab issue list -R <OWNER>/<REPO> --state closed` |
|
|
124
138
|
| Confirmations | glab has NO `--yes` flag | Do not pass `--yes` |
|
|
125
|
-
| Comprehensive listing | `glab issue list --per-page 100` | Default per-page is small |
|
|
139
|
+
| Comprehensive listing | `glab issue list -R <OWNER>/<REPO> --per-page 100` | Default per-page is small |
|
|
126
140
|
| Pagination flag | `--per-page N` (glab) | `--limit N` (that is gh syntax) |
|
|
127
141
|
|
|
128
142
|
---
|
|
129
143
|
|
|
130
144
|
## Label Taxonomy
|
|
131
145
|
|
|
146
|
+
**`priority::<level>` is canonical** (scoped double colon). `area:` / `type:` / `status:` / `from:` stay single-colon.
|
|
147
|
+
|
|
132
148
|
### Priority Labels
|
|
133
|
-
- `priority
|
|
134
|
-
- `priority
|
|
135
|
-
- `priority
|
|
136
|
-
- `priority
|
|
149
|
+
- `priority::critical` -- blocking production or users
|
|
150
|
+
- `priority::high` -- important, schedule this sprint
|
|
151
|
+
- `priority::medium` -- plan for next sprint
|
|
152
|
+
- `priority::low` -- backlog, nice-to-have
|
|
137
153
|
|
|
138
154
|
### Status Labels
|
|
139
155
|
- `status:ready` -- defined, ready to pick up
|
|
@@ -212,7 +228,7 @@ Relates to #ORIGINAL_IID
|
|
|
212
228
|
## [Discovery] <finding title>
|
|
213
229
|
|
|
214
230
|
**Probe:** <probe_name>
|
|
215
|
-
**Severity:** <priority
|
|
231
|
+
**Severity:** <priority::critical|high|medium|low>
|
|
216
232
|
**Category:** <code|infra|ui|arch|session|audit|vault|feature>
|
|
217
233
|
|
|
218
234
|
### Finding
|
|
@@ -237,7 +253,7 @@ Relates to #ORIGINAL_IID
|
|
|
237
253
|
- [ ] Quality gates pass after fix
|
|
238
254
|
```
|
|
239
255
|
|
|
240
|
-
Labels for discovery findings: `type:discovery`, `priority
|
|
256
|
+
Labels for discovery findings: `type:discovery`, `priority::<level>`, `area:<inferred>`, `status:ready`
|
|
241
257
|
|
|
242
258
|
|
|
243
259
|
|
|
@@ -72,10 +72,10 @@ Detect the VCS platform per the VCS Auto-Detection section of the gitlab-ops rul
|
|
|
72
72
|
|
|
73
73
|
```bash
|
|
74
74
|
# GitLab
|
|
75
|
-
glab pipeline list --per-page 3
|
|
75
|
+
glab pipeline list -R <OWNER>/<REPO> --per-page 3
|
|
76
76
|
|
|
77
77
|
# GitHub
|
|
78
|
-
gh run list --limit 3
|
|
78
|
+
gh run list -R <OWNER>/<REPO> --limit 3
|
|
79
79
|
```
|
|
80
80
|
|
|
81
81
|
Report each run with: status (success/failed/pending), branch, and timestamp.
|
|
@@ -94,17 +94,17 @@ Skip this section.
|
|
|
94
94
|
|
|
95
95
|
For each repo in `cross-repos`:
|
|
96
96
|
|
|
97
|
-
1.
|
|
98
|
-
2. Query open issues with `priority
|
|
97
|
+
1. Select host + encoded project path, or the GitHub `owner/repo` slug (see gitlab-ops Canonical Project Identity)
|
|
98
|
+
2. Query open issues with `priority::critical` or `priority::high` labels (limit 5 per repo)
|
|
99
99
|
3. Collect and report results across all configured repos
|
|
100
100
|
|
|
101
101
|
```bash
|
|
102
102
|
# GitLab
|
|
103
|
-
glab api "projects
|
|
103
|
+
glab api --hostname "$GITLAB_HOST" "projects/${ENCODED_PROJECT_PATH}/issues?labels=priority::critical,priority::high&state=opened&per_page=5"
|
|
104
104
|
|
|
105
105
|
# GitHub
|
|
106
|
-
gh issue list
|
|
107
|
-
gh issue list
|
|
106
|
+
gh issue list -R <OWNER>/<REPO> --label "priority::critical" --limit 5
|
|
107
|
+
gh issue list -R <OWNER>/<REPO> --label "priority::high" --limit 5
|
|
108
108
|
```
|
|
109
109
|
|
|
110
110
|
---
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: architecture
|
|
3
|
+
description: Use when the user asks to improve architecture, find refactoring opportunities, surface deepening opportunities, consolidate tightly-coupled modules, or make a codebase more testable and AI-navigable. Surfaces shallow modules and hypothetical seams using a precise vocabulary (Module / Interface / Implementation / Depth / Seam / Adapter / Leverage / Locality from LANGUAGE.md).
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# architecture
|
|
8
|
+
|
|
9
|
+
Canonical skill: `skills/architecture/SKILL.md`
|
|
10
|
+
|
|
11
|
+
Read that file and follow it exactly. Resolve relative links against `skills/architecture/`, not this wrapper.
|
|
12
|
+
|
|
13
|
+
Cursor has no Skill tool. Treat "invoke the architecture skill" as: Read `skills/architecture/SKILL.md`.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: autopilot
|
|
3
|
+
description: "Use this skill when running an autonomous session-orchestration loop. Chains session-start → session-plan → wave-executor → session-end for N iterations with all 10 kill-switches (SPIRAL, FAILED wave, carryover > 50%, max-hours, max-sessions, resource-overload, token-budget, stall-timeout, sub-threshold confidence, user-abort). Reads Mode-Selector output (Phase B) to decide auto-execute vs. fallback. Writes one autopilot.jsonl record per loop run. Phase C scaffold (issue #277); implementation lives in scripts/lib/autopilot.mjs (Phase C-1 follow-up)."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# autopilot
|
|
7
|
+
|
|
8
|
+
Canonical skill: `skills/autopilot/SKILL.md`
|
|
9
|
+
|
|
10
|
+
Read that file and follow it exactly. Resolve relative links against `skills/autopilot/`, not this wrapper.
|
|
11
|
+
|
|
12
|
+
Cursor has no Skill tool. Treat "invoke the autopilot skill" as: Read `skills/autopilot/SKILL.md`.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: bootstrap
|
|
3
|
+
description: "Use this skill when scaffolding the minimum repository structure required by session-orchestrator. Invoked automatically by the Bootstrap Gate when CLAUDE.md, Session Config, or bootstrap.lock is missing. Also available as /bootstrap for manual invocation. Three intensity tiers: fast (demos/spikes), standard (MVPs), deep (production/team)."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# bootstrap
|
|
7
|
+
|
|
8
|
+
Canonical skill: `skills/bootstrap/SKILL.md`
|
|
9
|
+
|
|
10
|
+
Read that file and follow it exactly. Resolve relative links against `skills/bootstrap/`, not this wrapper.
|
|
11
|
+
|
|
12
|
+
Cursor has no Skill tool. Treat "invoke the bootstrap skill" as: Read `skills/bootstrap/SKILL.md`.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: brainstorm
|
|
3
|
+
description: Use when you have a feature idea but the scope or UX is still ambiguous — runs a lightweight Socratic design dialogue (3-5 AUQ rounds) and writes a spec markdown file. Use BEFORE /plan feature when product intent needs validation; skip to /plan feature when scope is already clear. HARD-GATE prevents any code work until the design is user-approved.
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# brainstorm
|
|
8
|
+
|
|
9
|
+
Canonical skill: `skills/brainstorm/SKILL.md`
|
|
10
|
+
|
|
11
|
+
Read that file and follow it exactly. Resolve relative links against `skills/brainstorm/`, not this wrapper.
|
|
12
|
+
|
|
13
|
+
Cursor has no Skill tool. Treat "invoke the brainstorm skill" as: Read `skills/brainstorm/SKILL.md`.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: claude-md-drift-check
|
|
3
|
+
description: "Use when detecting drift between CLAUDE.md (or AGENTS.md, the Codex CLI alias) / _meta narrative and live repository state. Ten checks: absolute-path resolution, 01-projects/ count claims, issue-reference freshness, session-file existence, command-count sync, session-config-parity (mandatory template keys = error, opt-in gaps = warning), vault-dir-parity (CLAUDE.md vs AGENTS.md), generated-rule-staleness (WARN-only), rule-scoping (paths:/globs: frontmatter defects, dangling rule citations, zero-match globs), and docs-parity (docs/components.md count-claims vs on-disk counts, template-vs-reference config-key parity, stale .claude/metrics/ paths). Full per-check spec in the body table. Invoked as an opt-in session-end phase; mirrors vault-sync's lean JSON+exit-code contract."
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# claude-md-drift-check
|
|
8
|
+
|
|
9
|
+
Canonical skill: `skills/claude-md-drift-check/SKILL.md`
|
|
10
|
+
|
|
11
|
+
Read that file and follow it exactly. Resolve relative links against `skills/claude-md-drift-check/`, not this wrapper.
|
|
12
|
+
|
|
13
|
+
Cursor has no Skill tool. Treat "invoke the claude-md-drift-check skill" as: Read `skills/claude-md-drift-check/SKILL.md`.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: contract-version-bump
|
|
3
|
+
description: "Use this skill when changing a machine-readable contract — a JSON Schema, an API spec, or a config schema — and bumping its version: tightening a constraint, adding/removing/renaming a field, introducing a breaking change, raising an API version, or writing the changelog entry for a schema change. Trigger on \"change the schema\", \"tighten this constraint\", \"bump the schema version\", \"breaking change to the API\", \"new API version\", \"changelog entry for a schema change\". Runs six phases — classify against the contract's OWN versioning rule (not generic semver instinct), find every version literal and vendored copy, check consumer compatibility for new keywords, apply consistently, write the changelog entry, and report downstream drift — codifying three non-obvious traps hit in a real case (GitLab issue #17, `aiat-enablement` repo, 2026-07-25)."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# contract-version-bump
|
|
7
|
+
|
|
8
|
+
Canonical skill: `skills/contract-version-bump/SKILL.md`
|
|
9
|
+
|
|
10
|
+
Read that file and follow it exactly. Resolve relative links against `skills/contract-version-bump/`, not this wrapper.
|
|
11
|
+
|
|
12
|
+
Cursor has no Skill tool. Treat "invoke the contract-version-bump skill" as: Read `skills/contract-version-bump/SKILL.md`.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: convergence-monitoring
|
|
3
|
+
description: "Monitor iterative improvement loops for convergence. Three signals — shrinking diff, pass-rate plateau, velocity — drive a Stop/Continue/Investigate decision at each inter-wave checkpoint. Distinct from /evolve (retrospective) and session-reviewer (wave output review): convergence-monitoring answers \"are we making progress?\" not \"was the last wave correct?\". Primary consumer: /autoresearch loops and wave-executor inter-wave checkpoints."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# convergence-monitoring
|
|
7
|
+
|
|
8
|
+
Canonical skill: `skills/convergence-monitoring/SKILL.md`
|
|
9
|
+
|
|
10
|
+
Read that file and follow it exactly. Resolve relative links against `skills/convergence-monitoring/`, not this wrapper.
|
|
11
|
+
|
|
12
|
+
Cursor has no Skill tool. Treat "invoke the convergence-monitoring skill" as: Read `skills/convergence-monitoring/SKILL.md`.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: daily
|
|
3
|
+
description: "Use this skill when creating today's daily note in the Meta-Vault (03-daily/YYYY-MM-DD.md) with valid vaultFrontmatterSchema-compliant YAML frontmatter. Idempotent: re-running on the same day opens the existing note instead of overwriting. Use when starting a work day, capturing scratch notes, or bootstrapping the inbox flow."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# daily
|
|
7
|
+
|
|
8
|
+
Canonical skill: `skills/daily/SKILL.md`
|
|
9
|
+
|
|
10
|
+
Read that file and follow it exactly. Resolve relative links against `skills/daily/`, not this wrapper.
|
|
11
|
+
|
|
12
|
+
Cursor has no Skill tool. Treat "invoke the daily skill" as: Read `skills/daily/SKILL.md`.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: debug
|
|
3
|
+
description: "Use when encountering any bug, test failure, build break, or unexpected behavior — runs a 4-phase systematic debugging process before proposing any fix. Iron Law: NO FIXES WITHOUT ROOT CAUSE INVESTIGATION FIRST. Produces a `.orchestrator/debug/` artifact the fixer agent must reference."
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# debug
|
|
8
|
+
|
|
9
|
+
Canonical skill: `skills/debug/SKILL.md`
|
|
10
|
+
|
|
11
|
+
Read that file and follow it exactly. Resolve relative links against `skills/debug/`, not this wrapper.
|
|
12
|
+
|
|
13
|
+
Cursor has no Skill tool. Treat "invoke the debug skill" as: Read `skills/debug/SKILL.md`.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: discovery
|
|
3
|
+
description: "Use this skill when running systematic quality discovery and issue detection. Runs modular probes adapted to the project's tech stack, presents findings interactively for user triage, and creates VCS issues for confirmed problems. Invoked standalone via /discovery or embedded in session-end."
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# discovery
|
|
8
|
+
|
|
9
|
+
Canonical skill: `skills/discovery/SKILL.md`
|
|
10
|
+
|
|
11
|
+
Read that file and follow it exactly. Resolve relative links against `skills/discovery/`, not this wrapper.
|
|
12
|
+
|
|
13
|
+
Cursor has no Skill tool. Treat "invoke the discovery skill" as: Read `skills/discovery/SKILL.md`.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: dispatcher
|
|
3
|
+
description: "Use when you want the orchestrator to pick the next repo to work on across your whole portfolio — it enumerates candidate repos below the confinement root, resolves free/busy from each repo's session.lock lease, ranks the FREE ones by backlog priority × staleness × readiness, recommends the single most worthwhile one via AskUserQuestion, atomically claims it, and routes you to the chosen entry command. Triggers: \"what should I work on next\", \"dispatch me to a repo\", \"pick the next project\", \"run /dispatcher\". <example>Context: operator finished a session and wants the next-best repo across the portfolio. user: \"/dispatcher\" assistant: \"Ranked 18 free repos — top recommendation: Pencil-Designs (score 4.50, 90d stale). Confirm via the picker, I'll claim its lease atomically, then route you to /session deep.\"</example>"
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# dispatcher
|
|
8
|
+
|
|
9
|
+
Canonical skill: `skills/dispatcher/SKILL.md`
|
|
10
|
+
|
|
11
|
+
Read that file and follow it exactly. Resolve relative links against `skills/dispatcher/`, not this wrapper.
|
|
12
|
+
|
|
13
|
+
Cursor has no Skill tool. Treat "invoke the dispatcher skill" as: Read `skills/dispatcher/SKILL.md`.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: docs-orchestrator
|
|
3
|
+
description: "Use this skill when orchestrating documentation generation and updates within a session. Maps session scope to audience-specific docs tasks (User / Dev / Vault), dispatches the docs-writer agent with source-grounded prompts, and reports coverage gaps to session-end. Gated on `docs-orchestrator.enabled: true` in Session Config. Zero overhead when disabled."
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# docs-orchestrator
|
|
8
|
+
|
|
9
|
+
Canonical skill: `skills/docs-orchestrator/SKILL.md`
|
|
10
|
+
|
|
11
|
+
Read that file and follow it exactly. Resolve relative links against `skills/docs-orchestrator/`, not this wrapper.
|
|
12
|
+
|
|
13
|
+
Cursor has no Skill tool. Treat "invoke the docs-orchestrator skill" as: Read `skills/docs-orchestrator/SKILL.md`.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: domain-model
|
|
3
|
+
description: Use when the user wants to stress-test a plan against the existing domain model and documented decisions. Grilling session that interviews the user one question at a time, sharpens fuzzy terminology inline, updates CONTEXT.md lazily, and offers ADRs sparingly under a 3-criteria gate. Reads docs/adr/ and CONTEXT.md if present.
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# domain-model
|
|
8
|
+
|
|
9
|
+
Canonical skill: `skills/domain-model/SKILL.md`
|
|
10
|
+
|
|
11
|
+
Read that file and follow it exactly. Resolve relative links against `skills/domain-model/`, not this wrapper.
|
|
12
|
+
|
|
13
|
+
Cursor has no Skill tool. Treat "invoke the domain-model skill" as: Read `skills/domain-model/SKILL.md`.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ecosystem-health
|
|
3
|
+
description: Monitor health across configured service endpoints, CI pipelines, and critical issues. Automatically invoked during session-start when ecosystem-health is enabled in Session Config.
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# ecosystem-health
|
|
8
|
+
|
|
9
|
+
Canonical skill: `skills/ecosystem-health/SKILL.md`
|
|
10
|
+
|
|
11
|
+
Read that file and follow it exactly. Resolve relative links against `skills/ecosystem-health/`, not this wrapper.
|
|
12
|
+
|
|
13
|
+
Cursor has no Skill tool. Treat "invoke the ecosystem-health skill" as: Read `skills/ecosystem-health/SKILL.md`.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: eli5
|
|
3
|
+
description: "Explain a topic like I'm a 5 year old — restate my last output, or a named topic, in plain words without dropping a single fact. Use when the user types /eli5 [topic], or says an answer was too technical, too long, or unclear about what he now has to do."
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# eli5
|
|
8
|
+
|
|
9
|
+
Canonical skill: `skills/eli5/SKILL.md`
|
|
10
|
+
|
|
11
|
+
Read that file and follow it exactly. Resolve relative links against `skills/eli5/`, not this wrapper.
|
|
12
|
+
|
|
13
|
+
Cursor has no Skill tool. Treat "invoke the eli5 skill" as: Read `skills/eli5/SKILL.md`.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: eval
|
|
3
|
+
description: Use this skill to run an honest session-process evaluation (Standard v1, aiat-llm-eval/1.0) — score the last completed orchestrator session against the pre-registered rubric-v1 dimensions, run /eval, evaluate this session, produce an eval report, or re-verify a stored eval run for reproducibility. Deterministic-first with an optional advisory LLM judge; never produces a global score.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# eval
|
|
7
|
+
|
|
8
|
+
Canonical skill: `skills/eval/SKILL.md`
|
|
9
|
+
|
|
10
|
+
Read that file and follow it exactly. Resolve relative links against `skills/eval/`, not this wrapper.
|
|
11
|
+
|
|
12
|
+
Cursor has no Skill tool. Treat "invoke the eval skill" as: Read `skills/eval/SKILL.md`.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: evolve
|
|
3
|
+
description: "Use this skill when extracting session patterns into reusable learnings. Three modes: analyze (extract from session history), review (edit/manage existing learnings), list (display active learnings). Manages .orchestrator/metrics/learnings.jsonl."
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# evolve
|
|
8
|
+
|
|
9
|
+
Canonical skill: `skills/evolve/SKILL.md`
|
|
10
|
+
|
|
11
|
+
Read that file and follow it exactly. Resolve relative links against `skills/evolve/`, not this wrapper.
|
|
12
|
+
|
|
13
|
+
Cursor has no Skill tool. Treat "invoke the evolve skill" as: Read `skills/evolve/SKILL.md`.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: frontmatter-guard
|
|
3
|
+
description: "Injects the canonical vault frontmatter schema snippet into agent prompts before any vault-write task, preventing malformed YAML frontmatter in Obsidian notes. <example>Context: wave-executor is about to dispatch a vault-mirror agent that writes learning notes under ~/Projects/vault/40-learnings/. user: \"dispatch vault-write agent\" assistant: \"Injecting frontmatter-guard snippet into agent prompt (vault scope detected). Required fields: id, type, created, updated. Enum type: note|daily|project|person|reference|idea|learning|session.\" <commentary>The wave-executor pre-dispatch hook calls detectVaultTaskScope() — the fileScope contains /Projects/vault/40-learnings/ so the guard triggers and the snippet is prepended to the agent system prompt.</commentary></example>"
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# frontmatter-guard
|
|
8
|
+
|
|
9
|
+
Canonical skill: `skills/frontmatter-guard/SKILL.md`
|
|
10
|
+
|
|
11
|
+
Read that file and follow it exactly. Resolve relative links against `skills/frontmatter-guard/`, not this wrapper.
|
|
12
|
+
|
|
13
|
+
Cursor has no Skill tool. Treat "invoke the frontmatter-guard skill" as: Read `skills/frontmatter-guard/SKILL.md`.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gitlab-ops
|
|
3
|
+
description: "Use this skill when performing VCS operations on GitLab or GitHub repositories — creating, updating, or closing issues and MRs, applying label taxonomy, running `glab`/`gh` CLI commands, or resolving project paths dynamically. Acts as the single source of truth for CLI command syntax and label conventions; consuming skills reference this rather than duplicating logic. Triggers: \"create a GitLab issue\", \"list open MRs\", \"apply priority label\", \"how do I resolve the project ID\", \"what's the carryover issue template\". <example>Context: session-end needs to file a carryover issue for an incomplete task. user: \"/close\" assistant: \"Creating carryover issue via glab with the Carryover Template from gitlab-ops — labels: carryover, priority::high.\"</example>"
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# gitlab-ops
|
|
8
|
+
|
|
9
|
+
Canonical skill: `skills/gitlab-ops/SKILL.md`
|
|
10
|
+
|
|
11
|
+
Read that file and follow it exactly. Resolve relative links against `skills/gitlab-ops/`, not this wrapper.
|
|
12
|
+
|
|
13
|
+
Cursor has no Skill tool. Treat "invoke the gitlab-ops skill" as: Read `skills/gitlab-ops/SKILL.md`.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gitlab-portfolio
|
|
3
|
+
description: "Use when you need a single-pane cross-repo health view across all vault-registered GitLab and GitHub projects. Discovers repos from `_overview.md` frontmatter in `<vault>/01-projects/*/`, aggregates open issues, MRs, critical labels, and stale signals via parallel `glab`/`gh` calls, then writes an idempotent `_PORTFOLIO.md` dashboard. Runs automatically at session-start Phase 2 when `gitlab-portfolio.enabled=true`. Triggers: \"show portfolio status\", \"refresh the portfolio dashboard\", \"which repos have critical issues\", \"run /portfolio\". <example>Context: session-start, gitlab-portfolio.enabled=true, vault has 5 registered repos. user: \"/session deep\" assistant: \"Portfolio: 3 critical issues across 2 repos — run /portfolio for details. Dashboard written to vault/01-projects/_PORTFOLIO.md.\"</example>"
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# gitlab-portfolio
|
|
8
|
+
|
|
9
|
+
Canonical skill: `skills/gitlab-portfolio/SKILL.md`
|
|
10
|
+
|
|
11
|
+
Read that file and follow it exactly. Resolve relative links against `skills/gitlab-portfolio/`, not this wrapper.
|
|
12
|
+
|
|
13
|
+
Cursor has no Skill tool. Treat "invoke the gitlab-portfolio skill" as: Read `skills/gitlab-portfolio/SKILL.md`.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: grill
|
|
3
|
+
description: "Use when the user wants a plan, design, or PRD stress-tested before any build — relentlessly interrogates one decision at a time, grounds every question in the codebase, hunts contradictions against the domain language and the code, and challenges the load-bearing assumptions. Triggered by \"grill me\", \"stress-test this plan\", \"poke holes in my design\". Composable — run standalone or as an adversarial pass before /plan feature."
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# grill
|
|
8
|
+
|
|
9
|
+
Canonical skill: `skills/grill/SKILL.md`
|
|
10
|
+
|
|
11
|
+
Read that file and follow it exactly. Resolve relative links against `skills/grill/`, not this wrapper.
|
|
12
|
+
|
|
13
|
+
Cursor has no Skill tool. Treat "invoke the grill skill" as: Read `skills/grill/SKILL.md`.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: hook-development
|
|
3
|
+
description: "Use when creating, modifying, or debugging Claude Code hooks — PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification. Covers the plugin `hooks/hooks.json` wrapper format vs. the user `settings.json` direct format, matchers, security patterns, `$CLAUDE_PLUGIN_ROOT` portability, lifecycle limitations, and debugging. Trigger on \"add a hook\", \"validate tool use\", \"block dangerous commands\", \"enforce completion\", \"hook-based automation\"."
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# hook-development
|
|
8
|
+
|
|
9
|
+
Canonical skill: `skills/hook-development/SKILL.md`
|
|
10
|
+
|
|
11
|
+
Read that file and follow it exactly. Resolve relative links against `skills/hook-development/`, not this wrapper.
|
|
12
|
+
|
|
13
|
+
Cursor has no Skill tool. Treat "invoke the hook-development skill" as: Read `skills/hook-development/SKILL.md`.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: journey-audit
|
|
3
|
+
description: "Use this skill when the user wants the PRODUCT audited from the outside in — what the website promises vs what the code does vs what a real user experiences vs what actually arrives by mail vs what the data says is used. Runs a 7-role read-only wave (R5 writes only under an explicit SAFETY block) against a per-repo `.orchestrator/journey-manifest.md` and writes a dossier to docs/audits/. Distinct from /discovery, which checks code quality inside-out — this checks product truth outside-in; they complement, neither replaces the other. Triggers \"journey audit\", \"Nutzersicht-Audit\", \"audit the product from the user's side\", \"/journey-audit\"."
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# journey-audit
|
|
8
|
+
|
|
9
|
+
Canonical skill: `skills/journey-audit/SKILL.md`
|
|
10
|
+
|
|
11
|
+
Read that file and follow it exactly. Resolve relative links against `skills/journey-audit/`, not this wrapper.
|
|
12
|
+
|
|
13
|
+
Cursor has no Skill tool. Treat "invoke the journey-audit skill" as: Read `skills/journey-audit/SKILL.md`.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mcp-builder
|
|
3
|
+
description: "Use when creating a new MCP (Model Context Protocol) server, extending an existing one, or debugging tool discoverability/performance. Guides through research → implementation → test → eval phases with TypeScript-first guidance matching our stack. Trigger on phrases like \"build an MCP server\", \"expose X as an MCP tool\", \"write MCP tools for Y\", \"integrate Z via MCP\"."
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# mcp-builder
|
|
8
|
+
|
|
9
|
+
Canonical skill: `skills/mcp-builder/SKILL.md`
|
|
10
|
+
|
|
11
|
+
Read that file and follow it exactly. Resolve relative links against `skills/mcp-builder/`, not this wrapper.
|
|
12
|
+
|
|
13
|
+
Cursor has no Skill tool. Treat "invoke the mcp-builder skill" as: Read `skills/mcp-builder/SKILL.md`.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: memory-cleanup
|
|
3
|
+
description: "Use this skill when performing manual memory consolidation (Dream-equivalent). Reviews, consolidates, and prunes memory files under ~/.claude/projects/*/memory/. Run after major refactors, every 5+ sessions, or when memory quality degrades (broken links, stale references, contradictions, MEMORY.md > 200 lines). Invoke with /memory-cleanup."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# memory-cleanup
|
|
7
|
+
|
|
8
|
+
Canonical skill: `skills/memory-cleanup/SKILL.md`
|
|
9
|
+
|
|
10
|
+
Read that file and follow it exactly. Resolve relative links against `skills/memory-cleanup/`, not this wrapper.
|
|
11
|
+
|
|
12
|
+
Cursor has no Skill tool. Treat "invoke the memory-cleanup skill" as: Read `skills/memory-cleanup/SKILL.md`.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mode-selector
|
|
3
|
+
description: "Use this skill when performing deterministic mode selection for session-start. Reads Phase A STATE.md recommendations + (future) learnings, sessions, backlog, bootstrap signals and returns {mode, rationale, confidence, alternatives}. Pure-function contract — no side effects, no STATE.md writes. Phase B scaffold (issue #276); full heuristic is follow-up sub-issues."
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# mode-selector
|
|
8
|
+
|
|
9
|
+
Canonical skill: `skills/mode-selector/SKILL.md`
|
|
10
|
+
|
|
11
|
+
Read that file and follow it exactly. Resolve relative links against `skills/mode-selector/`, not this wrapper.
|
|
12
|
+
|
|
13
|
+
Cursor has no Skill tool. Treat "invoke the mode-selector skill" as: Read `skills/mode-selector/SKILL.md`.
|