Issue Prioritizer
LeoYeAI/openclaw-master-skills
Prioritize GitHub issues by ROI, solution sanity, and architectural impact.
Triages pending improvement-proposal MCP items — presents each with its scope and evidence, collects an accept/reject/defer decision per proposal, and carries out the disposition: project-scoped…
$ npx skills add jpicklyk/task-orchestrator --skill review-proposals -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install jpicklyk/task-orchestrator review-proposals --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/jpicklyk/task-orchestrator.git skills-src && mkdir -p .claude/skills && cp -r skills-src/claude-plugins/task-orchestrator/skills/review-proposals .claude/skills/review-proposals && 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 "review-proposals" agent skill from https://github.com/jpicklyk/task-orchestrator/tree/main/claude-plugins/task-orchestrator/skills/review-proposals into .claude/skills/review-proposals/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review-proposals", 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/jpicklyk/task-orchestrator/tree/main/claude-plugins/task-orchestrator/skills/review-proposalsType 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 jpicklyk/task-orchestrator --skill review-proposals -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install jpicklyk/task-orchestrator review-proposals --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jpicklyk/task-orchestrator.git skills-src && mkdir -p .agents/skills && cp -r skills-src/claude-plugins/task-orchestrator/skills/review-proposals .agents/skills/review-proposals && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "review-proposals" agent skill from https://github.com/jpicklyk/task-orchestrator/tree/main/claude-plugins/task-orchestrator/skills/review-proposals into .agents/skills/review-proposals/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review-proposals", 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 jpicklyk/task-orchestrator --skill review-proposals -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install jpicklyk/task-orchestrator review-proposals --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jpicklyk/task-orchestrator.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/claude-plugins/task-orchestrator/skills/review-proposals .cursor/skills/review-proposals && 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 "review-proposals" agent skill from https://github.com/jpicklyk/task-orchestrator/tree/main/claude-plugins/task-orchestrator/skills/review-proposals into .cursor/skills/review-proposals/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review-proposals", 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/jpicklyk/task-orchestrator.git --path claude-plugins/task-orchestrator/skills/review-proposals--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 jpicklyk/task-orchestrator --skill review-proposals -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install jpicklyk/task-orchestrator review-proposals --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jpicklyk/task-orchestrator.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/claude-plugins/task-orchestrator/skills/review-proposals .gemini/skills/review-proposals && 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 "review-proposals" agent skill from https://github.com/jpicklyk/task-orchestrator/tree/main/claude-plugins/task-orchestrator/skills/review-proposals into .gemini/skills/review-proposals/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review-proposals", 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 jpicklyk/task-orchestrator review-proposalsInstalls 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 jpicklyk/task-orchestrator --skill review-proposals -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/jpicklyk/task-orchestrator.git skills-src && mkdir -p .github/skills && cp -r skills-src/claude-plugins/task-orchestrator/skills/review-proposals .github/skills/review-proposals && 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 "review-proposals" agent skill from https://github.com/jpicklyk/task-orchestrator/tree/main/claude-plugins/task-orchestrator/skills/review-proposals into .github/skills/review-proposals/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review-proposals", 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 jpicklyk/task-orchestrator --skill review-proposals -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install jpicklyk/task-orchestrator review-proposals --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jpicklyk/task-orchestrator.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/claude-plugins/task-orchestrator/skills/review-proposals .opencode/skills/review-proposals && 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 "review-proposals" agent skill from https://github.com/jpicklyk/task-orchestrator/tree/main/claude-plugins/task-orchestrator/skills/review-proposals into .opencode/skills/review-proposals/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review-proposals", 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.
review-proposalsTriages pending improvement-proposal MCP items — presents each with its scope and evidence, collects an accept/reject/defer decision per proposal, and carries out the disposition: project-scoped…
Review Proposals is an agent skill from jpicklyk/task-orchestrator. Triages pending improvement-proposal MCP items — presents each with its scope and evidence, collects an accept/reject/defer decision per proposal, and carries out the disposition: project-scoped acceptances get their exact YAML applied to .taskorchestrator/config.yaml and pushed per-root; global acceptances get a tracked GitHub issue (or dwell in review for the maintainer); rejections are recorded and cancelled; deferrals are recorded and left in queue. Use when a user says: review proposals, triage proposals…
Its SKILL.md is about 4.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 Sales & Support, covering Proposals and quotes. It works with GitHub and Model Context Protocol. The repository describes itself as: Server-enforced workflow discipline for AI agents. An MCP server providing persistent work items, dependency graphs, quality gates, and actor attribution. Schemas define what… The licence is MIT.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit d2d362a. 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:
ghFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use gh, which can reach the network depending on how they are called.
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.
Review Proposals loads about 4.5k tokens when it runs. Until then it costs about 163 tokens; SKILL.md has 1,889 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 jpicklyk/task-orchestrator at commit d2d362a, republished under its MIT licence (© jpicklyk). 1,889 words, ~4,487 tokens.
.claude/skills/review-proposals/SKILL.md (or your agent's skills folder).Triages improvement-proposal MCP items created by /session-retrospective when a cross-session
trend graduates. Presents pending proposals, collects a per-proposal decision, and carries out the
disposition — including applying project-scoped config changes and filing/linking GitHub issues for
global changes.
Shared GitHub conventions (issue template, scrub rule, gh guard, dedup procedure) are not
duplicated here — see
<skill-base-dir>/../session-retrospective/references/github-feedback.md for the full C2/C4/C5
contract and dedup steps referenced throughout Step 5.
Parse $ARGUMENTS:
--scope global or --scope project → filter Step 1 discovery to only that scope's query.
Absent → run both discovery queries.Read the config file directly (file read, not MCP) — the path on the SessionStart context's Config: line when there is one, otherwise the workspace .taskorchestrator/config.yaml. In personal scope that path is the user-level file; below, "the config file" means whichever file you read here. Read it for:
project.rootId / project.name — enables the project-scoped discovery query and per-root push
in Step 5. In personal scope the root is the anchor-only personal root: skip the project-scoped
discovery query (proposals live in the global container) but a project-scoped acceptance still edits
and pushes the user-level file with rootId = the personal root. If absent, project-scoped discovery and project-scoped acceptance are unavailable —
proceed with global-only discovery.retrospective.github_feedback.enabled — default false if the block or key is absent.retrospective.github_feedback.repo — default jpicklyk/task-orchestrator if absent.Skip this step entirely in single-proposal mode (UUID argument supplied).
Run both queries in parallel (unless --scope narrows to one):
Global:
query_items(operation="search", query="Improvement Proposals", limit=5)Find the "Improvement Proposals" container from the result, then:
query_items(operation="overview", anchorId="<container-uuid>", includeChildren=true)Project-scoped (only if project.rootId is known):
query_items(operation="search", tags="improvement-proposal", ancestorId="<rootId>", limit=50)For each candidate item, classify by role and notes:
queue, no adoption-decision note yet. The main triage set.queue, has an adoption-decision note whose body starts with "deferred".
List in a separate section; do not re-offer for a decision unless the user explicitly asks to
revisit deferred proposals, or the stated revisit condition in the note plausibly holds now.work (item was accepted and advanced to work via start but never reached
review/terminal — an interrupted or stuck adoption). Flag as stalled adoption; offer to
resume (fill remaining notes and complete) or cancel.If nothing is pending (no queue-role items without an adoption-decision, and no stalled items), report:
No pending improvement proposals.and stop — do not proceed to later steps.
For each candidate (pending + stalled; cap at 15 — if more, take the 15 oldest by creation and note the overflow count), fetch notes:
query_notes(operation="list", itemId="<uuid>", includeBody=true)From the returned notes, extract:
proposal note (or the item's summary if the note is absent).config.yaml on an ambiguous scope reading.github-issue: line — the last line of the proposal note body, if present, in the
form github-issue: <url>. Carry this forward so Step 5's global-accept path can reuse it instead
of filing a duplicate.Render one compact table covering all pending + stalled candidates (deferred proposals get their own short list underneath, not full rows):
| # | ID | Proposal | Scope | Evidence | Age | Issue |
|---|-----|----------|-------|----------|-----|-------|
| 1 | `a1b2c3d4` | Add `session-tracking` maxLength guard | project | 3 sessions, sparse-note trend | 4d | — |
| 2 | `e5f6a7b8` | Nudge cooldown too short for solo dev | global | 2 sessions, friction theme | 1d | #142 |github-issue: link if present, else —.Below the table, list deferred proposals as a short reminder line each: `<short-id>` — deferred: <condition> (deferred <date>) and stalled proposals as `<short-id>` — stalled in work: <hint>.
For each pending/stalled proposal, show the proposed change (the exact YAML the proposal names, or
the file + section it targets) and ask via AskUserQuestion:
◆ "<proposal title>" [scope: project]
Proposed change:
<exact YAML or file+section from the proposal note>
What would you like to do?
1. Accept — apply this change
2. Reject — do not adopt, record why
3. Defer — revisit later, leave in queue
4. Skip — no decision this roundIf the user picks Reject or Defer, either take a one-line reason from their follow-up or offer an
"Other" free-text option so the rationale can be recorded verbatim in the adoption-decision note.
Skip leaves the item untouched — no note upsert, no advance.
.taskorchestrator/config.yaml, and confirm via AskUserQuestion before applying anything.rootId than this workspace's project.rootId: do not
edit this workspace's config. Instead, upsert adoption-decision recording that the change must
be applied from the owning workspace, and treat the item as deferred (leave it in queue) —
do not advance it..taskorchestrator/config.yaml, or the user-level file in personal scope) to apply the change.manage-schemas' config-format rules (see
<skill-base-dir>/../manage-schemas/references/config-format.md):role values are limited to queue | work | review.manage_project_config(operation="push", rootId="<rootId>", configYaml="<full file content>").CONFLICT_ERROR: never force blindly. Call manage_project_config(operation="get", rootId="<rootId>"),
diff the server's stored config against the local file, and surface the divergence to the user.
Only re-push with force: true after explicit user confirmation.ignoredSections containing retrospective (and other non-honored keys) is
expected, not an error — those sections are never resolved server-side. project is honored
per-root and will NOT appear in ignoredSections.manage_notes(operation="upsert", notes=[{
itemId: "<uuid>",
key: "adoption-decision",
role: "work",
body: "accepted — <rationale>. Applied to <config file actually edited> (<section>), pushed per-root <rootId> on <YYYY-MM-DD>."
}])start twice — queue→work, then work→review:advance_item(transitions=[{itemId: "<uuid>", trigger: "start"}])
advance_item(transitions=[{itemId: "<uuid>", trigger: "start"}])complete here — complete jumps straight to terminal and gate-checks required
notes across all phases, so it would be blocked by the intentionally-unfilled
outcome-verification note. start checks only the current phase's notes (adoption-decision,
just filled) and lands in review.review — do not advance further. State this explicitly to the user: the item
dwells in review with outcome-verification intentionally unfilled — a future
/session-retrospective run verifies whether the applied change actually helped, and fills that
note then. This is by design, not an oversight.github-issue: line, reuse that URL — no new issue.retrospective.github_feedback.enabled is true and the gh guard (C5 in the
shared reference) passes, file an issue per the C4 template and append the record-back line
(C2) to the proposal note.adoption-decision note.gh repo view <repo> --json viewerPermission -q .viewerPermissionadoption-decision:
"accepted — will implement; tracked in <url>." Advance start twice (queue→work,
work→review) — the same dwell-in-review pattern as project-scoped acceptance, with the same
complete-would-gate-block caveat; outcome-verification is filled by a later retrospective.gh unavailable ⇒ community handoff (default). Upsert both notes:manage_notes(operation="upsert", notes=[
{
itemId: "<uuid>",
key: "adoption-decision",
role: "work",
body: "accepted — delegated upstream; tracked in <issue-url>."
},
{
itemId: "<uuid>",
key: "outcome-verification",
role: "review",
body: "delegated upstream — verification happens in <repo> issue #<N>, not this workspace. Verdict: n/a (handed off)."
}
])advance_item(transitions=[{itemId: "<uuid>", trigger: "start"}])
advance_item(transitions=[{itemId: "<uuid>", trigger: "complete"}])start enters work; complete then goes straight to terminal — its all-phases note gate
passes because proposal, adoption-decision, AND outcome-verification are all filled.
The item is now fully terminal — the GitHub issue is the living tracker, not this workspace.
Either way, finish with the Source-trend write-back below: community handoff (terminal)
retires the source trend now; the maintainer path leaves it active until a later retrospective
verifies the landed change.manage_notes(operation="upsert", notes=[{
itemId: "<uuid>",
key: "adoption-decision",
role: "work",
body: "rejected — <reason>. Recorded so future retrospectives do not re-propose."
}])
advance_item(transitions=[{itemId: "<uuid>", trigger: "cancel"}])cancel is a single gate-free call — it goes straight to terminal from any non-terminal role, no
note gate involved. Do not fill outcome-verification for a rejection; there is no change to
verify. Then apply the Source-trend write-back below.
manage_notes(operation="upsert", notes=[{
itemId: "<uuid>",
key: "adoption-decision",
role: "work",
body: "deferred — revisit when <condition>. Deferred on <YYYY-MM-DD>."
}])No advance_item call — the item stays in queue. A later Accept decision overwrites this same
note via upsert (last-writer-wins), so re-running this skill and accepting a previously-deferred
proposal works without any special-casing.
Most proposals graduated from a trend item (tags retrospective-trend, one item per cross-session
pattern) whose summary carries GRADUATED -> proposal <short-id>. After carrying out a disposition,
close the loop at the source. Everything here uses only gate-free operations (manage_items update,
advance_item with cancel) — never start or complete on a trend item — so it is safe under
any schema config. Locate the source trend:
query_items(operation="search", query="<proposal-short-id>", scope={tags: ["retrospective-trend"]})Skip this write-back silently when no trend matches — proposals can also be created ad hoc without a graduating trend.
manage_items(operation="update"):
proposal <short-id> rejected <YYYY-MM-DD> — do not re-graduate; see its adoption-decision note.
The trend stays active and keeps accumulating evidence, but every future retrospective now sees
the rejection inline in the Step 4.2 listing instead of having to discover the cancelled proposal.advance_item(itemId="<trend-uuid>", trigger="cancel", summary="archived: addressed via proposal <short-id>").
When adoption is only tracked so far (maintainer path dwelling in review awaiting
implementation), leave the trend active — the later retrospective that fills
outcome-verification retires it once the change demonstrably held.Render a summary table of the run:
## Proposal Review — <YYYY-MM-DD>
| ID | Proposal | Disposition | Action |
|----|----------|-------------|--------|
| `a1b2c3d4` | Add maxLength guard | Accepted | pushed .taskorchestrator/config.yaml (work_item_schemas), dwelling in review |
| `e5f6a7b8` | Nudge cooldown | Accepted (global) | filed https://github.com/jpicklyk/task-orchestrator/issues/143, terminal |
| `c9d0e1f2` | Rename note key | Rejected | cancelled — duplicate of existing key |
| `f3a4b5c6` | Widen skill pointer | Deferred | revisit when trait usage grows |Close with a reminder: accepted items dwelling in review are not stuck — their
outcome-verification note is filled by a future /session-retrospective run once the applied
change has had a chance to show effect.
gh unavailable or unauthenticated
Cause: gh auth status failed (not installed, not logged in, or network issue) — see the C5 guard
in <skill-base-dir>/../session-retrospective/references/github-feedback.md.
Solution: For global acceptances, proceed without filing an issue and say so in the
adoption-decision note ("accepted — no GitHub issue filed (gh unavailable)."). This never blocks
the disposition — filing is best-effort. The user can file the issue manually later and record the
URL back onto the proposal note themselves.
CONFLICT_ERROR on manage_project_config push
Cause: The stored per-root config's fingerprint has moved since this workspace last read it —
someone else (another session, manage-schemas, or quick-start) pushed a newer version.
Solution: Never force blindly. Call manage_project_config(operation="get", rootId="<rootId>"),
diff the returned configYaml against the local file, and show the user exactly what differs.
Only retry with force: true after the user explicitly confirms which version should win — a blind
force can silently revert someone else's concurrent change.
Proposal has no exact YAML to apply
Cause: The proposal body describes the change in prose only (common for proposals that predate a YAML-inclusion convention, or for changes that aren't schema edits — e.g., a skill wording tweak).
Solution: Draft the edit yourself from the proposal's description, show it to the user as a diff
before touching any file, and get explicit confirmation via AskUserQuestion before applying. Do
not guess silently and push.
Proposal targets a different workspace's rootId
Cause: The proposal's stated scope names a project root UUID that doesn't match this workspace's
project.rootId — the proposal was likely created while working in a different project sharing the
same MCP database.
Solution: Do not edit this workspace's .taskorchestrator/config.yaml. Record in the
adoption-decision note that the change must be applied from the owning workspace (name the
rootId if known), and treat the proposal as deferred — leave it in queue rather than advancing
it, since no action was actually taken here.
© jpicklyk, MIT. 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 claude-plugins/task-orchestrator/skills/review-proposals of jpicklyk/task-orchestrator.
Open the folder on GitHubat commit d2d362a
Review Proposals 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 |
|---|---|---|---|---|---|---|
| Review Proposals this skilljpicklyk/task-orchestrator | 207 | — | ~4.5k | Automated safety check: Pass | MIT | |
| Issue PrioritizerLeoYeAI/openclaw-master-skills | 2.2k | — | ~3.9k | Automated safety check: Pass | MIT | |
| GitHub Voicetobihagemann/turbo | 408 | — | ~1.3k | Automated safety check: Pass | MIT | |
| ComposioComposioHQ/composio | 30k | 1 repos | ~1.7k | Automated safety check: Pass | MIT | |
| Rea Changelog Updatemorluto/rea | 80k | — | ~1.9k | Automated safety check: Pass | MIT | |
| Skill Seekers Builderyusufkaraaslan/Skill_Seekers | 15k | — | ~760 | Automated safety check: Pass | MIT |
LeoYeAI/openclaw-master-skills
Prioritize GitHub issues by ROI, solution sanity, and architectural impact.
tobihagemann/turbo
Shared writing style rules for GitHub-facing output (PR comments, PR descriptions, PR titles, issues, design proposals).
ComposioHQ/composio
Route and complete Composio work across Composio For You and Composio Platform.
morluto/rea
Prepare or rewrite REA release changelogs and GitHub release notes from pinned Git history, with verified contributor thanks and Release Please synchronization.
yusufkaraaslan/Skill_Seekers
Detects the type of a knowledge source and uses the Skill Seekers MCP tools to turn docs, repos, PDFs or videos into packaged AI skills.
EBISPOT/ols4
A skill your agent uses for any question about a codebase, its architecture, file relationships, or project content — especially when graphify-out/ exists, where the question should be treated as a…
jpicklyk/task-orchestrator
Walks through how to launch and reach the MCP Task Orchestrator server container: transport, REST API, port publishing, config mounts and config-sync.
jpicklyk/task-orchestrator
Resolves ready MCP work items into a run plan, shows it to you, then executes it through the Workflow tool or direct subagent dispatch, with post-run verification.
jpicklyk/task-orchestrator
Migrates an existing unscoped Task Orchestrator database to the project-scoping convention in place, creating one project anchor root and re-parenting work trees under it after a mandatory dry run.
jpicklyk/task-orchestrator
Completes or cancels a whole feature subtree, a named list of items, or a batch of stale work items at once, previewing the impact and warning before force-completing anything active.
jpicklyk/task-orchestrator
Creates an MCP work item from conversation context, anchoring it under the right container, inferring type and priority and pre-filling the required notes.
jpicklyk/task-orchestrator
Views, creates, deletes and diagnoses BLOCKS, IS_BLOCKED_BY and RELATES_TO links between MCP work items, including why an item cannot start.
Works with
Categories
Triages pending improvement-proposal MCP items — presents each with its scope and evidence, collects an accept/reject/defer decision per proposal, and carries out the disposition: project-scoped…. Review Proposals is an agent skill from jpicklyk/task-orchestrator.yaml and pushed per-root; global acceptances get a tracked GitHub issue (or dwell in review for the maintainer); rejections are recorded and cancelled; deferrals are recorded and left in queue.
Review Proposals fits situations like: A user says: review proposals; triage proposals; pending proposals; what proposals are open.
Run `npx skills add jpicklyk/task-orchestrator --skill review-proposals -a claude-code`. Or copy the skill folder (claude-plugins/task-orchestrator/skills/review-proposals in jpicklyk/task-orchestrator) into .claude/skills/review-proposals in your project. Claude Code loads it when a task matches its description.
Run `npx skills add jpicklyk/task-orchestrator --skill review-proposals -a codex`. Or copy the skill folder (claude-plugins/task-orchestrator/skills/review-proposals in jpicklyk/task-orchestrator) into .agents/skills/review-proposals 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 jpicklyk/task-orchestrator --skill review-proposals -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/review-proposals, .gemini/skills/review-proposals, .github/skills/review-proposals and .opencode/skills/review-proposals in your project.
Going by SKILL.md and its folder, Review Proposals needs the command-line tools its instructions call (gh).
SKILL.md contains no URLs. Its commands use gh, which can reach the network depending on how they are called. 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.
Review Proposals is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.5k tokens (SKILL.md is roughly 18k 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 Review Proposals: Issue Prioritizer (LeoYeAI/openclaw-master-skills, 2.2k stars), GitHub Voice (tobihagemann/turbo, 408 stars), Composio (ComposioHQ/composio, 30k stars) and Rea Changelog Update (morluto/rea, 80k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
jpicklyk (a GitHub user) maintains it in jpicklyk/task-orchestrator, which has 207 GitHub stars. The repository holds 28 skills in this directory. The repository was last updated on October 9, 2026.
Source: jpicklyk/task-orchestrator on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.