Project Session Management
Microck/ordinary-claude-skills
Track progress across work sessions using SESSION.md with git checkpoints and concrete next actions.
Manages orchestration session state, tracking, and resumption
$ npx skills add josstei/maestro-orchestrate --skill session-management -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install josstei/maestro-orchestrate session-management --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/josstei/maestro-orchestrate.git skills-src && mkdir -p .claude/skills && cp -r skills-src/src/skills/shared/session-management .claude/skills/session-management && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "session-management" agent skill from https://github.com/josstei/maestro-orchestrate/tree/main/src/skills/shared/session-management into .claude/skills/session-management/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "session-management", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/josstei/maestro-orchestrate/tree/main/src/skills/shared/session-managementType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add josstei/maestro-orchestrate --skill session-management -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install josstei/maestro-orchestrate session-management --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/josstei/maestro-orchestrate.git skills-src && mkdir -p .agents/skills && cp -r skills-src/src/skills/shared/session-management .agents/skills/session-management && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "session-management" agent skill from https://github.com/josstei/maestro-orchestrate/tree/main/src/skills/shared/session-management into .agents/skills/session-management/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "session-management", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add josstei/maestro-orchestrate --skill session-management -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install josstei/maestro-orchestrate session-management --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/josstei/maestro-orchestrate.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/src/skills/shared/session-management .cursor/skills/session-management && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "session-management" agent skill from https://github.com/josstei/maestro-orchestrate/tree/main/src/skills/shared/session-management into .cursor/skills/session-management/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "session-management", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/josstei/maestro-orchestrate.git --path src/skills/shared/session-management--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add josstei/maestro-orchestrate --skill session-management -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install josstei/maestro-orchestrate session-management --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/josstei/maestro-orchestrate.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/src/skills/shared/session-management .gemini/skills/session-management && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "session-management" agent skill from https://github.com/josstei/maestro-orchestrate/tree/main/src/skills/shared/session-management into .gemini/skills/session-management/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "session-management", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install josstei/maestro-orchestrate session-managementInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add josstei/maestro-orchestrate --skill session-management -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/josstei/maestro-orchestrate.git skills-src && mkdir -p .github/skills && cp -r skills-src/src/skills/shared/session-management .github/skills/session-management && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "session-management" agent skill from https://github.com/josstei/maestro-orchestrate/tree/main/src/skills/shared/session-management into .github/skills/session-management/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "session-management", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add josstei/maestro-orchestrate --skill session-management -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install josstei/maestro-orchestrate session-management --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/josstei/maestro-orchestrate.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/src/skills/shared/session-management .opencode/skills/session-management && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "session-management" agent skill from https://github.com/josstei/maestro-orchestrate/tree/main/src/skills/shared/session-management into .opencode/skills/session-management/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "session-management", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
session-managementManages orchestration session state, tracking, and resumption
Session Management is an agent skill from josstei/maestro-orchestrate. Manages orchestration session state, tracking, and resumption
Its SKILL.md is about 3.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Agent Workflows, covering Authentication and Session handoff. The repository describes itself as: Multi-agent orchestration platform for Gemini CLI, Claude Code, Codex, and Qwen Code — 39 specialists, parallel subagents, persistent sessions, and built-in code review…. The licence is Apache-2.0.
9 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 4f5d434. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
nodeFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Session Management loads about 3.5k tokens when it runs. Until then it costs about 20 tokens; SKILL.md has 1,499 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from josstei/maestro-orchestrate at commit 4f5d434, republished under its Apache-2.0 licence (© josstei). 1,499 words, ~3,501 tokens.
.claude/skills/session-management/SKILL.md (or your agent's skills folder).Activate this skill for all session state operations during Maestro orchestration. This skill defines the protocols for creating, updating, resuming, and archiving orchestration sessions.
When MCP state tools are available, prefer them for state operations:
initialize_workspace, create_session, update_session, transition_phase, get_session_status, archive_session) — structured I/O, atomic operations.write_file/replace directly on state files — when MCP tools are not in the available tool list.write-state.js, read-state.js) — remain available but are not the recommended path.Detection: check whether MCP state tools appear in your available tools. If they do, use them. If they do not, use write_file/replace.
Maestro hooks maintain a separate, transient state directory under ${MAESTRO_HOOKS_DIR:-<os.tmpdir()>/maestro-hooks-<uid>}/<session-id>/ that is distinct from orchestration state in <MAESTRO_STATE_DIR>:
| Concern | Orchestration State | Hook State |
|---|---|---|
| Location | <MAESTRO_STATE_DIR>/state/ | ${MAESTRO_HOOKS_DIR:-<os.tmpdir()>/maestro-hooks-<uid>}/<session-id>/ |
| Lifecycle | Created at execution setup, archived in Phase 4 | Directory created by the session-start hook when an active session exists; active-agent file written by the pre-delegation hook and cleared by the post-delegation hook; stale directories pruned by both session-start and pre-delegation hooks |
| Contents | Session metadata, phase tracking, token usage, file manifests | Active agent tracking file (active-agent) |
| Persistence | Survives session restarts (supports /maestro:resume) | Ephemeral — lost on session end or system reboot |
| Managed by | Orchestrator via session-management skill | The runtime's pre-delegation and post-delegation hooks |
The pre-delegation hook prunes stale hook state directories older than 2 hours to prevent accumulation from abnormal session terminations.
The orchestrator does not read or write hook-level state directly. It interacts only with <MAESTRO_STATE_DIR> paths. The two state systems are independent and serve different concerns.
For Standard workflow, create a new session at execution setup after the design document and implementation plan are approved and the execution mode gate has resolved. For Express workflow, create a session after the structured brief is approved (see Express Workflow section in the orchestrator template).
YYYY-MM-DD-<topic-slug>
Where:
YYYY-MM-DD is the orchestration start date<topic-slug> is a lowercase, hyphenated summary matching the design document topic<MAESTRO_STATE_DIR>/state/active-session.md
All state paths in this skill use <MAESTRO_STATE_DIR> as their base directory (default: docs/maestro). In procedural steps, <state_dir> represents the resolved value of this variable.
Both read_file and write_file work on state paths inside <MAESTRO_STATE_DIR>. The runtime's file-access configuration makes state paths accessible.
Use the runtime's bundled scripts/ directory for these helper commands so they still work when the extension is installed outside the workspace root.
Reading state files:
Use read_file directly. The read-state.js script remains available as an alternative for TOML shell blocks that inject state before the model's first turn:
run_shell_command: node <runtime-script-root>/read-state.js <relative-path>
Writing state files:
Use write_file directly. When content must be piped from a shell command, use the atomic write script:
run_shell_command: echo '...' | node <runtime-script-root>/write-state.js <relative-path>
Rules:
write-state.js script writes atomically (temp file + rename) to prevent partial writesMAESTRO_STATE_DIR<state_dir>/state/ directory if it does not exist (defense-in-depth fallback — workspace readiness startup check is the primary mechanism)active-session.md — if one exists, alert the user and offer to archive or resumesession-state template loaded via get_skill_contentpendingin_progresscurrent_phase to 1---
session_id: "<YYYY-MM-DD-topic-slug>"
task: "<user's original task description>"
created: "<ISO 8601 timestamp>"
updated: "<ISO 8601 timestamp>"
status: "in_progress"
workflow_mode: "<standard|express>"
design_document: "<state_dir>/plans/<design-doc-filename>"
implementation_plan: "<state_dir>/plans/<impl-plan-filename>"
current_phase: 1
total_phases: <integer from impl plan>
execution_mode: null
execution_backend: null
task_complexity: null
token_usage:
total_input: 0
total_output: 0
total_cached: 0
by_agent: {}
phases:
- id: 1
name: "<phase name from impl plan>"
status: "pending"
agents: []
parallel: false
started: null
completed: null
blocked_by: []
files_created: []
files_modified: []
files_deleted: []
downstream_context:
key_interfaces_introduced: []
patterns_established: []
integration_points: []
assumptions: []
warnings: []
errors: []
retry_count: 0
---
# <Topic> Orchestration LogInclude task_complexity (from design document frontmatter) in the session state. Place after execution_backend, before token_usage. Default: null.
Update session state on every meaningful state change:
updated field on every state changepending -> in_progressin_progress -> completedin_progress -> failedfailed -> in_progress (retry)pending -> skipped (user decision only)current_phase to the ID of the currently executing phasefiles_created, files_modified, or files_deleted as subagents report changesdownstream_contexttotal_* and by_agent sectionserrors array with complete metadataerrors:
- agent: "<agent-name>"
timestamp: "<ISO 8601>"
type: "<validation|timeout|file_conflict|runtime|dependency>"
message: "<full error description>"
resolution: "<what was done to resolve, or 'pending'>"
resolved: falseretry_count on each retry attemptAfter updating YAML frontmatter, append to the Markdown body:
## Phase N: <Phase Name> <status indicator>
### <Agent Name> Output
[Summary of agent output or full content]
### Files Changed
- Created: [list]
- Modified: [list]
### Downstream Context
- Key Interfaces Introduced: [list]
- Patterns Established: [list]
- Integration Points: [list]
- Assumptions: [list]
- Warnings: [list]
### Validation Result
[Pass/Fail with details]Status indicators:
Archive session state when:
MAESTRO_AUTO_ARCHIVE is true (default)MAESTRO_AUTO_ARCHIVE setting)When MAESTRO_AUTO_ARCHIVE is false, prompt the user after successful completion: "Session complete. Auto-archive is disabled. Would you like to archive this session?"
If archive_session appears in your available tools, use it — a single call handles all archival:
archive_session with the session ID. The MCP tool atomically:completedactive-session.md to <state_dir>/state/archive/<session-id>.md<state_dir>/plans/archive/ (if it exists and is non-null)<state_dir>/plans/archive/ (if it exists and is non-null)archived_files array in the response)If archive_session is not available, fall back to manual file operations:
<state_dir>/plans/archive/ directory if it does not exist<state_dir>/state/archive/ directory if it does not exist<state_dir>/plans/ to <state_dir>/plans/archive/ — the original MUST be deleted. Use the shell-command tool from runtime context with mv or read+write+delete. Do NOT leave the file in both locations. Skip this step if design_document is null (Express sessions).<state_dir>/plans/ to <state_dir>/plans/archive/ — same: delete the original. Skip this step if implementation_plan is null (Express sessions).status to completedupdated timestampactive-session.md from <state_dir>/state/ to <state_dir>/state/archive/<session-id>.md — delete the original.After archival, verify ALL of the following (archive is incomplete if any check fails):
active-session.md exists in <state_dir>/state/<state_dir>/plans/ (only the archive/ subdirectory should be present)archive/Resume is triggered by the /maestro:resume command or when /maestro:orchestrate detects an existing active session.
/maestro:resume), use that injected content instead of calling get_session_status. Otherwise, if get_session_status appears in your available tools, call it to read the active session. Otherwise, read state via run_shell_command: node <runtime-script-root>/read-active-session.js (resolves MAESTRO_STATE_DIR internally)status: completed)status: in_progress or pending)in_progress and update timestampsWhen resuming a session with workflow_mode: "express" (read from session state via get_session_status), follow the Express workflow's resume protocol instead of the standard resume steps above:
pending: re-generate and present the structured brief for approval. On approval, proceed to delegation.in_progress: the implementing agent was interrupted. Re-delegate with the same scope. Use the agents array to identify which agent was running.completed but session status is in_progress: code review or archival was interrupted. Run the code review step, then archive.Express sessions have a single phase. The phase status combined with the agents array contents determines the resume position.
When resuming, check for potential conflicts:
Report any detected conflicts to the user before proceeding.
After each subagent invocation, record:
Maintain two levels of aggregation:
token_usage:
total_input: 15000
total_output: 8000
total_cached: 3000
by_agent:
coder:
input: 8000
output: 4000
cached: 2000
tester:
input: 7000
output: 4000
cached: 1000© josstei, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in src/skills/shared/session-management of josstei/maestro-orchestrate.
Open the folder on GitHubat commit 4f5d434
Session Management next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Session Management this skilljosstei/maestro-orchestrate | 465 | — | ~3.5k | Automated safety check: Pass | Apache-2.0 | |
| Project Session ManagementMicrock/ordinary-claude-skills | 403 | — | ~1.9k | Automated safety check: Pass | Custom licence | |
| MCP Server Builder with mcp-usemcp-use/mcp-use | 11k | — | ~923 | Automated safety check: Pass | Apache-2.0 | |
| Cao MCP Appsawslabs/cli-agent-orchestrator | 1.4k | — | ~1.9k | Automated safety check: Pass | Apache-2.0 | |
| CodemanArk0N/Codeman | 784 | — | ~13k | Automated safety check: Notes | MIT | |
| Cross Origin Iframe Probejumodada/Drissionpage-MCP-Server | 487 | — | ~1.2k | Automated safety check: Pass | Custom licence |
Microck/ordinary-claude-skills
Track progress across work sessions using SESSION.md with git checkpoints and concrete next actions.
mcp-use/mcp-use
Builds, modifies, debugs, migrates and verifies TypeScript MCP servers and MCP Apps with the mcp-use framework, treating the installed package's types as the source of truth.
awslabs/cli-agent-orchestrator
Enable, operate, and extend CAO's MCP Apps surface — the host-rendered fleet dashboard visible inside MCP App hosts (Claude Desktop, ChatGPT, VS Code Copilot, Goose, Postman).
Ark0N/Codeman
Drive Codeman, the session manager this agent is running inside, over its HTTP API: list sessions, start worker sessions, send them prompts, block until they finish (wait / wait-output /…
jumodada/Drissionpage-MCP-Server
A skill your agent uses when a drissionpage-mcp task targets an iframe such as a payment widget, challenge, SSO flow, or embedded checkout.
githits-com/githits-cli
A skill your agent uses when the user asks to install, connect, configure, sign in to, sign up for, or start using GitHits.
josstei/maestro-orchestrate
Standalone code review methodology for structured, severity-classified code assessment
josstei/maestro-orchestrate
Phase execution methodology for orchestration workflows with error handling and completion protocols
josstei/maestro-orchestrate
Generates detailed implementation plans from finalized designs
josstei/maestro-orchestrate
Cross-cutting validation methodology for verifying phase outputs and project integrity
josstei/maestro-orchestrate
Agent delegation best practices for constructing effective subagent prompts with proper scoping
josstei/maestro-orchestrate
Run a Maestro-style accessibility audit for WCAG compliance, ARIA usage, keyboard navigation, and screen reader compatibility
Categories
Manages orchestration session state, tracking, and resumption. Session Management is an agent skill from josstei/maestro-orchestrate.
Session Management fits situations like: tasks that involve Authentication; tasks that involve Session handoff.
Run `npx skills add josstei/maestro-orchestrate --skill session-management -a claude-code`. Or copy the skill folder (src/skills/shared/session-management in josstei/maestro-orchestrate) into .claude/skills/session-management in your project. Claude Code loads it when a task matches its description.
Run `npx skills add josstei/maestro-orchestrate --skill session-management -a codex`. Or copy the skill folder (src/skills/shared/session-management in josstei/maestro-orchestrate) into .agents/skills/session-management in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add josstei/maestro-orchestrate --skill session-management -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/session-management, .gemini/skills/session-management, .github/skills/session-management and .opencode/skills/session-management in your project.
Going by SKILL.md and its folder, Session Management needs the command-line tools its instructions call (node).
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Session Management is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.5k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Session Management: Project Session Management (Microck/ordinary-claude-skills, 403 stars), MCP Server Builder with mcp-use (mcp-use/mcp-use, 11k stars), Cao MCP Apps (awslabs/cli-agent-orchestrator, 1.4k stars) and Codeman (Ark0N/Codeman, 784 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
josstei (a GitHub user) maintains it in josstei/maestro-orchestrate, which has 465 GitHub stars. The repository holds 17 skills in this directory. The repository was last updated on October 6, 2026.
Source: josstei/maestro-orchestrate on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.