architecture
Use when the user asks to improve architecture, find refactoring opportunities, surface deepening opportunities, consolidate tightly-coupled modules, or make a…
Aggregate cross-repo issue/MR/CI health across vault-registered projects into a single Markdown dashboard
$ npx -y skills add Kanevry/session-orchestrator --skill portfolio --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/portfolioContext preview
The summary Claude sees to decide when to auto-load this skill.
Aggregate cross-repo issue/MR/CI health across vault-registered projects into a single Markdown dashboard
name: portfolio description: Aggregate cross-repo issue/MR/CI health across vault-registered projects into a single Markdown dashboard user-invocable: true argument-hint: "[--dry-run] [--repo <name>]" model: inherit
The user invoked `/portfolio` with arguments: **$ARGUMENTS**. This skill carries the argument validation (`--dry-run`, `--repo <name>`), the config/mode/vault gates, the dispatch into `scripts/lib/gitlab-portfolio/cli.mjs`, and the exit-code table — all below; `skills/gitlab-portfolio/SKILL.md` owns the dashboard schema.
Aggregates open issues, MRs, and staleness signals across all vault-registered repositories and writes a structured dashboard to `<vault-dir>/01-projects/_PORTFOLIO.md`.
Parse `$ARGUMENTS` before doing anything else.
Recognized flags:
If `$ARGUMENTS` contains an unrecognized flag (starts with `--` but is not one of the above), inform the user:
Unknown flag '<flag>'. Recognized flags: --dry-run, --repo <name>.
Then continue with the remaining valid arguments.
1. **Config gate** — Read the `gitlab-portfolio:` block from Session Config. If `enabled: false` (or the block is absent), log `Portfolio: disabled (gitlab-portfolio.enabled is false) — set enabled: true to activate.` and return exit code 0.
2. **Mode gate** — If `mode: off`, the command is a silent no-op; log a single line and exit 0.
3. **Vault resolution** — Read `vault-integration.vault-dir` from Session Config. If `vault-integration.enabled: false` or `vault-dir` is absent, exit 1 with: `Portfolio: vault-integration must be enabled with vault-dir set.`
4. **Dispatch** — Invoke `scripts/lib/gitlab-portfolio/cli.mjs` with the resolved arguments:
node scripts/lib/gitlab-portfolio/cli.mjs \
--vault-dir <vault-dir> \
[--dry-run] \
[--repo <name>]5. **Report** — Print the action result emitted by the CLI (`action: written | skipped-noop | skipped-handwritten | dry-run`) and exit with the CLI's exit code.
Minimum Session Config to enable the command:
vault-integration: enabled: true vault-dir: ~/Projects/vault gitlab-portfolio: enabled: true
Full config reference (all fields with defaults):
gitlab-portfolio: enabled: true mode: warn # warn | strict | off stale-days: 30 critical-labels: ["priority::critical", "priority::high"]
See `skills/gitlab-portfolio/SKILL.md` § Output format for the full dashboard schema (frontmatter keys, summary table, per-repo sections, idempotency guard).
Behaviour is governed by the `mode` config field:
`--vault-dir` not found and write errors always exit 2 regardless of `mode`.
| Code | Meaning | |---|---| | `0` | Success (or `mode: off` / `enabled: false` no-op) | | `1` | User/config error (bad args, missing vault config) | | `2` | System error (vault-dir not found, write failed) | | `3` | Repo fetch failures in `strict` mode |
Exit codes follow `.claude/rules/cli-design.md` conventions.
Give your agents a working rhythm. You type three commands: /session reads your repository, your open issues and the last session, proposes what to work on, and waits for your correction.
Repo: Kanevry/session-orchestrator
Use when the user asks to improve architecture, find refactoring opportunities, surface deepening opportunities, consolidate tightly-coupled modules, or make a…
Use this skill when running an autonomous session-orchestration loop. Chains session-start → session-plan → wave-executor → session-end for N iterations with…
Use this skill when scaffolding the minimum repository structure required by session-orchestrator. Invoked automatically by the Bootstrap Gate when CLAUDE.md,…
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…
Use when detecting drift between CLAUDE.md (or AGENTS.md, the Codex CLI alias) / _meta narrative and live repository state. Ten checks: absolute-path…