Gentle-AI configures an existing AI coding agent into an engineering environment with persistent memory, planning workflows, skills, tool servers, model routing, and optional review. Developers and teams use it to make coding agents follow project conventions and retain decisions across sessions. The catalogue entries are its skills, commands, agents, and instruction.
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/Gentleman-Programming/gentle-aiWrote 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/gentleman-programming/gentle-ai/gentle-sdd-archive)<a href="https://agentmods.dev/commands/gentleman-programming/gentle-ai/gentle-sdd-archive"><img src="https://agentmods.dev/badge/commands/gentleman-programming/gentle-ai/gentle-sdd-archive/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/gentleman-programming/gentle-ai/gentle-sdd-archive"><img src="https://agentmods.dev/badge/commands/gentleman-programming/gentle-ai/gentle-sdd-archive.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.00014 | $0.00971 |
| Opus 5 | $0.00007 | $0.00485 |
| Sonnet 5 | $0.00003 | $0.00194 |
| Haiku 4.5 | $0.00001 | $0.00097 |
Grade A, and why
gentle-sdd-archive 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 7d 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.
This is a copy
100% identical to sdd-archive — 56 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 47 lines — stays where its author put it; the contents beside it link to each section on GitHub.
If the native sdd-archive sub-agent is available, delegate this command to it.
Otherwise, read the skill file at ~/.claude/skills/sdd-archive/SKILL.md FIRST, then follow its instructions exactly inline.
CONTEXT:
- Working directory: Detect agent-side before proceeding by running
git rev-parse --show-toplevelwith the Bash tool; if that fails, runpwdwith the Bash tool. - Current project: Derive agent-side from the detected working directory basename. Do not use slash-command shell interpolation for this value.
- Artifact store mode: engram
TASK: Archive the active SDD change. Read the verification report first to confirm the change is ready. Then:
STATUS GATE:
Read ~/.claude/skills/_shared/sdd-status-contract.md and produce structured status before acting. If $ARGUMENTS is missing or ambiguous, ask the user to choose and STOP. Do not guess. Archive only when refreshed native SDD status reports dependencies.archive: ready and nextRecommended: archive. Continue only when verify-report exists, contains no CRITICAL issues, and tasks are complete. reviewOffer is optional and never an archive or delivery gate. Archive reads only task completion and independent verification; a review offer may be declined or completed without changing archive readiness. CRITICAL verification issues have no override. If unchecked tasks remain, send the change back to sdd-apply unless apply-progress/verify-report prove they are stale checkboxes and the orchestrator explicitly requests mechanical reconciliation. If status reports workspace-planning, STOP and explain that workspace archive is not supported in this slice. Carry contextFiles, task progress, dependency states, and actionContext into the native sub-agent prompt when delegating.
ENGRAM PERSISTENCE (artifact store mode: engram):
CRITICAL: mem_search returns 300-char PREVIEWS, not full content. You MUST call mem_get_observation(id) for EVERY artifact.
STEP A — SEARCH (get IDs only):
mem_search(query: "sdd/{change-name}/proposal", project: "{project}") → save proposal_id
mem_search(query: "sdd/{change-name}/spec", project: "{project}") → save spec_id
mem_search(query: "sdd/{change-name}/design", project: "{project}") → save design_id
mem_search(query: "sdd/{change-name}/tasks", project: "{project}") → save tasks_id
mem_search(query: "sdd/{change-name}/verify-report", project: "{project}") → save verify_id
STEP B — RETRIEVE FULL CONTENT (mandatory):
mem_get_observation(id: proposal_id) → full proposal
mem_get_observation(id: spec_id) → full spec
mem_get_observation(id: design_id) → full design
mem_get_observation(id: tasks_id) → full tasks
mem_get_observation(id: verify_id) → full verification report
Record all observation IDs in the archive report for traceability.
Treat verify-report and apply-progress as intermediate snapshots: the archive report records the state at close per the skill's Final-State Authority section, and explicit final-state facts in your launch prompt outrank stale snapshot claims.
Archival is a MECHANICAL filesystem operation: copy/move artifacts with cp -R/mv/git mv via the shell only — NEVER via model Read/Write, which can truncate bytes silently while reporting success. After every copy/move, run diff -r (source vs. destination, archive-report additive-only) and include its verbatim output in the result; an empty diff is the only passing evidence, and a skipped/missing diff -r FAILS the phase. If shell access is unavailable, STOP and report blocked — do NOT fall back to Read/Write copying.
Save:
mem_save(title: "sdd/{change-name}/archive-report", topic_key: "sdd/{change-name}/archive-report", type: "architecture", project: "{project}", capture_prompt: false, content: "{archive report with observation IDs}")
Set capture_prompt: false when the Engram tool schema supports it; if an older schema rejects or does not expose the field, omit it rather than failing.
Then:
- Sync delta specs into main specs (source of truth)
- Move the change folder to archive with date prefix
- Verify the archive is complete
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.
- 7d ago First seen · 47 lines · 14 tokens per session scan A 77849cc250dc
gentle-sdd-archive is a command published in the GitHub repository Gentleman-Programming/gentle-ai (6,475 stars, last pushed today), licensed MIT. It adds 14 tokens to every session and 971 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. It is 100% identical to sdd-archive, differing in 56 lines, and is treated as a copy.
Other commands, from other repositories
pr-feedback-ingest
Turn PR feedback (Greptile, CI, bots, humans) into a structured traceable backlog aligned with TASKSTATE.md, DECISIONS.md, and IMPLEMENTATIONPLAN.md so the next execution step can be a narrow implement-approved-slice or a small planning touch without losing alignment. Corrective scope only. Use when a PR is open or…
post-review-pivot
Capture what a PR or team review changed about the intended behavior or approach, separate keep vs revert/replace, and produce the smallest safe set of updates to task memory and follow-on work. Does not implement product code. Use when a PR or team feedback requests a meaningful direction change (wrong fields, wrong…
arrange-workspace-flow-choose-workspace-layout
Phase 1 Choose Workspace Layout of arrange-workspace-flow.
arrange-workspace-flow
Workflow for arranging a workspace: layout, reference source code, business/technical context, ecosystem setup.
taskstoissues
A command that turns structured tasks from project design documents into ordered GitHub Issues, written in simplified Chinese.
cross-audit
Second-model review. Picks an auditor (codex/gemini/opencode/aider/copilot), excludes the caller, writes a prompt to paste, reads the response back. Usage: /cross-audit [--with | list | compare].