task-update

A skill for adding a progress comment to the active GitHub issue and updating its status line.

In plain words
What is it for?
Use it during implementation to report completed work, blockers, or a move to review.
Why use it?
It records meaningful progress in the issue while preventing repeated updates when the same operation is run again.

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/koroqe/opos/task-update
Any agent
npx skills add Koroqe/OPOS --skill task-update
Clone the repo
git clone --depth 1 https://github.com/Koroqe/OPOS

Made for: Claude Code, Codex.

Per session 25 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,625 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.00025 $0.01625
Opus 5 $0.00013 $0.00813
Sonnet 5 $0.00005 $0.00325
Haiku 4.5 $0.00003 $0.00162

Measured 2d ago against content hash 4b9fa136b67c, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

task-update 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 2d ago.

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.

.claude/skills/task-update/SKILL.md · 75 lines

How it starts

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

task-update

When to use

Mid-execution, to record meaningful progress: a slice committed, a blocker encountered, a status flip (in_progress → blocked). NOT for chatty updates. Each invocation requires an idempotency --key so re-running the same update is a no-op.

Inputs

  • message — the update body (required; markdown).
  • key — idempotency key (required; e.g. a commit SHA or a slice number — anything stable).
  • status — optional new status: in_progress | blocked | review. Default: leave the body status line unchanged.
  • issue — optional override; default: read the active issue number from <repo-root>/.claude/.current-task. As of v0.7.0 .current-task is a newline-delimited array of active issue numbers; this skill auto-picks when exactly 1 is active and REQUIRES --issue when 2+ are active (see step 3).

Steps

  1. Check for upstream updates. Invoke check-for-updates (silent unless an update is available; cached 6h). Best-effort — failures do not block this skill's run.
  2. Resolve repo root via git rev-parse --show-toplevel.
  3. Read $REPO_ROOT/.claude/.current-task as a newline-delimited array of active task issue numbers (v0.7.0 array semantics; v0.6.x single-task content parses as 1-element array — fully backwards-compatible). Apply defensive read-side filtering (drop non-digit lines per Risk 30). Then determine the target issue number:
    • If --issue <N> was provided → use it directly. (Works regardless of array size; lets a batch script or external caller target a specific issue without parsing the active list.)
    • Else if the array has EXACTLY 1 entry → use that entry. This preserves v0.6.x single-task workflow behavior; users who only ever work on one task at a time see no change.
    • Else if the array has >1 entries (multi-active parallel-session workflow as of v0.7.0) → ABORT with: Multiple active tasks: #<comma-list>. Pass --issue <N> to specify which one to update. Do not guess; the user must disambiguate.
    • Else (array empty / file absent) → ABORT with: No active task. Open one with task-register, or pass --issue <N> explicitly.
  4. Read $REPO_ROOT/.claude/task-tracking.config.json. Validate repo.
  5. gh issue view <number> --repo <repo> --json comments,state — abort if state is CLOSED (the user must reopen with gh issue reopen or invoke task-complete instead).
  6. Scan the last 50 comments for the HTML marker <!-- update-key: <key> -->. If found, exit 0 silently with the message duplicate key, no-op (this is correct behavior, not an error). Still write a history entry with outcome: partial recording the skipped invocation.
  7. Render the comment from shared/templates/task-update.md.tmpl, substituting {{KEY}}, {{TIMESTAMP}} (ISO 8601, UTC), {{STATUS_LINE}} (either **Status:** <new> or empty), {{MESSAGE}}.
  8. gh issue comment <number> --repo <repo> --body "<rendered>".
  9. If --status was provided: fetch the issue body via gh issue view <number> --json body, run a regex substitution on the canonical **Status:** ... line, write back via gh issue edit <number> --body-file -. The regex (/^\*\*Status:\*\* .+$/m — single-line match, anchored at line start, multiline mode) is implemented in a portable Python one-liner, parameterized via shell env var to avoid quoting issues:

Read the full file on GitHub · 75 lines

Files

What ships with it

3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

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. 2d ago First seen · 75 lines · 25 tokens per session scan A 4b9fa136b67c

Subscribe to this mod's changes

task-update is a skill published in the GitHub repository Koroqe/OPOS (2 stars, last pushed 5d ago), licensed MIT. It adds 25 tokens to every session and 1,625 once invoked, about $0.0001 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.

Related

Other skills, from other repositories

Codex Implement

Delegate a well-scoped GitHub issue to Codex CLI (headless, in an isolated worktree), then peer-review the diff with agy + Codex before opening the PR. Mandatory peer-review gate before merge. Repo-agnostic — auto-detects repo, conventions, and build commands.

UseJunior/email-agent-mcp · 66 tokens

super-evolve

Ultimate self-evolution skill. Merges evolve + self-improve into one comprehensive meta-skill with external research, area focus, dry-run mode, and expanded memory mining.

OZmasterAI/Torus-Framework · 35 tokens

issue-triage

Issue triage: audit open issues, categorize, detect duplicates, cross-ref PRs, risk assessment, post comments. Args: "all" for deep analysis of all, issue numbers to focus (e.g. "42 57"), "en"/"fr" for language, no arg = audit only in French.

rtk-ai/rtk · 70 tokens

implementation-strategy

Choose compatibility-aware scope for runtime and API changes in openai-agents-python. Use before initial implementation and each review-feedback batch to decide whether to patch, reset the design, preserve compatibility, or reject unsupported cases.

openai/openai-agents-python · 47 tokens

pr-to-video

Turn a GitHub pull request (a PR URL, owner/repo#N, or 'this PR' in a checked-out repo) into a code-change explainer video — changelog, feature reveal, fix, or refactor walkthrough built from the diff, commits, and files: the input is a code change, not a website. Not a product promo (/product-launch-video) or a no-PR…

heygen-com/hyperframes · 104 tokens

hyperframes-cli

Use the HyperFrames CLI development loop: init, add, catalog, capture, lint, check, snapshot, compare, grade-compare, preview, play, present, beats, keyframes, single or batch render, publish, cloud, cloudrun, feedback, lambda, doctor, browser, info, upgrade, skills, compositions, docs, benchmark, telemetry…

heygen-com/hyperframes · 129 tokens