All notable changes to agentic-toolkit are recorded here. Format follows Keep a Changelog.
Versions are retro-fitted from commit history; dates are ballpark, grouped by milestone rather than per-commit.
ELI5output style (ai/customize/config/ELI5.md) — a Claude Code output style that asks for plain, minimal answers (small words, short sentences, at most two options when a decision is needed, exact paths/commands preserved).STE100output style (ai/customize/config/STE100.md) — a Claude Code output style based on ASD-STE100 Simplified Technical English: short sentences, one instruction each, active voice, common words, condition-first phrasing, exact paths/commands.
Repo-hygiene and tooling housekeeping — no functional changes.
- Statusline context indicator switched from an ASCII bar to a colored percentage.
ai/customize/config/statusline-command.shreplaced the 20-char[==== ]context-usage bar with a compact| NN%readout that colors by pressure — green<25%, orange<35%, red otherwise. Synced from the live~/.claude/statusline-command.sh. - Agent/IDE scratch gitignored and de-tracked.
.gitignorenow default-denies every dot-directory (.*/), re-admitting only what ships (.github/). Per-machine agent/IDE state (.claude/,.litectx/,.idea/, …) regenerates locally and only added noise and churn; any already-committed copies are removed from tracking (local files kept on disk). Repo hygiene only. node_modules/gitignored. No rule existed, unlike liteagents; a straynode_modules/under the bundled live-canvas-channel plugin showed as untracked noise. Nothing was previously tracked, so no de-tracking was needed.
Dependency security fixes mirrored from liteagents@2.15.3.
- Merges Dependabot #14/#13: hono 4.13.0 (closes residual moderate ReDoS,
GHSA-8j4g-w8fx-2239), ip-address 10.4.0 (3 high SSRF/trust-boundary
advisories). Also applies
npm audit fixfor fast-uri 3.1.5 (high, GHSA-7p8r-x3mc-p8w7) — not yet proposed as a separate Dependabot PR. Transitive deps of the bundled live-canvas-channel plugin's MCP SDK. Plugin audit: 3 → 0 vulnerabilities.
Hot-memory pipeline change mirrored from liteagents@2.15.0.
/stashdelegates the write-up to a mid-tier-model subagent (mirror from liteagents). The session drafts the raw content inline (only it holds conversation context), then hands off to a mid-tier-model subagent to expand and write the formatted stash file — dispatched in the background where the tool supports it, falling back to writing inline otherwise. Applied identically across all four packages.subagentic-manual.mddocuments the new mechanism in its Hot Memory section.
Hot-memory pipeline changes mirrored from liteagents@2.14.0 and liteagents@2.14.1.
/rememberbootstraps a standards-guide template (mirror from liteagents). A newAGENT_RULES.md(an AI agent collaboration/coding-standards guide) ships bundled next tofriction.jsin all four packages. On first/rememberrun in a project, if<tool-dir>/remember/AGENT_RULES.mddoesn't already exist, it's copied from the bundled template — never overwritten again after that, so local edits persist. When present, it's injected into the agent config via its own independent marker pair (<!-- AGENT_RULES:START/END -->), separate from the MEMORY.md block and framed as a guide to consult when building something new — not hot context loaded every session.
/rememberextraction is parallel and model-agnostic (mirror from liteagents). Step 2's per-stash extraction calls are now spawned as concurrent subagent calls instead of one at a time. Every hardcodedsonnetmention (steps 2, 3, 4a) is replaced with "the mid-tier model" — a new Guardrails note explains the intent (capable of semantic judgment, cheaper/faster than the top reasoning tier; Sonnet is the Claude example, not a requirement) so the instructions work unmodified across Claude/opencode/ampcode/droid regardless of which models each tool has configured.subagentic-manual.mddocuments both changes in its Hot Memory section.
Hot-memory pipeline changes mirrored from liteagents@2.13.0 (plus the
2.12.x-era mirrors that were sitting in Unreleased).
- Antigen ledger (
/rememberstep 4c) (mirror from liteagents). Every behavioral rule now carries an evidence trail in<tool-dir>/remember/ledger.json: which mistake-class it targets (class_hintsdedup key), the evidence that promoted it, and every phrasing ever tried (attempts— failed attempts are the rejected-edit buffer, never re-proposed). A class that fires again while its rule is loaded incrementsrecurred_while_hot: at 2 the phrasing is marked failed and rephrased; after 2 failed phrasings the antigen is ESCALATED — removed from hot, recorded as a Fact, flagged for a human decision. Failure detection without statistics; instructions-only (no new code), identical across all four packages. /rememberwrites its run report to<tool-dir>/remember/report.md(latest snapshot, overwritten each run).
- Pipeline consolidated to two dirs, each owned by its command (mirror from liteagents):
<tool-dir>/stash/(/stash) and<tool-dir>/remember/(MEMORY.md, ledger.json, report.md,.processed, transientfriction/output). Was three (stash/,friction/,memory/)./rememberperforms a one-time loud migration: pipeline files move, user-owned files in the oldmemory/stay put, stale friction output is discarded (always regenerated fresh). - Claude's bundled dir joins the naming convention:
claude/commands/friction/friction.js→claude/commands/remember/friction.js— a command's helper dir is now named after the owning command in all four packages (the other three were renamed earlier, still in Unreleased below). context-builderreads/injects<tool-dir>/remember/MEMORY.md(was.../memory/MEMORY.md) across all four packages;/stash's consolidation-nudge backlog count reads.../remember/.processed;subagentic-manual.mdpath references updated.- Friction cluster ranking breaks equal-recurrence ties by intensity (mirror from liteagents). Antigen/episode clusters were ordered by tier then recurrence, with equal-recurrence ties left to incidental order — so a mild reaction could outrank a far more intense one that recurred equally. Added a final tiebreak on median peak friction (already computed): the more intense reaction ranks first. Ranking-only — never promotes across the severity × recurrence 2×2 (a loud one-off stays an episode). Applied across all four tool packages (claude, droid, opencode, ampcode).
- docs:
friction-README.md→remember-README.md(mirror from liteagents) — refreshed for the two-dir layout + ledger; README pointer updated.
- Non-Claude helper dir renamed
friction/→remember/(opencode, ampcode, droid). These tools expect a command's bundled directory to share the command's name;friction.jsis run by/remember, so it now lives inremember/friction.js(was the mismatchedfriction/). remember.md's bundle-path reference updated to match.
/releasecommand across all four tool packages (claude, droid, opencode, ampcode). An end-to-end feature-delivery orchestrator that does not re-implement checks — it runs the existing gates (/ship,/security,/diff-review) under/verify-donediscipline, then performs the release actions. Split by a hard gate: everything before is safe/read-only (preflight branch resolution, verify with fresh evidence + coverage table); everything after rewrites history and is confirmed step by step (docs update, semver bump, commit, push, PR, merge, tag). Publish stays manual (workflow_dispatchby design). Usage:/release [branch]— requires a feature branch, never releasesmain. Registered inopencode.jsonc; catalogs in eachAGENT(S)/CLAUDE.mdandsubagentic-manual.mdbumped (Claude/Amp 8→9 commands, Droid/OpenCode 17→18).live-canvasrecategorized on Amp from a command to a subagent inampcode/AGENT.md(batch mode only on Amp).
.litectx/(local litectx index DB) added to.gitignore.
/frictioncollapsed into/remember; hot-memory pipeline is now two commands (/stash → /remember) (mirrored from liteagents)./rememberrunsfriction.jsitself (best-effort) against the tool's global sessions root — resolved from an editable, never-prompt probe list baked intoremember.md(Claude/Droid/Amp/opencode + Codex/Antigravity; add your own at the top) — then consolidates. A no-sessions miss is surfaced loudly, never silently skipped./stashnow nudges toward/rememberat ≥5 unprocessed stashes (derived count, no counter file). Each package's/rememberwrites the memory into its own agent config (CLAUDE.md/AGENTS.md/AGENT.md). Standalone/frictioncommand removed across all four tool dirs (thefriction.jsscript stays). Counts, catalogs,subagentic-manual.md,opencode.jsonc,docs/friction-README.md, and README updated.
friction.jsno longer crashes on a single malformed JSONL line (mirrored from liteagents). The four tool copies underai/subagentic/*/.../friction/parsed session logs andfriction_raw.jsonlwith bare.map(line => JSON.parse(line))— one corrupt line aborted the whole run. A newparseJsonl(raw, source)helper skips bad lines with a one-line stderr warning (line number + source) and keeps the good records; the whole-filefriction_analysis.jsonread is now wrapped in try/catch (reports the file, exits 1).ai/subagentic/subagentic-manual.mdrestored after a range-sed corruption inherited from the 1.6.0 mirror. The corruption originated upstream in liteagents (a range-sed with end-patterntest-generate$matched far past its intended scope and overwrote ~310 lines with duplicates of the "Simple Commands" bullet) and rode along to this repo when the file was copied in commitbda2c0c. Restored from the cleaned liteagents version; all renames and count updates intact.
ai/customize/memcp/— the experimental MCP memory server (semantic-search persistent memory for Claude Code). Internal tooling, not published. Removal clears the open Dependabot alert foruuid < 11.1.1(the only direct/indirect dep using uuid in this repo). README references in theai/customize/description and theStructureblock updated.
Subagentic command set consolidated and verify-then-fix loops baked into
the claim-shaped commands. Five 3-word skill slugs renamed to 2-word
slugs. /review renamed to /diff-review to avoid collision with the
Anthropic-official code-review plugin. Synced from liteagents@2.9.0+.
/review→/diff-reviewacross all four tool packages (claude, droid, opencode, ampcode). Avoids the name collision with the Anthropic-officialcode-reviewplugin'sreviewskill. The renamed command absorbed the old/code-review(which had been workflow ceremony for requesting reviews from a subagent) and now accepts a file, branch (e.g./diff-review maindiffsmerge-base(main, HEAD)..HEAD), or explicit range (main..HEAD).- Claim-shaped commands now verify → fix → ask.
/diff-review,/security,/optimize,/test-generateall re-ground each citedfile:linebefore acting, auto-fix only confirmed + unambiguous + no-contract-change findings, and stop to ask on uncertain claims, multi-shape fixes, downstream-affecting changes, security primitives, or "dead code" that may be intentionally kept./diff-reviewends with a Ready to merge? Yes / No / With fixes verdict. /refactornow runs the tests after the edit (lightweight pattern: the user's input is the claim; tests are the verifier). Detects the project's test command, runs it scoped to the affected area, reports pass/fail. On failure stops and asks (revert / patch / update test) rather than auto-reverting or pushing forward silently./test-generaterewritten as a generate-and-verify-it-bites loop. Discovers existing framework (refuses to add a new runner), generates, runs the new tests, and marks each one biting or superficial by mentally swapping in a broken impl. Superficial tests (expect(true).toBe(true), mock-asserting-itself, setup-masked passes) count as a failure to ship.- Skills renamed to short 2-word slugs.
systematic-debugging→debug-method(4-phase framework, with its 4 pressure-test scenarios + creation log preserved).root-cause-tracing→trace-back(with itsfind-polluter.shbisection helper preserved).testing-anti-patterns→test-traps(now includes timing/polling as Anti-Pattern 6 after the condition-based-waiting fold).test-driven-development→tdd-flow.verification-before-completion→verify-done. Resulting cluster reads scannably:debug-method / trace-back / verify-doneandtdd-flow / test-generate / test-traps. condition-based-waitingfolded intotest-trapsas Anti-Pattern 6: Timeout-Based Waiting. Promotes the timing/polling guidance to auto-trigger coverage (was previously manual-trigger only). Itsexample.tshelper (waitForEvent/waitForEventCount/waitForEventMatch) moves with it and is referenced from AP6.installer/cli.jsbanner derives counts frompackage.json.description— was hardcoded as"11 agents + 23 commands per tool"and drifted silently. Now parses11 specialized agents and 18 commandsfrom the description, so the banner auto-tracks whenever the count changes. Fallback values prevent crash on regex miss.
/code-review(was workflow ceremony for requesting reviews; mostly overlapped/diff-review). Use/diff-reviewinstead —/diff-review mainfor branch-vs-main, no args for staged/working-tree./debug— was a thin echo of thesystematic-debuggingskill. The renamed skill (debug-method) carries the real workflow with its pressure-test scenarios./explain— 11 lines of "explain this code" with no real constraints. The model does this naturally from a plain prompt./git-commit— Claude Code has built-in commit handling; the other three tools don't need a thin wrapper either. Use natural-language prompts instead.
- Claude: 9 skills + 9 commands (was 11 skills + 12 commands).
- Droid / Opencode / Ampcode: 18 commands per tool (was 23 commands).
package.jsondescription updated to reflect the new totals.
- README simplified (210 → 75 lines) to match the repo — AI
subagent kits for four tools plus per-distro Linux dev-tool setup
(
tools-debian/tools-fedora). Dropped the marketing hero and the Documentation / Support & Community / Contributing / License sections (kept a one-line license note), and fixed dead links: the removedtools/paths, the deletedCONTRIBUTING.md, and thevibecoding-101.mdfilename typo.
Friction memory pipeline redesigned; ships the previously-unreleased
/security, /ship, and /git-commit hardening; prunes stale docs.
docs/friction-README.md— canonical guide to the stash → friction → remember (hot-memory) pipeline.
/frictionredesigned: antigens come from observed user reactions, not machine proxies — clusters by what the user said (content/phrase overlap) instead of(signal, tool_pattern); recurrence × severity drives the suggested artifact; only patterns recurring across 5+ sessions load into hot memory. Pasted SSH/shell output is no longer mistaken for friction, and profanity counts only when it's aimed at the agent. Applied across all four platforms./rememberrewritten to consolidate from friction's short quotes, never raw logs — classifies agent-vs-self, drops self-corrections, merges paraphrases, tiers antigens by recurrence, and surfacesself_suspectfor confirmation. MEMORY section renamedPreferences→Antigens./securitycommand hardened across all four platforms (Claude, Opencode, Ampcode, Droid). Replaces the five generic categories with "the recurring six" — secrets in the repo, tenant isolation, rate limiting, error handling past the happy path, authorization beyond authentication (IDOR), and inefficient data access (N+1) — plus an expanded "also scan for" list (injection, trust boundaries, config, dependencies). Output is now coverage-auditable: it reports which classes were checked clean and which are N/A, not just the hits. Adds read-only git/rg tooling (git log,git grep,rg) toallowed-tools./shipcommand hardened across all four platforms. Now detects the stack first (npm / pyproject / go.mod / Cargo / Makefile) and runs only checks that exist, reporting each as pass / fail / N/A. Adds security-relevant gates (ownership + role authorization, rate limiting, data-access scoping/scaling) and broadensallowed-toolsacross stacks (pnpm, yarn, pytest, python, go, cargo, make)./git-commit(Claude)allowed-toolssyntax fix —Bash(git *)→Bash(git:*)to match Claude Code's matcher format.- README cleaned of emoji — removed decorative emoji from
headings, inline links, and list markers for a plain-text,
professional presentation. Emoji bullet lists ("Who Is This
For?", "Support & Community") converted to standard markdown
bullets; "Built with ❤️" now reads "Built with love"; fixed the
#quick-startanchor link that had depended on the heading emoji.
- Pruned nine stale planning/spec docs from
docs/(agent consolidation/cleanup plans, split summary, digraph notes, subagents-and-skills, verification-and-isolation pattern, FAQ, CONTRIBUTING) — superseded or merged into the README/guide. - Dead scaffolding in
friction.js: the unusedoverlap()helper, theMIN_KW/MIN_INTERconstants, the unreadselfCount(superseded byanySelf), and the emptytop_filesfield with its unreachable renderer.
- Root
package.jsonadded (private; metadata only — this repo is multi-language, package.json is for the version badge and npm-style tooling integration). - README badges (version + license, plato-style; #2a4f8c).
live-canvas matures: simpler overlay, robust channel server,
JSON mode writes to disk. The live-canvas-channel MCP plugin (v0.5.0)
gains explicit lifecycle tools, a capability gate that prevents
silent feedback loss, and automatic takeover when a prior Claude
session is holding the port.
- Channel server: lazy port binding via MCP tools —
channel_open,channel_close, andbatch_open. Port 8788 is only bound when the skill explicitly calls one. Plain Claude sessions stay idle; multiple sessions can coexist with/mcpgreen without racing for the port. - Channel server: parent-flag capability gate —
channel_openinspects the parentclaudeprocess's command line and refuses to bind from sessions launched without--dangerously-load-development-channels. Before this, a plainclaudecould win the port and silently drop every notification (POST 200 but no<channel>tag) — the "nothing landed" black hole. Cross-platform: Linux/proc/<ppid>/cmdline, macOS/BSDps -p <ppid> -o args=, Windowswmic. - Channel server: automatic sibling takeover — when
channel_openfinds port 8788 held by another instance of the same plugin running as the same uid, it takes over (SIGTERM, rebind, SIGKILL fallback). The taken-over pid is returned astook_overso the skill can announce it. Foreign processes are still refused with{status: "in_use", holder_pid}— the plugin won't kill anything it doesn't own. - JSON mode writes to disk — channel server gains a
POST /feedback-jsonlroute that appends submissions to<project>/.claude-design/feedback.jsonl. Skill callsbatch_open(no flag gate) and sets the overlay'sbatchEndpointaccordingly. Falls back to the legacy browser download only when the MCP isn't running. - SKILL.md Case D — explicit relaunch instructions — when
the tool returns
no_channel_capability, the skill prints the exactlive-claudecommand instead of a generic "Live mode unavailable" error. - Lab banner template — new
templates/lab-banner.html("temporary review surface") replaces the old per-mode banners. Mode-agnostic, paste-once.
- Vanilla overlay everywhere — deleted the React-specific
feedback components (~2300 lines).
overlay-vanilla.js(one file, plain DOM, zero deps) now works in every supported framework, including React/Next.js/Vite via<script>+useEffect. - User-facing rename "Batch" → "JSON" — the non-Live mode is called "JSON mode" everywhere user-facing.
- Demo relocated to
dev/—templates/demo/post-variants.htmlwas never copied during real runs. Moved todev/post-variants.htmlat the skill root in each platform package. - Explicit mode pick — skill asks Live vs JSON via
AskUserQuestionevery run instead of silently auto-detecting. - SKILL.md mode-selection: replaced
curl /healthprobe with themcp__live-canvas__channel_opentool call. The tool's structured result (opened/already_listening/in_use/no_channel_capability/took_over) is authoritative.
- Channel server shutdown race —
server.close()is async butprocess.exit()was synchronous; stale processes held port 8788 indefinitely after the MCP host disconnected, breaking/reload-pluginsand subsequent sessions. Now uses aclosingguard and letsserver.close()callback drive exit (500ms unref'd ceiling). - Overlay mode badge stale on re-expand — collapsing and
re-expanding the overlay showed the wrong mode name after a
runtime live→batch fallback. Badge text now refreshes from
state.modeon every re-expand. setup.shsudo guard — bails when run withsudoinstead of silently installing into/root/.claude/plugins/.- Silent channel black-hole when a plain
claudewon the port race — fixed by the capability gate above; the failure mode can no longer occur.
- React-specific feedback templates (
templates/feedback-react/) in all platform packages. INTEGRATION_NOTES.md(draft notes superseded by README + SKILL).
live-canvas skill lands across all four platforms — design UI
variations with click-to-annotate browser feedback. Claude Code
ships a companion live-canvas-channel MCP plugin that enables
live mode (each overlay Save streams into the session in real
time); other platforms run in batch mode only.
live-canvasskill/command across Claude, Ampcode, Droid, Opencode (templates: vanilla overlay, React feedback components, demo variants).- Claude Code:
live-canvas-channelMCP plugin (marketplace + setup script) for live streaming feedback. variants.jsonacross all platform packages.
- Skills count: 10 → 11 (live-canvas).
- Droid/Opencode commands: 22 → 23 (live-canvas).
frictioncommand refreshed across all platforms.subagentic-manual.mdandREADME.mdupdated to reflect new inventory + live-canvas channel plugin note.
Documentation hardening pass: tone moved from "preferences" to
"standards"; testing strategy rewritten with battle-tested best
practices; development philosophy (POC-first, vanilla-first,
lightweight) added; tech-stack tables collapsed to a minimal
environment section; agent rules restructured for coherence with
a CLAUDE.md stub.
- Agent rules restructured: coherence pass +
CLAUDE.mdstub. - Testing strategy rewritten with battle-tested best practices.
- Tone hardened from preferences to standards.
- Tech stack tables → minimal environment section.
- Development philosophy doc: POC-first, vanilla-first, lightweight.
- Replit references from dev-workflow docs.
- AI tools section from README; Radix UI moved to correct table.
Post-1.0 polish: liteagents extracted to its own repo; stash
command added across all platforms; Kitty terminal installer +
config; minor frontmatter and provider-rename refinements.
stashcommand across all platforms (Claude / Opencode / Ampcode / Droid).- Kitty terminal installer script + working config + menu integration.
- npm global install documented as recommended installation method.
- Subagentic frontmatter:
id→name;titleremoved from agent frontmatter (continuation of 1.0's auto-discovery). - Removed Superpowers / BMAD references; cleaned obsolete hooks and stale README files from the Claude package.
- Skill count corrected: 21 → 20 after subagent-spawning skill removed.
liteagents— extracted to its own repo (hamr0/liteagents) after the rename. agentic-toolkit and liteagents now sit alongside each other rather than nested.
Stable cut. Agent consolidation 15 → 14 → 11; skills consolidation 22 → 11; commands stable at 10. Phase 9 manifest update finalizes the inventory. Frontmatter-based auto-discovery replaces central manifests so agents/skills/commands self-register from their own metadata.
- Agents: 15 → 11. Each renamed; digraph flow definitions added.
- Skills: 22 → 11. Removed 13 non-core skills.
- Commands: 10 essential slash commands (debug, explain, git-commit, optimize, refactor, review, security, ship, stash, test-generate).
- Subagentic architecture: frontmatter-based auto-discovery.
- Phase 9 manifest files: skills/commands inventory.
- Standardized command/skill descriptions with argument hints.
- Task-template references from all
subagentic-manual.mdfiles.
Phases 6-8. Self-verification, task-type detection, and TDD auto-trigger. Verification stops being optional — every non-trivial task triggers it.
- Self-verification gate (Phase 6).
- Task-type detection (Phase 7).
- TDD auto-trigger (Phase 8).
Phases 2-5. Subagent isolation, TDD hints, document verification. Synced across all platforms.
- Subagent isolation (Phase 2).
- TDD hints (Phase 3).
- Document verification (Phases 4-5).
- Per-package sync across Claude / Opencode / Ampcode / Droid.
Phase 1: Universal Verification Gate. Every agent runs through a verification step before completing tasks.
- Universal verification gate.
Phase 0 cleanup. Removed 13 non-core skills + commands from disk; cleaned references; renamed all agents and added digraph flow definitions; added the essential slash-command set.
- 13 non-core skills + commands.
- Stale resources and references.
- All agents renamed; digraph flows added to each.
- Essential slash commands (initial set).
Droid CLI support lands. 90+ droids configured for Droid CLI BYOK (bring-your-own-keys); custom-model config + README updates. Marketplace skills + plugins reorganized; BMAD references cleaned; npm package configuration completed (Task 1.0). Subagents directory structure simplified.
- Droid CLI subagents package (
subagents/droid/). - 90+ droid agents + custom-model config (BYOK).
- Marketplace skills + plugins.
- "Awesome Claude tools" section + Droid + Synthetic references.
- Amp commands + skills documentation.
- npm package configuration (Task 1.0).
- Subagents directory structure simplified.
- BMAD references cleaned up.
- Resources path fixed for
opencode.jsonc. - AGENTS.md updated with command set.
Provider rename + bloat reduction + docs scaffolding. Subagents
moved to provider-named directories (claude/, opencode/,
ampcode/); ampcode kit reduced from ~113MB to ~80KB; AGENT_RULES
relocated under ai/. Documentation: CONTRIBUTING, FAQ, vibecoding-101
placeholder, awesome-llm-skills link.
- Subagent layout:
ai/subagents/{claude,opencode,ampcode}/. - AGENT_RULES →
ai/AGENT_RULES.md. - Ampcode kit: 113MB → 80KB.
- README: equal treatment of all 3 kits; merge conflicts resolved; consistent naming.
docs/CONTRIBUTING.md.docs/FAQ.md.docs/vibecoding-101.mdplaceholder.- Awesome LLM skills reference link.
Subagentic manual + multi-provider scaffolding. Templates and agent files optimized for cross-provider use; Ampcode kit added alongside Claude / Opencode.
subagentic-manual.md(cross-provider integration guide).- Ampcode subagents kit.
- Path harmonization across providers.
- Templates and agent files optimized.
Initial cleanup of the migrated repo. Multi-provider scaffolding (Claude + Opencode), README rewrites, path normalization.
- Path normalization across Claude/Opencode kits.
- README rewritten for the agentic-toolkit shape.
Initial migration from forked agent-dev-suite repo. Restructured
into the agentic-toolkit shape; README + initial docs in place.
- Initial subagents structure migrated from
agent-dev-suite. - Initial README + docs.