9thlevelsoftware/legion/portfolio-manager
- community
Checking that the SKILL.md file is still in the repository.
Multi-project portfolio management — registry, state aggregation, dependencies, agent allocation
Install
npx vskill@latest install 9thlevelsoftware/legion/portfolio-managerSKILL.md
Portfolio Manager
Core skill for multi-project portfolio management. Defines the global portfolio registry format, CRUD operations, state aggregation, cross-project dependency tracking, and agent allocation visibility.
References:
- State File Locations from
workflow-common.md(portfolio path at{adapter.global_config_dir}/portfolio.md) - State Update Pattern from
workflow-common.md(Read -> Update -> Write) - Agent Registry from
agent-registry.md(agent metadata for allocation tracking) - Execution Tracker Section 5 from
execution-tracker.md(progress calculation formula)
Section 1: Portfolio Registry Format
The global portfolio registry lives at {adapter.global_config_dir}/portfolio.md — outside any project directory, accessible from any working directory.
Registry Rules
- Each project has a unique heading (
### {project-name}) — the name from its PROJECT.md - If two projects have the same name, append the directory basename in parentheses:
### My App (my-app-v2) - Status meanings:
- Active: Project directory exists and has valid
.planning/state - Paused: User manually marked as paused
- Complete: All phases complete in ROADMAP.md
- Stale: Project directory not found at registered path
- Dependencies use
{project-name}:Phase {N}notation - Dependency types:
blocks— hard dependency, the target phase cannot proceed until the source phase completesinforms— soft dependency, the source phase output is useful but not required- The registry file is created automatically on first project registration
Section 2: Registry Operations
Instructions for commands to follow when managing the portfolio registry. These are procedural descriptions, not function signatures.
Register Project
Unregister Project
List Projects (for dashboard assembly)
Section 3: State Aggregation
How to read and aggregate cross-project state for the portfolio dashboard.
Per-Project State Extraction (from STATE.md)
- Current phase number and total phases
- Status text (e.g., "Phase 5 executing — Plan 05-01 complete")
- Last activity date and description
- Next action text
Per-Project Progress Extraction (from ROADMAP.md)
- Phase list with completion status (checkmarks in the Phases section)
- Plans completed vs total (from the Progress table)
- Overall progress percentage — use execution-tracker Section 5 formula:
- Sum all "Plans" values = total_plans
- Sum all "Completed" values = completed_plans
- Percentage = floor((completed_plans / total_plans) * 100)
Health Assessment Rules
Assess each project's health based on its state:
- Green
[OK]: Phase on track, no blockers in STATE.md, progress advancing - Criteria: last activity within 7 days, no "escalated"/"failed"/"blocked" in Status
- Yellow
[!!]: At risk — activity stale or issues present - Criteria: STATE.md Status mentions "escalated", "failed", or "blocked"; OR no activity in 7+ days
- Red
[XX]: Blocking — project missing or persistent issues - Criteria: project directory missing (Stale); OR STATE.md has unresolved blockers for 3+ phases
Aggregated Portfolio Metrics
Compute these from the assembled project list:
- Total projects: count of Active entries
- Overall progress: average completion % across active projects
- Projects at risk: count of Yellow + Red health assessments
- Dependency health: count of blocking dependencies vs total dependencies
Section 4: Cross-Project Dependencies
Operations for managing dependencies between projects in the portfolio.
Add Dependency
Remove Dependency
Check Dependencies
Dependency Notation
Dependencies use {project-name}:Phase {N} format:
My App:Phase 3— refers to Phase 3 of the "My App" project- The project name must match a
###heading in the registry - The phase number must exist in the referenced project's ROADMAP.md
Section 5: Agent Allocation
Derive agent usage patterns across projects at read-time. Since agents are personality files (not running processes), "allocation" is about visibility into usage patterns, not resource locking. Any project can use any agent at any time.
Scan Agent Assignments
Allocation Summary
From the agent usage map, derive:
- Shared agents: agents assigned to 2+ projects
- Display with division and the list of projects using them
- Division spread: which divisions are active across the portfolio
- Count how many projects use agents from each division
- Underutilized divisions: divisions with 0 projects using their agents
- Suggests potential untapped capabilities
Division Reference (canonical: CLAUDE.md § Agent Divisions)
Division counts MUST match the canonical Division Index in CLAUDE.md. Do NOT hardcode counts from any other source — re-derive them at runtime from the agents/ directory so schema drift is impossible.
Canonical counts (mirror of CLAUDE.md — update both in the same commit if either changes):
Runtime derivation (preferred — use this for any Section 5 computation):
Integrity check: scripts/audit/validate-agent-divisions.sh MUST pass before Section 5 displays Agent Allocation metrics. If the runtime count disagrees with the table above, treat the runtime count as truth and flag the discrepancy — CLAUDE.md and this table are stale.
Section 6: Error Handling
How to handle failures and edge cases in portfolio operations.
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/portfolio-manager/SKILL.md
Popularity
- Repository stars
- 62
- Repository forks
- 7
- 7-day trend score
- 21
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/9thlevelsoftware/legion/portfolio-manager)