Agent skill

Work Summary

by jpicklyk in jpicklyk/task-orchestrator

Generates a project dashboard from MCP work items. An agent skill from jpicklyk/task-orchestrator.

MITAuto-check passedProductivity & Automation

Install Work Summary

skills CLI
$ npx skills add jpicklyk/task-orchestrator --skill work-summary -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install jpicklyk/task-orchestrator work-summary --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ 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/work-summary .claude/skills/work-summary && rm -rf skills-src

Use ~/.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/

Facts

Skill name
work-summary
GitHub stars
207
Token cost
~4.3k tokens
SKILL.md length
1,963 words
Files
1
Skills in repo
28
Repo updated
First seen
Licence
MIT

At a glance

Generates a project dashboard from MCP work items. An agent skill from jpicklyk/task-orchestrator.

  • Works in 2 steps: Mode Selection → 5 — Project Scope Resolution
  • The user says: project status
  • SKILL.md covers Step 0 — Mode Selection, Step 0.5 — Project Scope…, Lean Mode (default) and Full Inventory Mode…, plus 3 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Work Summary is an agent skill from jpicklyk/task-orchestrator. Generates a project dashboard from MCP work items. Default is a lean, attention-first view: what's in flight, what's blocked, what to do next, what's queued. Use when the user says: project status, what's active, show me the dashboard, work summary, what should I work on, project health, what's blocked, where did I leave off, show items, what's in the backlog, overview, or any request to see or review the current state of work items. Also use at session start when gathering current project context.

Its SKILL.md is about 4.3k 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 Productivity & Automation, covering Time tracking and reporting. It works with 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.

When your agent uses it

  • The user says: project status
  • Show me the dashboard
  • What should I work on
  • Where did I leave off

Example prompts

  • “s in flight, what”
  • “s queued. Use when the user says: project status, what”
  • “s blocked, where did I leave off, show items, what”
  • “/work-summary”

Workflow steps

2 steps, taken from the step headings in SKILL.md.

  1. Mode Selection
  2. 5 — Project Scope Resolution

What it can do on your machine

Read from SKILL.md and the folder at commit b688ea0. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Work Summary loads about 4.3k tokens when it runs. Until then it costs about 129 tokens; SKILL.md has 1,963 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~129
When it runs · the whole SKILL.md, loaded when a task matches
~4.3k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from jpicklyk/task-orchestrator at commit b688ea0, republished under its MIT licence (© jpicklyk). 1,963 words, ~4,339 tokens.

