Getting it into your agent
There is no command for this one: it runs only inside a plugin, and the catalogue could not identify which plugin ships it. The source is linked below.
Wrote 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/aget-framework/aget/aget-close-project)<a href="https://agentmods.dev/skills/aget-framework/aget/aget-close-project"><img src="https://agentmods.dev/badge/skills/aget-framework/aget/aget-close-project.svg" alt="Measured on agentmods" 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.00078 | $0.07291 |
| Opus 5 | $0.00039 | $0.03646 |
| Sonnet 5 | $0.00016 | $0.01458 |
| Haiku 4.5 | $0.00008 | $0.00729 |
Grade A, and why
aget-close-project 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 6d 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 — 436 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/aget-close-project
Terminally close a PROJECT_PLAN with verifiable assertion, closure checklist, and deferred-surface handoff. Strict counterpart to /aget-create-project.
Input
$ARGUMENTS — PROJECT_PLAN filename (or slug; resolved against planning/) plus required
--disposition <Complete|Closed|CLOSED-PARTIAL|Abandoned|Superseded>
Mode Detection
| Input Pattern | Mode | Behavior |
|---|---|---|
| Empty | Interactive | List candidate plans (status=IN PROGRESS or all gates [x]), prompt for selection |
<filename> --disposition Complete |
Explicit | Resolve the plan and attempt a complete close |
<filename> --disposition <Closed|CLOSED-PARTIAL|Abandoned|Superseded> --reason <text> |
Explicit with reason | Required for every reasoned disposition; the reason explains but never selects the disposition |
<filename> --override <text> |
L178 override | Bypasses the ENTRY gate (Step 2) with recorded reason. Scoped deliberately: it does NOT bypass either arm of the Step 4.5 EXIT gate (4.5a completeness, 4.5b accounting). Before the gh#2250 reorder this flag was the routine way to close an honest plan — every closer-authored checklist row tripped Step 2 — which converted an exception route into the only route. It is exceptional again; a close needing it for closure-row reasons is now a defect report |
Project Closure Process
Step 0: Scope-Fit + Identity Check
- Read
.aget/identity.json— extractname,domain - Resolve PROJECT_PLAN path; verify file exists under
planning/ - If file absent: ERROR with candidate-list suggestion
Step 1: Input Analysis
Parse $ARGUMENTS:
- Plan filename or slug
- Required
--disposition <Complete|Closed|CLOSED-PARTIAL|Abandoned|Superseded>; no default - Optional
--reason <text>(required for Closed/Closed (Partial)/Abandoned/Superseded); reason text explains the explicit selection and SHALL NOT infer or select it - Optional
--override <text>(L178 path — bypasses the Step 2 ENTRY gate with recorded reason; does NOT bypass Step 4.5a or 4.5b)
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.
- 6d ago First seen · 436 lines · 78 tokens per session scan A 8ee20d6e7a52
aget-close-project is a skill published in the GitHub repository aget-framework/aget (11 stars, last pushed 6d ago), licensed Apache-2.0. It adds 78 tokens to every session and 7,291 once invoked, about $0.0004 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-30.
Other skills, from other repositories
aget-file-issue
File issues with L520 governance compliance.
aget-propose-actions
Propose ranked next-best actions with evidence grounding, time budgets, and execute-all default. Formalizes the fleet's highest-frequency interaction pattern.
aget-create-initiative
Scaffold approved initiative manifests at planning/initiatives/INIT-.md. Mirrors /aget-create-project STRICT (D71 Layer 2) — direct Write/Edit to planning/initiatives/ is PROHIBITED once this skill is invoked. Implements SOPinitiative.md (graduated procedure) + future AGETINITIATIVESPEC. Consumes PROPOSALinit.md…
aget-promote-issue
Promote issues from the private tracker (gmelli/aget-aget) to the public tracker (aget-framework/aget) through governed content sanitization and principal approval. Prevents private information leakage at the promotion boundary.
aget-ask
Ask clarifying questions as a measurement instrument for next-action prediction. Default: --clarification.
aget-create-project
Create research projects with context-aware scaffolding. Reads AGET identity, searches prior work, pre-populates Due Diligence. Use when starting any formal AGET project.