Borrowing it
Nothing to install: this file belongs to Koroqe/OPOS. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/Koroqe/OPOS/main/.claude/skills/task-complete/SKILL.mdgit clone --depth 1 https://github.com/Koroqe/OPOSWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/koroqe/opos/task-complete)<a href="https://agentmods.dev/skills/koroqe/opos/task-complete"><img src="https://agentmods.dev/badge/skills/koroqe/opos/task-complete/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/koroqe/opos/task-complete"><img src="https://agentmods.dev/badge/skills/koroqe/opos/task-complete.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00027 | $0.02202 |
| Opus 5.5 | $0.00011 | $0.00881 |
| Sonnet 5.5 | $0.00005 | $0.00440 |
| Haiku 4.5 | $0.00003 | $0.00220 |
Grade A, and why
task-complete 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 27d 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.
How it starts
The opening of the file, as written. The whole thing — 80 lines — stays where its author put it; the contents beside it link to each section on GitHub.
task-complete
When to use
At task completion: after the final slice is committed and the work is merge-ready. NOT for partial completion (use task-update --status blocked instead).
Inputs
summary— 2-4 sentence agent-written summary of what shipped and why (required).since_sha— git SHA where the task started. If omitted, resolve via the fallback chain below.issue— optional override; default: read from<repo-root>/.claude/.current-task. As of v0.7.0.current-taskis a newline-delimited array of active issues; this skill auto-picks when exactly 1 is active and REQUIRES--issuewhen 2+ are active (see step 3).deliverables— optional markdown checklist of final deliverables state.
since_sha fallback chain
When --since_sha is not passed, resolve in this order:
git rev-parse origin/HEAD 2>/dev/null— the default branch on the remote (e.g.origin/main).- If (1) fails:
git rev-parse main 2>/dev/null— a localmainbranch if it exists. - If (2) fails:
git rev-list --max-parents=0 HEAD | head -1— the first commit reachable on the current branch (works in any single-branch repo). - If (3) equals
HEAD(single-commit branch): empty changelog; post the summary and proceed.
Steps
- (Removed in v0.21.0 — do NOT invoke
check-for-updates.) Update checks belong to the SessionStart updater (shared/scripts/opos-session-update.mjs), which runs once a day for free. Invoking the skill here cost ~5 model requests per lifecycle call, each re-reading the whole session context. Step numbering is kept so the references below stay valid. - Resolve repo root via
git rev-parse --show-toplevel. - Read
$REPO_ROOT/.claude/.current-taskas 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. - Else if the array has EXACTLY 1 entry → use that entry. This preserves v0.6.x single-task workflow behavior.
- 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 complete. - Else (array empty / file absent) → ABORT with:
No active task. Pass --issue <N> explicitly if completing a task you didn't open via task-register on this machine.
- If
- Read and validate config.
- Resolve
since_shavia the fallback chain above (if not passed). - Compute the changelog:
git log <since_sha>..HEAD --oneline --no-merges. Capture as a bulleted list. - Find PR links via
gh issue view <number> --json closedByPullRequestsReferences— extract URLs and titles from GitHub's native link references (PRs that say "Closes #N" or are otherwise GitHub-linked to the issue). More reliable than title or body search. - Scan commits in the range for the
Refs: #<issue>trailer. Collect commits LACKING the ref. If any are found, prepare a warning block for the final comment AND print to stdout. - Render the final comment: agent summary (verbatim from
--summary), then changelog bullets (or "no commits in range" line), then PR-link section (skip if empty), then deliverables (if provided), then the warning block (if commits missed the ref). When the warning block has 5 or more missing-ref commits, wrap the list in a markdown<details><summary>N commits missing Refs: #<issue></summary>...</details>block so it doesn't visually dominate the final comment. Threshold (>=5) is intentional — under 5, the inline list is short enough to stay flat for quick scanning. 9b. Lease gate (v0.17.2).node .claude/skills/lease/lease.mjs acquire --key "issue:<repo>#<number>" --intent "completing"— a no-op exit0if this session already holds the task, a take if it is free, and exit2in every enforcement mode if another session holds it: then STOP and report the holder. Closing someone else's task from another machine is exactly the collision leases exist to stop.9= not opted in: skip the gate and proceed as before.3= stale clone:git pull --ff-only, retry.
What ships with it
20 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.
- history/.gitkeep 0 B
- history/2026-05-22-issue-1-final.md 3.1 KB
- history/2026-05-25-issue-3-refactor-complete.md 3.2 KB
- history/2026-05-28-issue-2-research-complete.md 3.2 KB
- history/2026-05-28-issue-4-harden-complete.md 3.1 KB
- history/2026-05-28-issue-5-v020-complete.md 4.1 KB
- history/2026-05-28-issue-6-v030-complete.md 4.0 KB
- history/2026-05-29-issue-7-v031-complete.md 2.3 KB
- history/2026-05-29-issue-8-v040-complete.md 3.0 KB
- history/2026-05-29-issue-9-v050-complete.md 3.5 KB
- history/2026-05-30-issue-10-v051-complete.md 3.3 KB
- history/2026-05-30-issue-11-v052-complete.md 3.4 KB
- history/2026-05-30-issue-12-v053-complete.md 4.1 KB
- history/2026-05-30-issue-13-v060-complete.md 4.5 KB
- history/2026-05-31-issue-14-v061-complete.md 5.3 KB
- history/2026-06-10-issue-15-v070-complete.md 7.0 KB
- history/2026-06-12-issue-16-v071-complete.md 6.6 KB
- history/2026-06-25-issue-17-v072-complete.md 6.1 KB
- history/2026-06-26-issue-18-v080-complete.md 5.8 KB
- PROCESS.md 5.4 KB
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.
- 27d ago Changed · -2 lines dd79627007da
- 28d ago Changed · -13 lines e5ce0cc5c482
- 1mo ago First seen · 95 lines · 27 tokens per session scan A acadc0522a20
task-complete is a skill published in the GitHub repository Koroqe/OPOS (4 stars, last pushed today), licensed MIT. It adds 27 tokens to every session and 2,202 once invoked, about $0.0001 per session on Opus 5.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.
Other skills, from other repositories
github-project-management
Comprehensive GitHub project management with swarm-coordinated issue tracking, project board automation, and sprint planning.
resolution_playbook
How to choose one resolution action from a ticket and its customer history.
github-tool
GitHub integration tool. Fetches and creates issues and PRs via the gh CLI. Use when: Use when: you need to create or list issues and PRs, perform repository operations, or check tasks on GitHub.
github-project-management
Comprehensive GitHub project management with swarm-coordinated issue tracking, project board automation, and sprint planning.
github-multi-repo
Multi-repository coordination, synchronization, and architecture management with AI swarm orchestration.
github-project-management
GitHub project management with issue tracking, project-board automation, and sprint planning. Use when triaging or organizing issues, automating a project board, planning a sprint, or running release/roadmap coordination on GitHub.