Trigger.dev Configuration
papermark/papermark
Configures Trigger.dev projects through trigger.config.ts, with build extensions for Prisma, Playwright, Puppeteer, FFmpeg, Python and system packages.
Manage agy staffer background jobs - collect results, check status, cancel, follow-up conversation, and setup.
$ npx skills add keli-wen/agy-staff --skill jobs -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install keli-wen/agy-staff jobs --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/keli-wen/agy-staff.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/jobs .claude/skills/jobs && 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 "jobs" agent skill from https://github.com/keli-wen/agy-staff/tree/master/skills/jobs into .claude/skills/jobs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jobs", 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/keli-wen/agy-staff/tree/master/skills/jobsType 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 keli-wen/agy-staff --skill jobs -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install keli-wen/agy-staff jobs --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/keli-wen/agy-staff.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/jobs .agents/skills/jobs && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "jobs" agent skill from https://github.com/keli-wen/agy-staff/tree/master/skills/jobs into .agents/skills/jobs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jobs", 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 keli-wen/agy-staff --skill jobs -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install keli-wen/agy-staff jobs --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/keli-wen/agy-staff.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/jobs .cursor/skills/jobs && 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 "jobs" agent skill from https://github.com/keli-wen/agy-staff/tree/master/skills/jobs into .cursor/skills/jobs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jobs", 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/keli-wen/agy-staff.git --path skills/jobs--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 keli-wen/agy-staff --skill jobs -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install keli-wen/agy-staff jobs --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/keli-wen/agy-staff.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/jobs .gemini/skills/jobs && 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 "jobs" agent skill from https://github.com/keli-wen/agy-staff/tree/master/skills/jobs into .gemini/skills/jobs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jobs", 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 keli-wen/agy-staff jobsInstalls 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 keli-wen/agy-staff --skill jobs -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/keli-wen/agy-staff.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/jobs .github/skills/jobs && 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 "jobs" agent skill from https://github.com/keli-wen/agy-staff/tree/master/skills/jobs into .github/skills/jobs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jobs", 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 keli-wen/agy-staff --skill jobs -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install keli-wen/agy-staff jobs --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/keli-wen/agy-staff.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/jobs .opencode/skills/jobs && 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 "jobs" agent skill from https://github.com/keli-wen/agy-staff/tree/master/skills/jobs into .opencode/skills/jobs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jobs", 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.
jobsManage agy staffer background jobs - collect results, check status, cancel, follow-up conversation, and setup.
Jobs is an agent skill from keli-wen/agy-staff. Manage agy staffer background jobs - collect results, check status, cancel, follow-up conversation, and setup. Use when an agy job needs collecting, when the user asks "is the agy job done", "show agy's result", "cancel the agy job", "continue the agy conversation", or "set up agy". This is the orchestrator's skill; the persona skills (staffer/researcher/reviewer/implementer) point here.
Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `references/setup.md` and `references/troubleshooting.md`).
It sits in Backend & APIs, covering Background jobs. The repository describes itself as: Hire Google's Antigravity CLI (agy) as a fast Gemini staffer for Claude Code and OpenAI Codex. The licence is MIT.
2 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 65a1ab4. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
Bash(node:*)AskUserQuestionFrom allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
gitnodeFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, 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.
Jobs loads about 2.7k tokens when it runs, and up to ~4.4k if it reads all its reference files. Until then it costs about 99 tokens; SKILL.md has 1,433 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 keli-wen/agy-staff at commit 65a1ab4, republished under its MIT licence (© keli-wen). 1,433 words, ~2,660 tokens.
.claude/skills/jobs/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Manage background staffer/research/review/implement jobs. State is per repository in .agy-staff/. Only ask runs synchronously.
This file lives at <plugin-root>/skills/jobs/SKILL.md:
node "<skill-dir>/../../companion/agy-companion.mjs" <command> [args]Default flow: prepare the prompt → dispatch → wait for the final result → validate as needed. While a job is running, do not proactively call observe/status, read logs or inspect intermediate artifacts. Do not query progress for routine updates or create sleep/observe loops. Observe only when the user explicitly asks for progress; diagnose after receiving a failure or a result requiring intervention.
wait <id> --timeout 10m in the background, using the same unsandboxed context as launch. Use a separate wait for each job; never wait for several jobs serially in one shell.| Code | Meaning | Next action |
|---|---|---|
| 0 | Invocation ended; response text delivered | Assess whether it satisfies the task. Review attached diagnostics; inspect further only as needed. |
| 2 | Still running; wait soft-expired | Wait again for the same job. The attached snapshot is not a request to inspect progress or intervene. |
| 3 | Error or crash | Read the error and recovery information below. |
| 4 | Canceled | Complete any already-authorized follow-up; otherwise report cancellation. |
| 5 | Attention: resumable timeout | Inspect partial workspace changes; ask whether to continue with the suggested timeout or stop. Continue only after explicit user confirmation. |
| 1 | Invalid command or other command error | Quote the error and correct the named problem. |
done describes invocation and response delivery, not task acceptance. Preserve agy-cli response text and diagnostics; a nonempty response may only acknowledge launched background work. Successful calls with warnings include a bounded log tail on stderr and a full-log pointer. The orchestrator assesses the response and artifacts, uses observe or diagnostics if the returned result needs investigation, and decides whether to propose continuation. Keep the recovery confirmation rules below; do not infer timeout from response wording or add routine progress polling.
When the user explicitly asks for progress, use observe <id> and answer from that snapshot, keeping any pending wait open. An already returned snapshot may answer the question; do not duplicate it or turn one question into recurring observation.
Collecting a pending wait command is necessary result collection, not active observation. Host collectors (for example, Codex write_stdin) return that command's output; an outer functions.wait resumes a yielded functions.exec call. They do not independently read AGY progress. Prefer background completion delivery; if host collection requires polling, use a long supported blocking wait rather than short empty polls or sleep loops. Keep the same pending command until it returns; only restart wait for the same job after exit 2.
A wait expires without stopping the worker. Cancel only when the task calls for stopping; silence or soft expiry alone is not a reason. For a user-requested progress answer or diagnosis after failure/required intervention, read a bounded details excerpt only if the returned information leaves a specific question unanswered. Never inspect logs or intermediate artifacts for routine reassurance.
When using lead, let the lead assess and synthesize the results. For direct persona invocations, deliver short results verbatim; summarize long results with their file path. Keep quoted verdicts, numbers and errors exact. For implement, also report the workspace state and inspect changes with git diff; verify any Git delivery that the user explicitly requested.
Follow through to a result unless the user asked only to launch. If the host cannot deliver background command results, use the longest practical wait within its tool-call limit (bare wait defaults to 100s). The host controls when the model receives a tool result; this plugin cannot schedule a future model invocation by itself.
| Command | Purpose |
|---|---|
observe [id] | On an explicit user progress request, or for diagnosis after failure/required intervention: bounded JSON with progress or terminal metadata and recovery pointers. Never returns report text. |
status [id] | List jobs or show one job's state and log tail. |
result [id] | Reprint stored output; default to the latest finished job. |
cancel <id> | Stop that job's execution. Interrupting wait does not cancel it. |
continue --job <id> --prompt "..." | Resume the job's conversation with its original mode/model/profile; create a linked new job. |
continue --prompt "..." | Continue the latest conversation; --conversation <id> selects a known older one. |
restart <id> | Start the original task/configuration again without its conversation; create a linked new job. |
setup [--apply] [--restrict <modes|none>] | Optional permission setup; read references/setup.md first. |
Wait/observe default to the latest job. Observe uses the same status exit codes, but exit 0 means finished, not full result delivered. Collect the existing wait session, or use result <id> if none is pending; do not start another wait or expect observe to consume the pending session. Failed/canceled/attention observations provide bounded recovery metadata; wait/result deliver the full report. A continued ask remains synchronous. result also returns exit 5 for attention (its legacy exit behavior for other terminal states is unchanged).
Continuation and restart may be invoked from the root or any subdirectory of the same worktree; execution returns to the original cwd. Generic continue fails for an unrecorded conversation ID. It does not search other worktrees or infer configuration from an unrelated conversation. For continuation, explicit model/profile flags override the inherited values.
Cancel records a request first and returns success only after the worker has stored the cancellation report and published canceled. A crashed job keeps its crash diagnostics. A cancellation error requires inspection; it does not mean execution has stopped.
Use continue --job <id> to target an existing AGY conversation. It starts a new invocation once the current execution has stopped. While that job is still running, the companion refuses the follow-up with exit 1, reporting the job ID and status; nothing is queued. Decide whether to wait or cancel.
Include relevant decisions made in the host conversation, what changed, and what the worker should do next. After interruption, reconcile partial artifacts before repeating work: cancellation does not roll back edits, and the conversation may not contain the last interrupted step. If no usable conversation exists, start a fresh task with the updated brief and retained work. Timeout recovery still follows the rules below.
Progress contains up to five recent tool calls, input/output excerpts, and the latest response text. Timestamps, incomplete text and truncation are labeled. It is a snapshot, not a judgment of useful progress. Reads do not consume history or reset deadlines. Payload limits and file layout are in ../../docs/REFERENCE.md.
The worker has a separate hard limit: default 60m, configurable with launch --timeout up to 120m. AGY receives the same response timeout; the worker independently enforces the overall budget, including initialization. At that limit it stops execution. If response text has already arrived, it delivers that text with a warning for the orchestrator to assess; otherwise it reports hard_timeout, the last snapshot, logs, known conversation ID and original configuration. Before recovery, inspect git status and git diff so partial changes are accounted for. Prefer continue --job when a conversation exists; otherwise use restart. Each creates a fresh 60m budget unless --timeout is specified, and preserves the old terminal record. Restart refreshes workspace context; older specifications explicitly label historical snapshots and append current context. An empty response at either the AGY response deadline or worker hard limit becomes attention (exit 5) when a conversation ID is known, otherwise error. The response-timeout classifier accepts explicit TIMEOUT statuses and AGY's exact ERROR / timeout waiting for response payload; unrelated tool/network/auth/quota errors keep their own failure path. The report includes pre-run/current workspace status, original configuration and an exact continuation command with a doubled timeout capped at 120m for background jobs. At that ceiling, offer a narrower task. Ask the user whether to continue or stop and inspect; do not automatically retry, restart or continue after a timeout. Run the proposed recovery only after explicit user confirmation. A wait soft expiry is still exit 2 and requires no new execution.
Warning-free success removes intermediate stream/snapshot files after results are stored. Errors, cancellation, hard timeout and warning results retain them; results, logs and conversation metadata remain available. Older jobs may have no progress files.
Quote errors and add a concise diagnosis. For sandbox/permission errors or an apparent crash without a result, check that collection uses the same unsandboxed context as launch; see references/troubleshooting.md. For restricted empty responses, relay the companion's permission guidance. Do not switch repositories to bypass a precondition.
© keli-wen, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files (references) in skills/jobs of keli-wen/agy-staff.
Open the folder on GitHubat commit 65a1ab4
Jobs 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 |
|---|---|---|---|---|---|---|
| Jobs this skillkeli-wen/agy-staff | 733 | — | ~2.7k | Automated safety check: Pass | MIT | |
| Trigger.dev Configurationpapermark/papermark | 9.2k | — | ~1.2k | Automated safety check: Pass | Custom licence | |
| FoundatioFoundatioFx/Foundatio | 2.1k | — | ~3.9k | Automated safety check: Pass | Apache-2.0 | |
| Laravel SpecialistJeffallan/claude-skills | 12k | 1 repos | ~2.1k | Automated safety check: Pass | MIT | |
| Trigger.dev Realtimepapermark/papermark | 9.2k | — | ~1.7k | Automated safety check: Pass | Custom licence | |
| NubaseOtterMind/Nubase | 622 | — | ~2.2k | Automated safety check: Notes | Apache-2.0 |
papermark/papermark
Configures Trigger.dev projects through trigger.config.ts, with build extensions for Prisma, Playwright, Puppeteer, FFmpeg, Python and system packages.
FoundatioFx/Foundatio
A skill your agent uses when working with Foundatio infrastructure abstractions for .NET -- caching, queuing, messaging, file storage, distributed locking, or background jobs.
Jeffallan/claude-skills
Builds Laravel 10+ applications with Eloquent models, Sanctum authentication, Horizon queues, API resources and Livewire components, tested with Pest or PHPUnit.
papermark/papermark
Shows how to subscribe to Trigger.dev task runs from the backend and from React for progress indicators, live dashboards, AI response streams and approval waits.
OtterMind/Nubase
A skill your agent uses when the user mentions Nubase broadly, wants a backend for an AI-generated app, or needs to deploy/publish generated code online — across Database, Auth, Storage, Assets…
papermark/papermark
Guides building durable background tasks, scheduled jobs and queues with Trigger.dev, including retries, waits, idempotency and concurrency limits.
keli-wen/agy-staff
Get a second-opinion review from Google's Antigravity CLI (agy staffer, fast Gemini) - of code (a diff, PR, working tree) or of a decision, plan, or design.
keli-wen/agy-staff
Get a second-opinion review from Google's Antigravity CLI (agy staffer, fast Gemini) - of code (a diff, PR, working tree) or of a decision, plan, or design.
keli-wen/agy-staff
Ask Google's Antigravity CLI (agy staffer, fast Gemini) a cheap one-shot question - the fast zero-tool mode and the post-install smoke test.
keli-wen/agy-staff
Orchestrate an ongoing task with AGY while the current agent owns key decisions, review, and delivery.
keli-wen/agy-staff
Delegate a deep research or survey task to Google's Antigravity CLI (agy staffer, fast Gemini).
keli-wen/agy-staff
Delegate a deep research or survey task to Google's Antigravity CLI (agy staffer, fast Gemini).
Categories
Manage agy staffer background jobs - collect results, check status, cancel, follow-up conversation, and setup. Jobs is an agent skill from keli-wen/agy-staff. Manage agy staffer background jobs - collect results, check status, cancel, follow-up conversation, and setup.
Jobs fits situations like: an agy job needs collecting; the user asks is the agy job done; show agys result; cancel the agy job.
Run `npx skills add keli-wen/agy-staff --skill jobs -a claude-code`. Or copy the skill folder (skills/jobs in keli-wen/agy-staff) into .claude/skills/jobs in your project. Claude Code loads it when a task matches its description.
Run `npx skills add keli-wen/agy-staff --skill jobs -a codex`. Or copy the skill folder (skills/jobs in keli-wen/agy-staff) into .agents/skills/jobs 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 keli-wen/agy-staff --skill jobs -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/jobs, .gemini/skills/jobs, .github/skills/jobs and .opencode/skills/jobs in your project.
Going by SKILL.md and its folder, Jobs needs the command-line tools its instructions call (git and node). Its frontmatter pre-approves these tools: Bash(node:*), AskUserQuestion.
SKILL.md contains no URLs. Its commands use git, 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.
Jobs is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.8k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Jobs: Trigger.dev Configuration (papermark/papermark, 9.2k stars), Foundatio (FoundatioFx/Foundatio, 2.1k stars), Laravel Specialist (Jeffallan/claude-skills, 12k stars) and Trigger.dev Realtime (papermark/papermark, 9.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
keli-wen (a GitHub user) maintains it in keli-wen/agy-staff, which has 733 GitHub stars. The repository holds 13 skills in this directory. The repository was last updated on October 7, 2026.
Source: keli-wen/agy-staff on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.