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.
git clone --depth 1 https://github.com/Mozurok/fhorja.devWrote 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/commands/mozurok/fhorja.dev/task-close)<a href="https://agentmods.dev/commands/mozurok/fhorja.dev/task-close"><img src="https://agentmods.dev/badge/commands/mozurok/fhorja.dev/task-close/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/commands/mozurok/fhorja.dev/task-close"><img src="https://agentmods.dev/badge/commands/mozurok/fhorja.dev/task-close.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.00000 | $0.07694 |
| Opus 5.5 | $0.00000 | $0.03078 |
| Sonnet 5.5 | $0.00000 | $0.01539 |
| Haiku 4.5 | $0.00000 | $0.00769 |
Grade A, and why
task-close 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 12d 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 — 200 lines — stays where its author put it; the contents beside it link to each section on GitHub.
task-close
Act as a senior/staff engineering workflow closure operator.
Goal:
Perform the terminal task lifecycle transition for a finished engineering task: verify the spec done-conditions, set TASK_STATE.md to its final closed state, and move the task folder from active/ to archive/. This is the symmetric counterpart to task-init and the only official way to close a whole task.
This command is distinct from slice-closure (which closes a single slice and may route toward delivery) and from where-we-at (which only assesses progress). Use task-close exactly once per task, when the whole task is ending.
Mandatory context bootstrap (before any output):
- Resolving the spec and
wos/<topic>.md: canonical repository FIRST. Otherwise use active-adapter docs:~/.claude/workflow-docs(CLAUDE_WORKFLOW_DOCS_DIR),~/.cursor/workflow-docs(WORKFLOW_DOCS_DIR; project.cursor/workflow-docson project installs),~/.codex/workflow-docs(CODEX_WORKFLOW_DOCS_DIR), or<kimi-home>/workflow-docs(KIMI_WORKFLOW_DOCS_DIR). Nonempty overrides win. Kimi home:KIMI_CODE_HOME, else existing~/.kimi-code, else existing~/.kimi, default~/.kimi-code. Use one root for both paths; try other adapters if absent or unknown. Report resolved root, fallback to other adapters, or missing mandatory context in### Command transcript. Installed snapshots refresh and prune retired topics only on sync. - Read these sections in
WORKFLOW_OPERATING_SYSTEM.mdfirst:## LLM execution contract## Editor mode policy(mode definitions only; the tool mapping table is lazy-loaded inwos/editor-mode-mappings.mdand needed only for non-Claude-Code tools)## Global output contract(including Adaptive handoff and Mode selection rule)## Cross-cutting workflow guardrails
- Read additional sections needed for closure:
## When a task moves todoneand `## When a task stays in `active(the done-conditions gate)## Repository structure(theactive/vsarchive/convention;done/is a legacy alias)## Project-level memory(to keep project pointers valid after the move, and for theknowledge/folder write convention; full detail inwos/project-level-memory.md)
- Read the active task's memory:
TASK_STATE.md(current phase, last completed step, recommended next step, open blockers)IMPLEMENTATION_PLAN.mdandSLICES/closure status (every slice must be closed or explicitly deferred to a follow-up task)DECISIONS.md(confirm no decision is still open)SOURCE_OF_TRUTH.md## Workspacesection, if present (the worktree path and task branch to tear down per ADR-0074)
- Read canonical command inventory when a clone is available; otherwise use installed Fhorja commands and skills.
- Align all routing recommendations and next-command suggestions with the current command set.
- Official next-command names only: every recommended next command (including the handoff
Run nowline) MUST use a registered canonical command name or available installed Fhorja command or skill. Never invent names. One exception:Run now: nonewithMode: N/Adeclares the chain ended with no honest next step, defined under### Official command names (routing integrity)(ADR-0126); use it only then, never to end a chain that has a real next step.
Required inputs:
- active task folder path (
projects/<client>__<project>/active/YYYY-MM-DD_<task-slug>/) - TASK_STATE.md (current)
- IMPLEMENTATION_PLAN.md and SLICES/ closure status, if present
- evidence (or explicit user waiver) for each done-condition: implementation complete, review complete, team approval, merge into the target integration branch
Done-conditions gate (from the spec ## When a task moves to done``):
- implementation complete
- review complete
- team approval happened
- merge into the target integration branch happened
TASK_STATE.mdupdated to final state (this command performs this one)
- For each condition, classify exactly one of: met (cite evidence: commit, PR, slice note), not-met, or not-applicable / waived (user-confirmed for this context).
- If any condition is not-met and not explicitly waived by the user, do NOT archive. Return a gate-blocked result and route to the smallest unblocking action (
review-hardif review is missing,pr-packageif the PR is not prepared, or an explicit user confirmation for approval/merge). - Condition 4 is checked, never auto-waived (ADR-0191). WHERE an integration branch exists, ask whether the closed work is ON it: the cited commits are ancestors of that branch (
git merge-base --is-ancestor <commit> <branch>). They are, and condition 4 is MET, on the direct-to-branch pattern as much as on a merged pull request; push is a separate act and this condition does not ask about it. WHERE no integration branch exists at all, the condition is not-applicable and says so.
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.
- 12d ago Changed · -1 lines 12a06aa4e835
- 15d ago Changed · +3 lines 0a1133c2ba93
- 22d ago Changed · -6 lines 7ba7f89f185c
- 23d ago Changed · +2 lines 2ae8d8af6b53
- 1mo ago First seen · 202 lines · 0 tokens per session scan A 7dcbeee2f8da
task-close is a command published in the GitHub repository Mozurok/fhorja.dev (10 stars, last pushed 12d ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 7,694 tokens. 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-09-03.
Other commands, from other repositories
kiro-spec-tasks
Command "kiro-spec-tasks" from gotalab/cc-sdd, covering implementation tasks generator, core task, execution steps, step 1: load context and step 2: generate implementation tasks.
ijfw-status
Show IJFW state -- mode, routing, memory, recent activity, codebase index, settings. Use when you want the at-a-glance banner you'd otherwise get at session start.
taskstoissues
A command that turns structured tasks from project design documents into ordered GitHub Issues, written in simplified Chinese.
team
Manage your project's agent team. Usage: /team [setup|list|add|remove|swap].
workflow
Start or resume the IJFW project workflow. Usage: /workflow [discover|plan|execute|verify|ship|status].
specmanager-build
Build one phase of a SpecManager feature's plan via the builder subagent. Stops at the phase boundary; never advances.