Skip to content
cccskills
FreePublished on GitHub

portfolio

Aggregate cross-repo issue/MR/CI health across vault-registered projects into a single Markdown dashboard

The English summary is being prepared. Showing the original description.

Kanevry/session-orchestrator52 stars(GitHub 52 + cccskills 0)
Works withGitLab

Run score Not tested

See how to install

Files included (1)

  • SKILL.md4.6 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Portfolio

Invocation

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.

Argument Validation

Parse $ARGUMENTS before doing anything else.

Recognized flags:

  • --dry-run — run discovery + aggregation, print the diff to stdout, do NOT write the dashboard. Sets dry_run = true.
  • --repo <name> — limit the run to a single vault slug (e.g. session-orchestrator). Implies --dry-run unless explicitly combined with a write flag. Useful for testing repo discovery without refreshing the full portfolio.

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.

Behavior

  1. Config gate — The CLI reads the gitlab-portfolio: block from Session Config. Only enabled: true activates it: an absent block parses to the default enabled: false (scripts/lib/config/gitlab-portfolio.mjs), and in both cases the CLI prints gitlab-portfolio: disabled (set gitlab-portfolio.enabled: true in Session Config) and exits 0.

  2. Mode gate — If mode: off, the command is a no-op: the CLI checks it before vault resolution and any repo scan, prints gitlab-portfolio: mode: off — skipped (set gitlab-portfolio.mode: warn|strict to run) and exits 0 (#1619). Dispatch as usual; under strict, repo fetch failures exit 2.

  3. Vault resolution — The CLI takes --vault-dir, else vault-integration.vault-dir from Session Config (resolved host-locally). If neither yields a path it prints gitlab-portfolio: vault-integration.vault-dir not configured in Session Config and exits 2. vault-integration.enabled is not checked: a configured vault-dir is used even when vault integration is disabled.

  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.

Config Required

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"]

Output Format

See skills/gitlab-portfolio/SKILL.md § Output format for the full dashboard schema (frontmatter keys, summary table, per-repo sections, idempotency guard).

Error Modes

Behaviour is governed by the mode config field:

  • warn (default): per-repo CLI failures are logged to stderr; the portfolio is rendered with the remaining repos. Exit 0.
  • strict: any repo fetch failure causes a non-zero exit before writing. The dashboard is NOT written.
  • off: command is a silent no-op. Logs a single line and exits 0.

--vault-dir not found and write errors always exit 2 regardless of mode.

Exit Codes

CodeMeaning
0Success (or mode: off / enabled: false no-op)
1User error (bad arguments, --repo names no discovered repo)
2System error (Session Config unreadable, no vault-dir configured, vault-dir outside the home directory, repo discovery or fetch crashed, write failed, repo fetch failures in strict mode)

Exit codes follow .claude/rules/cli-design.md conventions.

Related

  • skills/gitlab-portfolio/SKILL.md — skill spec, aggregation phases, output schema, error handling (GH #41)
  • skills/vault-mirror/SKILL.md — vault registration conventions (_overview.md frontmatter, .vault.yaml)
  • Session-start Phase 2.7 — optional banner that surfaces portfolio staleness at session-start in dry-run mode

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

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).

The English summary is being prepared. Showing the original description.

Kanevry/session-orchestrator52Updated Oct 26, 2026

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).

The English summary is being prepared. Showing the original description.

Kanevry/session-orchestrator52Updated Oct 26, 2026

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).

The English summary is being prepared. Showing the original description.

Kanevry/session-orchestrator52Updated Oct 26, 2026

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.

The English summary is being prepared. Showing the original description.

Kanevry/session-orchestrator52Updated Oct 26, 2026

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 = note, unknown local keys = 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.

The English summary is being prepared. Showing the original description.

Kanevry/session-orchestrator52Updated Oct 26, 2026

close

Free

End session with verification, commits, and documentation

The English summary is being prepared. Showing the original description.

Kanevry/session-orchestrator52Updated Oct 26, 2026

See all skills by Kanevry

Report a problem with this skill