agent-work

Registers and deduplicates agent-produced GitHub, Linear, file, and task outputs as versioned Work records.

74|11|Updated Jul 4, 2024
One-click install
npx skills add https://github.com/OpenSourceAGI/qwksearch-research-agent --skill agent-work-opensourceagi
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: agent-work
Source: https://github.com/OpenSourceAGI/qwksearch-research-agent/tree/main/apps/qwk-in-lobe/.agents/skills/agent-work
Command: npx skills add https://github.com/OpenSourceAGI/qwksearch-research-agent --skill agent-work-opensourceagi

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Agent outputs like GitHub PRs, Linear issues, entity files, and documents get lost or duplicated across runs. This Skill documents how the Agent Work registry records, deduplicates, and renders those outputs as versioned cards under the assistant message that produced them. ## Core Features & Use Cases - Work registration and deduplication: One row per resource keyed by (resourceType, resourceId), with per-version dedup on (workId, toolCallId) so retried registrations are no-ops. - Four write paths: Skill tool normalizers at execution time, shell CLI scans and file scans at operation completion, and direct task/document registration by owning features. - Extension recipes: Step-by-step guides for adding a new skill provider (e.g. Notion), a new shell CLI scanner (e.g. vercel deploy), or a new Work type behind the read-path opt-in gate. - Use Case: A coding agent runs gh pr create through a codex shell; the completion-time shell scan parses the stdout URL and registers a GitHub Work card with cost provenance, even though the run never passed the skill-tool hook. ## Quick Start Explain how agent outputs from GitHub and Linear tools get registered as Work cards and how to add a new shell CLI scanner for the Linear CLI.

Frequently Asked Questions about agent-work

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add a new skill provider like Notion to the Work registry?

Extend WORK_SKILL_PROVIDERS and resource-type unions in packages/types, write a normalizer mirroring linearToolResult.ts, and add it to SKILL_TOOL_RESULT_NORMALIZERS. The satisfies constraint forces the map to stay in sync with the provider list at compile time.

How do I register Works from shell CLI commands like gh or vercel?

Add a scanner file under shellWorkScanners with matches, name, and register functions, then append it to SHELL_WORK_SCANNERS. The completion-time engine parses persisted command text and stdout, so the engine itself needs no changes.

Why are read-only gh commands not registered as Works?

Only successful create and edit results become Works. Read-only queries, comments, merges, and branch operations are excluded so that commands like gh pr view printing an entity URL never register a card.

Why must new Work types ship behind an opt-in gate?

Released Electron clients crash on unknown type descriptors, so OPT_IN_WORK_TYPES hides newer types from clients that did not opt in. Any new Work type must be added to the same read-path gate before release.

Why do completion-time Work versions all show the same cumulative cost?

Completion-time scans only have persisted command text and stdout, with no per-call usage snapshots, so every version registered that round carries the operation-level terminal total. Execution-time registrations snapshot after each tool call and show increasing per-step costs.