workflow-upload

A controlled uploader for local workflow drafts and their related objects, using permissions, duplicate checks, dependency order, limited parallel requests, and read-back verification.

In plain words
What is it for?
Use it to validate and upload workflow bundles, create dependent rooms and work items, attach files and comments, connect requirements, and verify each completed operation.
Why use it?
It reduces duplicate uploads, avoids creating items before their prerequisites exist, and can record progress so partially completed uploads can resume safely.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/go1c/workflow-plugin/workflow-upload
Any agent
npx skills add Go1c/workflow-plugin --skill workflow-upload
Clone the repo
git clone --depth 1 https://github.com/Go1c/workflow-plugin

Made for: Claude Code, Codex.

Per session 50 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,204 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00050 $0.01204
Opus 5 $0.00025 $0.00602
Sonnet 5 $0.00010 $0.00241
Haiku 4.5 $0.00005 $0.00120

Measured yesterday against content hash 019ac5f4c8e7, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

workflow-upload scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/workflow-upload/SKILL.md · 62 lines

How it starts

The opening of the file, as written. The whole thing — 62 lines — stays where its author put it; the contents beside it link to each section on GitHub.

workflow-upload — 草稿上传与恢复

处理 .workflow-drafts/<bundleId>/,先读取 draft-format.mdpermission-modes.mddependency-model.mdrelation-provider.md

上传顺序

  1. 校验 manifest、卡片、附件、策略快照和操作 DAG;plan 模式在此停止。
  2. 按 connection 规则验证 /me/projects/current 和三方项目一致性。
  3. 在任何 POST/PATCH/PUT/DELETE 前重新执行项目级全局搜索;search 未命中仍须翻列表到空。
  4. 精确 marker/UUID 自动幂等复用;已有单默认追加结构化评论。只有 manifest 明确 update 且授权时才 PATCH 原正文,并带 expectedUpdatedAt
  5. 按依赖拓扑创建 Room、需求、WorkItem/bug 和其它节点;独立 wave 进入并发队列,真实共享 热点与有前置的操作必须等待前置完成。不要把依赖边当成可并行提示。
  6. 解析真实 UUID/displayKey/deepLink 后创建验收项、评论和附件;不同目标之间可并发,最后 通过 Provider 写入直接边。Requirement direct edge 调用原生 bindRequirementReference,再用 getRequirementGraph 读回;图谱中的引用边是无向的, 依赖方向仍以 manifest 的 upstream/downstream 为准。
  7. 每个写操作后立即 GET 读回,更新 checkpoint 和 events.ndjson。完整完成才清理 bundle。

受控并发上传(默认开启)

上传器必须使用有界 worker pool 发出多个异步请求,不得把整批对象一个一个串行上传。 这就是“多线程上传”的协议实现:并发的是网络操作,依赖、幂等和读回仍按单操作维护。

  • manifest 可在 upload.concurrency 指定并发度;缺失时默认为 4,允许范围 1–8,超出范围 停止并报告。1 仅用于平台临时限流或用户明确要求串行。
  • 每个 worker 一次只处理一个 opId。调度器只派发 pending 且所有 dependsOnverified 的 操作;同一资源的 PATCH、附件和评论按资源锁串行,互不相关的资源可同时进行。
  • Requirement 引用操作按“引用关系组”归并资源锁;同一无序 UUID 对的 bind/unbind 不能并发, 不同 UUID 对可以并发。manual 只确认关系组,不逐边询问。
  • 创建节点必须先完成并读回,再释放其子资源;关系操作必须等待两端 UUID 都已读回。一个 wave 中的失败不会阻塞没有依赖它的其它操作(继续执行没有依赖它的操作),但依赖它的操作保持 blocked,不能越过 DAG。
  • 并发请求仍各自使用确定性的幂等 key、超时和重试上限;429 按 Retry-After 降低并发或退避, 423/401/403/409/422 按共享失败表处理。不得因为并发而重复发送或复用别的操作的 key。
  • 每次请求完成(成功、失败或被阻塞)都原子更新 manifest checkpoint 和 events.ndjson;进程 中断后只恢复未 verified 的操作。读回必须在 worker 内完成,不能先宣称整批成功再补读。
  • 输出和收尾报告同时列 concurrency、已完成/失败/阻塞数量、每个操作的读回结果;部分成功 保留 bundle,不能因某个 worker 失败而删除已落库对象。

模式行为

  • auto:显式调用本命令后,展示项目、数量、复用/新建清单、边数量和并发度,只确认一次 bundle。
  • manual:每个操作组展示 endpoint、目标、字段 diff 和关系 metadata,逐组确认。
  • full:草稿 ready 后自动进入本流程,不询问,但仍执行所有安全闸门、受控并发和读回。

Read the full file on GitHub · 62 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday First seen · 62 lines · 50 tokens per session scan A 019ac5f4c8e7

Subscribe to this mod's changes

workflow-upload is a skill published in the GitHub repository Go1c/workflow-plugin (2 stars, last pushed 2d ago), licensed MIT. It adds 50 tokens to every session and 1,204 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.