Download SKILL.mdSave it as .claude/skills/work-summary/SKILL.md (or your agent's skills folder).
name
work-summary
description
Generates a project dashboard from MCP work items. Default is a lean, attention-first view: what's in flight, what's blocked, what to do next, what's queued. Use when the user says: project status, what's active, show me the dashboard, work summary, what should I work on, project health, what's blocked, where did I leave off, show items, what's in the backlog, overview, or any request to see or review the current state of work items. Also use at session start when gathering current project context.
argument-hint
[full | container UUID or title to scope the summary]

Work Summary — Current (v3)

Attention-first project dashboard. The default (lean) mode answers four questions — what's moving, what's stuck, what's next, what's queued — in a bounded view (~45 lines) regardless of workspace size. The exhaustive inventory is available as an explicit mode, not the default: mature workspaces accumulate hundreds of terminal items, and rendering them all buries the actionable content.

Supplement the data with brief observations only when there is a genuine anomaly or actionable insight.


Step 0 — Mode Selection

$ARGUMENTSMode
emptyLean (default)
the literal word fullFull Inventory
the literal word allMulti-Project — one condensed section per known project root
anything elseScoped — resolve to a UUID via query_items(operation="search", query=$ARGUMENTS, limit=5); prefer the best-matching root or container item; if ambiguous, present matches via AskUserQuestion

Step 0.5 — Project Scope Resolution

Before running Lean, Full, or Multi-Project mode, resolve the scope:

  • Check session context from the SessionStart hook. A ## Project Scope section carries a project rootId, which scopes reads (ancestorId/anchorId) and anchors. A ## Personal Scope section carries a personal root, which only anchors new items: in personal scope every call below runs unscoped (whole database) and the header says personal scope — whole database.
  • Otherwise, read .taskorchestrator/config.yaml's top-level project.rootId field (a file read, not an MCP call).
  • If no rootId is found by either path, behavior is exactly as before this feature existed — every call below runs unscoped (whole-DB), and no ancestorId/anchorId param is passed. This is the common case for single-project workspaces.

When a project rootId is known, Lean and Full mode calls pass it as ancestorId="<rootId>" — except the overview calls, which use anchorId="<rootId>" (all noted inline below). Scoped mode is unaffected — it already resolves its own scope UUID per invocation via FTS.


Lean Mode (default)

Data collection (all parallel)
  1. query_items(operation="overview", excludeTerminal=true) — non-terminal roots with their childCounts role roll-ups only. includeChildren is deliberately omitted: it is a no-op on the anchored (project-scoped) path — the anchored overview never returns per-child arrays, only childCounts — and unnecessary on the global path, since the step-5 queue-list is the canonical source for individual children. Add anchorId="<rootId>" when a rootId is known, to anchor the overview to this project. Detecting an older server: MCP servers silently ignore unknown parameters (they return 200 with the full unfiltered payload) rather than rejecting them — so a server predating excludeTerminal will not error. Detect the no-op by inspecting the payload: if any returned root has role: "terminal" AND its childCounts show only terminal descendants (no queue/work/review/blocked), the filter was not applied. Note the qualifier: a current server intentionally retains a terminal-role root that still has non-terminal descendants (it is active work parked under a done container), so a terminal root with open descendants is expected, not evidence of an old server. When the no-op is detected, (a) drop client-side only those terminal roots whose childCounts show no open descendants during enrichment, and (b) if the response is also truncated: true, re-issue with limit=<total> (still passing anchorId if known) so non-terminal roots in the tail (e.g. active containers) are not silently dropped — a truncated unfiltered payload can hide real workstreams. Headline counts never come from this payload regardless (see the role-total queries below), so correctness holds either way; this only recovers the workstream/backlog completeness the filter was meant to guarantee.
  2. get_context() — health-check: active items, blocked items, stalled items, claim summary. Add ancestorId="<rootId>" when known.
  3. get_context(mode="session-resume", since="<now minus 48h, ISO 8601>") — recent role transitions (the "where did I leave off" signal). Add ancestorId="<rootId>" when known — but note the known limitation: recentTransitions is NOT scoped by ancestorId even when passed; it always reflects the whole tree, not just this project.
  4. get_next_item(limit=5, includeDetails=true) — ranked recommendations with parentId/tags. Add ancestorId="<rootId>" when known.
  5. query_items(operation="search", role="queue", limit=100) — the canonical source for queue children. Group its rows by parentId to get each workstream's "next up" (the queue children the anchored overview omits); each row carries parentId, depth, priority, and type/tags. total gives the true queued count. Add ancestorId="<rootId>" when known. Exclude shelves from the headline: subtract rows whose type or tag is container or project — a freshly-created container/anchor sits in queue role until its first advance and would otherwise inflate N queued. If total exceeds the returned page (queue backlog >100), note the headline count is approximate.
  6. query_items(operation="search", role="terminal", limit=1) — read total for the true terminal count. Add ancestorId="<rootId>" when known.

Headline counts must come from these sources, never from eyeballing the overview payload — overview covers the roots set with childCounts roll-ups only and may be truncated.

Enrichment
  • Containers are shelves, not work. Items with tag or type = container never count as active; exclude them from the active/In Flight lists.
  • Active = health-check activeItems minus containers. Blocked/stalled = health-check lists as-is.
  • Workstreams = non-terminal roots with children. Progress fraction = terminal / total from childCounts, rendered N/M terminal (not done — the terminal bucket includes cancelled items, so labeling it "done" overstates completion); "next up" = the highest-priority queue row from the step-5 queue-list whose parentId is that root.
  • Standalone queue roots group by kind: the type field if set; else the first tag not in {agent-observation, feature, container}; else "Uncategorized".
  • Rollup threshold: any group with more than 5 items renders as a count line broken down by kind, listing individual items only when priority ≥ medium or tagged action-item.
  • Hygiene candidates: empty non-terminal containers; evident test artifacts (probe/smoke/depth-test titles, mtest-* tags).
Dashboard format

Render in this order; omit any section with no data.

## ◆ Work Summary

[One sentence: health and momentum.]

**N active · N blocked · N stalled · N queued · N terminal**

### ◉ In Flight
| ID | Item | Container | Status | Pri |
|----|------|-----------|--------|-----|
| `xxxxxxxx` | <title> | <parent title or —> | ◉ work | high |

↳ Recent: <up to 3 one-line transition summaries from session-resume, newest first — omit line if none in 48h>

### ⊘ Attention Required
| ID | Item | Container | Issue |
|----|------|-----------|-------|
| `xxxxxxxx` | <title> | <parent or —> | Blocked by: `<blocker-id>` <blocker-title> |
| `yyyyyyyy` | <title> | <parent or —> | Stalled: missing `<note-key>` (trait: <trait-name> if applicable) |

### ▸ Recommended Next
| ID | Title | Container | Pri |
|----|-------|-----------|-----|

### ○ Backlog
**Workstreams**
| ID | Workstream | Progress | Next up | Pri |
|----|-----------|----------|---------|-----|
| `xxxxxxxx` | <root title> | 2/5 terminal | <queue child title> | high |

**<Kind>** (N): `id` <title> (pri) · `id` <title> (pri) · ...        ← groups of ≤5
**<Kind>** (N): X bug · Y optimization · Z friction — highest: `id` <title> (pri)   ← groups of >5

### ✓ Terminal — N terminal items

↳ Hygiene: <N> test artifacts, <N> empty containers — candidates for /batch-complete

Lean-mode rules:

  • Total output target is ~45 lines; rollups are how you hold that budget.
  • The Terminal section is a single line (count from the role-total query). No titles, no done/cancelled split in lean mode — the terminal statusLabels aren't fetched. Use full mode for the breakdown.
  • The Hygiene line appears only when candidates exist.
  • If all of In Flight / Attention / Recommended Next are empty, say so in the health sentence ("Quiet board — nothing in flight...") rather than rendering empty sections.

Full Inventory Mode ($ARGUMENTS = full)

Everything lean mode shows, plus the complete per-container inventory.

Data collection
  1. query_items(operation="overview", limit=<total>) — the compact roots list, without includeChildren. Add anchorId="<rootId>" when a rootId is known, to anchor the roots list to this project. It carries each root's role, statusLabel, childCounts, tags, and type but pulls no subtree, so it stays under the tool-result token ceiling even on mature workspaces. If the first call reports truncated: true, re-issue once with limit=<total>.
  2. Per active container (a non-terminal root whose childCounts show non-terminal children), in parallel: query_items(operation="overview", itemId="<root-id>", excludeTerminal=true) — returns that container plus its open children, plus any terminal-role child that itself still has non-terminal descendants (scoped excludeTerminal filters the children array by role but retains done-labeled sub-containers holding open work; childCounts stays full). Each call is bounded to one container's open work. These are already itemId-scoped and need no ancestorId.
  3. get_context() — health-check. Add ancestorId="<rootId>" when known.
  4. get_next_item(limit=5, includeDetails=true). Add ancestorId="<rootId>" when known.
  5. Role-total queries as in lean mode: the terminal count via limit=1; the queued headline via the role="queue" list with container/project exclusion (lean step 5). Same ancestorId rule.

Never fetch every root's children in one call (overview includeChildren=true across the whole tree). On a mature workspace the combined terminal subtrees exceed the tool-result token ceiling — the per-container scoped fetch in step 2 is what keeps full mode bounded. Terminal children are counted, not enumerated: the ✓ N terminal footer comes from childCounts, never from pulling the terminal subtree. To see a specific container's completed items, run Scoped mode on that container (one bounded subtree).

Show full SKILL.md (751 more words)Show less
Sections, in order
  1. Health Headline — same as lean mode; counts from health-check + role-total queries, containers excluded from active.

  2. Attention Required — same as lean mode.

  3. Recommended Next — same as lean mode (deliberately above the inventory).

  4. Project Inventory — for each active container (root with non-terminal children), rendered from its step-2 scoped fetch:

    #### <Container Title> `<8-char-id>`
    <role-symbol> <role> · <N open> · <N terminal>
    
    | ID | Title | Status | Pri | Tags | Children |
    |----|-------|--------|-----|------|----------|
    
    ✓ N terminal — terminal children are counted (from childCounts), not listed
    • The table lists only the container's open children (queue/work/review/blocked) — the step-2 scoped excludeTerminal fetch returns exactly these. Sort: ◉ active first, then ⊘ blocked, then ○ queue.
    • <N open> = queue + work + review + blocked from childCounts; <N terminal> = terminal from childCounts. Terminal children are never fetched — run Scoped mode on this container to see them.
    • Children column = compact role summary N○ N◉ N⊘ N✓ built from the child's own childCounts in the scoped payload (omit zero roles; — if childless).
    • Tags column = tag value or —; traits append with ▸ prefix, needs- stripped (feature-task ▸migration-review).
    • If the container itself is work/review role, prefix its header with the role symbol.
  5. Standalone Items — non-terminal childless roots, grouped by the shared grouping key (below). One tag group → flat table with Tags column; multiple groups → subheading per group, Tags column omitted.

  6. Terminal — header ### ✓ Terminal — N terminal (N from the terminal role-total query). Split root-level terminal items by their statusLabel (present in the step-1 roots list): **Completed containers:** <title> (N children) · ..., **Completed standalone:** <title> · ... (+N more if >5), and **Cancelled:** <title> · .... Cancelled roots are listed separately — never presented as completed work. Child-level terminal items are accounted by count via childCounts (not enumerated); their done/cancelled split is available through Scoped mode on the owning container.

  7. Empty containers — **Empty (no items):** <title>, <title> at the end of the inventory if any exist.


Scoped Mode ($ARGUMENTS = UUID or title)

Unchanged by project scoping — already resolves its own scope UUID per invocation, independent of any project rootId.

Use the resolved UUID as the scope for full-inventory-style rendering of one subtree:

  1. query_items(operation="overview", itemId="<parentId>") — scoped overview.
  2. get_context() — global; filter to the scope during enrichment.
  3. get_next_item(limit=5, parentId="<parentId>", includeDetails=true) — scoped recommendations.

Render the Full Inventory sections for that subtree only. All shared rules apply.


Multi-Project Mode ($ARGUMENTS = all)

Enumerate every known project anchor and render one condensed section per project — for workspaces where multiple project roots share the same database.

  1. query_items(operation="search", type="project", depth=0) — list all depth-0 items typed project (the anchors created by /task-orchestrator:init, /adopt-project-scope, or by hand). An anchor tagged personal-root is the personal root; label it (personal) in its section header.
  2. If none are found, say so and stop: "No project anchors found — run /task-orchestrator:init to bootstrap one, or use /work-summary (no arguments) for the whole-DB view."
  3. For each anchor found, in parallel:
    • query_items(operation="overview", anchorId="<anchor-id>", excludeTerminal=true)
    • get_context(ancestorId="<anchor-id>")
    • get_next_item(limit=3, includeDetails=true, ancestorId="<anchor-id>")

Render, per project, with a clear per-project header:

### ◆ <Project Name> (`<8-char-id>`)
N active · N blocked · N queued

**Attention:** <up to 2 blocked/stalled items, or "none">
**Next up:** <top get_next_item result, or "nothing queued">

Keep each section condensed — this mode is a cross-project scan, not a per-project deep dive. Point the user at /work-summary (unscoped, or with that project's rootId once resolved) for the full dashboard on any one project.


Shared Rendering Rules

Status symbols: ✓ terminal · ◉ work/review · ⊘ blocked/stalled · ○ queue

Short IDs: first 8 chars of the UUID in backticks: `af21ed9a`. Use — for empty values, not 0 or blank. Priority renders as high / med / low.

Grouping key (standalone items, all modes): type field if set; else first tag not in {agent-observation, feature, container}; else "Uncategorized". The generic tag is never the group — the specific one is.

Containers (tag or type container) are never counted as active work in any headline or In Flight list, regardless of their role.

statusLabel: the item's role drives the status symbol. Print the statusLabel text only when the item is non-terminal AND the label differs from the role's default. Never print statusLabels on terminal items — stale in-progress labels on terminal items are a known artifact (bug 100da214).

Cancelled ≠ done: wherever terminal items are broken down, count statusLabel: "cancelled" separately.

Truncation: if any data-collection response had truncated: true that you could not resolve by re-fetching, end the dashboard with ⚠ showing X of Y root items — never silently drop data.

Observations: write them sparingly — only for a genuine anomaly, bottleneck, or actionable insight. A healthy project needs zero observations.

Internal: Short ID → Full UUID Mapping

Do NOT render a UUID reference table. Retain the short→full UUID mapping as internal context; when the user references a short ID in a follow-up (e.g., "start 0499a6aa"), resolve it silently for the MCP call from the data already collected.

© jpicklyk, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in claude-plugins/task-orchestrator/skills/work-summary of jpicklyk/task-orchestrator.

Open the folder on GitHubat commit b688ea0

Compare with similar skills

Work Summary 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.

Work Summary compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Work Summary this skilljpicklyk/task-orchestrator207—~4.3kAutomated safety check: PassMIT
Slack Standup DigestOpenHands/extensions157—~837Automated safety check: PassMIT
Stock Historical IndexOctagonAI/skills127—~2kAutomated safety check: PassMIT
AgentRQ Workspace Agentagentrq/agentrq1.1k—~1.9kAutomated safety check: PassAGPL-3.0
Webctlcosinusalpha/webctl419—~1.7kAutomated safety check: PassNone
Huge AI Searchwangwingzero/huge-ai-search144—~563Automated safety check: PassMIT

Similar skills

  • Slack Standup Digest

    OpenHands/extensions

    Create an automation that generates an async standup digest from Slack.

    157 GitHub stars~837 tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Stock Historical Index

    OctagonAI/skills

    Retrieve full historical end-of-day price data for market indices using Octagon MCP.

    127 GitHub stars~2k tokensUpdated 4 mo ago
    Business, Finance & HRAuto-check passed
  • Guides a workspace agent through executing assigned tasks, replying to a remote human operator, and creating sub-tasks, memory and events inside an AgentRQ workspace.

    1.1k GitHub stars~1.9k tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Webctl

    cosinusalpha/webctl

    Browser automation via CLI. An agent skill from cosinusalpha/webctl.

    419 GitHub stars~1.7k tokensUpdated 4 mo ago
    Productivity & AutomationAuto-check passed
  • Huge AI Search

    wangwingzero/huge-ai-search

    Searches the live web through Google AI Mode via Huge AI Search (MCP or CLI).

    144 GitHub stars~563 tokensUpdated 1 mo ago
    Productivity & AutomationAuto-check passed
  • AgentRQ Supervisor

    agentrq/agentrq

    Orchestrates work across specialized AgentRQ workspaces, breaking goals into tasks, assigning them to the right workspace agent, and tracking shared learning notes.

    1.1k GitHub stars~2.7k tokensUpdated today
    Productivity & AutomationAuto-check passed

More from jpicklyk/task-orchestrator

All 28 skills in this repo
  • Task Orchestrator Server Setup

    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.

    207 GitHub stars~3.1k tokensUpdated today
    Auto-check passed
  • Run Wave

    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.

    207 GitHub stars~4.7k tokensUpdated today
    Auto-check passed
  • Adopt Project Scope Migration

    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.

    207 GitHub stars~3.7k tokensUpdated today
    Auto-check passed
  • Bulk Task Completion

    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.

    207 GitHub stars~2.6k tokensUpdated today
    Auto-check passed
  • Task Orchestrator Item Creator

    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.

    207 GitHub stars~4k tokensUpdated today
    Auto-check passed
  • Work Item Dependency Manager

    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.

    207 GitHub stars~3.5k tokensUpdated today
    Auto-check passed

Questions about Work Summary

What does Work Summary do?

Generates a project dashboard from MCP work items. An agent skill from jpicklyk/task-orchestrator. Work Summary is an agent skill from jpicklyk/task-orchestrator. Generates a project dashboard from MCP work items.

When should I use Work Summary?

Work Summary fits situations like: the user says: project status; show me the dashboard; what should I work on; where did I leave off.

How do I install Work Summary in Claude Code?

Run `npx skills add jpicklyk/task-orchestrator --skill work-summary -a claude-code`. Or copy the skill folder (claude-plugins/task-orchestrator/skills/work-summary in jpicklyk/task-orchestrator) into .claude/skills/work-summary in your project. Claude Code loads it when a task matches its description.

How do I install Work Summary in Codex?

Run `npx skills add jpicklyk/task-orchestrator --skill work-summary -a codex`. Or copy the skill folder (claude-plugins/task-orchestrator/skills/work-summary in jpicklyk/task-orchestrator) into .agents/skills/work-summary in your project. Codex loads it when a task matches its description.

Can I use Work Summary in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add jpicklyk/task-orchestrator --skill work-summary -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/work-summary, .gemini/skills/work-summary, .github/skills/work-summary and .opencode/skills/work-summary in your project.

What does Work Summary need to run?

SKILL.md names no scripts, command-line tools or credentials: Work Summary is instructions for the agent only.

Does Work Summary access the network?

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.

Is Work Summary safe to install?

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.

What licence does Work Summary use?

Work Summary is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Work Summary use?

About 4.3k tokens (SKILL.md is roughly 17k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Work Summary?

Skills that share tags, products or a category with Work Summary: Slack Standup Digest (OpenHands/extensions, 157 stars), Stock Historical Index (OctagonAI/skills, 127 stars), AgentRQ Workspace Agent (agentrq/agentrq, 1.1k stars) and Webctl (cosinusalpha/webctl, 419 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Work Summary?

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 6, 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.