19 Commits

Author SHA1 Message Date
gnekt
b1c99bacc8 Extract 13 skills from agents and update full documentation
Architecture change: complex multi-step flows (onboarding, email triage,
transcription, etc.) are now skills that run in the main conversation
context instead of agent subprocesses. This fixes the state/context loss
that caused agents to skip phases during multi-turn conversations.

Skills created (13):
- Architect: /onboarding, /create-agent, /manage-agent, /defrag
- Postman: /email-triage, /meeting-prep, /weekly-agenda, /deadline-radar
- Transcriber: /transcribe
- Librarian: /vault-audit, /deep-clean, /tag-garden
- Sorter: /inbox-triage

Agent changes:
- architect.md: -70% (1554 → 473 lines)
- transcriber.md: -72% (530 → 147 lines)
- postman.md: -42%, librarian.md: -37%, sorter.md: -11%
- All agents: explicit post-it create-if-not-exists

Scripts:
- launchme.sh/updateme.sh: copy skills/ directly, remove generate-skills.py

Docs updated:
- README.md: new Skills section, mermaid diagrams, routing
- getting-started.md, examples.md: skill references
- docs/agents/*.md: capability tables with skill vs agent routing
- references/agents.md, agent-orchestration.md, agents-registry.md,
  agent-template.md: skill registry, skill-first routing protocol
2026-03-25 11:56:52 +01:00
gnekt
6a6ad1a824 Improve input handling in launchme.sh and updateme.sh for non-interactive shells 2026-03-25 07:20:22 +01:00
gnekt
2b2a2daea7 Enforce step-by-step conversation in Architect and fix registry row reinsertion
- Add HARD CONSTRAINT blocks to both onboarding and custom agent creation
  flows, forcing the use of AskUserQuestion for each question to prevent
  the Architect from skipping phases or bundling questions
- Replace hard-coded "| postman |" match in updateme.sh with generic
  last-table-row detection to avoid breaking custom row reinsertion if
  core agents are renamed or reordered
2026-03-25 07:02:36 +01:00
gnekt
8eb103d454 Use robust string matching and printf for user-mutable refs
- Replace grep -qw with bash substring match for filename detection
- Replace echo with printf '%s\n' to prevent content mangling
2026-03-24 12:29:26 +01:00
gnekt
0514e665c6 Preserve custom agent content during install and update
- launchme.sh: skip overwriting agents-registry.md and agents.md on
  reinstall to preserve custom agent entries
- updateme.sh: extract and re-insert custom table rows from the
  registry table plus custom sections, preventing data loss when
  updating from upstream
- Require manifest before deprecating to avoid false positives
2026-03-24 12:21:41 +01:00
gnekt
08d889297c Harden updateme.sh from Copilot review feedback
Address multiple issues raised during PR code review:

- Skip deprecation entirely when .core-manifest is missing, preventing
  accidental deprecation of custom agents/references on first update
- Preserve user's "## Custom Agents" sections in agents-registry.md and
  agents.md during reference updates (merge strategy instead of overwrite)
- Update confirmation message to accurately reflect what is preserved
2026-03-24 12:16:56 +01:00
gnekt
9225b257e9 Move deprecated files to .claude/deprecated/ to prevent auto-discovery
Deprecated agents kept in .claude/agents/ could still be auto-discovered
by Claude Code via their frontmatter. Moving them to .claude/deprecated/
ensures they are completely invisible to the dispatcher while still
preserved for user reference.
2026-03-23 22:41:11 +01:00
gnekt
f86a8560eb Add core-manifest for references to protect user-created reference docs
Same pattern as agents: launchme/updateme write a .core-manifest in
.claude/references/ listing installed core files. The deprecation loop
only touches files in the manifest, leaving user-created references
untouched.
2026-03-23 22:39:33 +01:00
gnekt
0aaf9d4581 Fix grep exit code handling when removing last entry from manifest 2026-03-23 22:36:33 +01:00
gnekt
4f495b1fb6 Fix updateme.sh: deprecate stale agents before rewriting manifest
The manifest was being truncated and rewritten before the deprecation
loop ran, so removed core agents were no longer in the manifest and
got skipped as "custom". Now: read old manifest -> deprecate -> copy
new agents -> rewrite manifest.
2026-03-23 22:35:40 +01:00
gnekt
a136be3f7c Deprecate stale core agents on reinstall before copying new ones
On reinstall (EXISTING=1), read the old .core-manifest and deprecate
any agent that is no longer shipped in the repo, before writing the
new manifest. Prevents stale core agents from lingering in the vault.
2026-03-23 22:31:01 +01:00
gnekt
6f591d3595 Include skill count in updateme.sh summary condition and message 2026-03-23 22:23:56 +01:00
gnekt
77c40be4f7 Skip agent deprecation if target DEPRECATED file already exists 2026-03-23 22:21:52 +01:00
gnekt
9ea4e23d11 Add core-manifest to protect custom agents from deprecation
launchme.sh and updateme.sh now write .core-manifest listing which agent
files were installed as core. The deprecation loop checks this manifest
before touching any file, so custom agents are never deprecated.
2026-03-23 22:19:44 +01:00
gnekt
c62aa7c079 Deprecate removed files instead of leaving orphans in the vault
When a file is removed from the repo (agents, references, or skills),
the updater now renames it with a "-DEPRECATED" suffix and prepends
a "DEPRECATED DO NOT USE" header instead of silently leaving it.

updateme.sh:
- Core agents in .claude/agents/ that no longer exist in the repo
  get renamed to {name}-DEPRECATED.md with deprecation header
  (custom agents are never touched)
- References in .claude/references/ that no longer exist in the repo
  get the same treatment
- The entire .claude/skills/ directory (removed from the project)
  gets renamed to .claude/skills-DEPRECATED/ with deprecation headers
  on each SKILL.md
- Summary now reports deprecated file count

launchme.sh:
- Added confirmation prompt before overwriting existing installation
- Skills generation and copying kept intact (generate-skills.py runs
  first, then copies to .claude/skills/)
2026-03-23 22:09:19 +01:00
gnekt
4c4843e396 Add confirmation prompt before overwriting existing installation
launchme.sh:
- Detects if .claude/ or CLAUDE.md already exist in the vault
- Shows the user what will be overwritten
- Asks for explicit confirmation before proceeding
- Clarifies that custom agents and vault notes are never touched

updateme.sh:
- Asks for confirmation before overwriting core files
- Same clarification about custom agents being preserved
2026-03-23 22:08:24 +01:00
gnekt
10ea817aa5 Generate skills into temp dir to avoid polluting git status
- generate-skills.py now respects SKILLS_DIR env var
- launchme.sh and updateme.sh generate into mktemp -d, copy to vault,
  then clean up — no more untracked skills/ left in the repo
- Warn the user when python3 is missing so Cowork/Desktop users know
  why .claude/skills/ is absent
2026-03-23 21:24:20 +01:00
gnekt
a7e5625250 Address Copilot review feedback on PR
- Fix call-chain example consistency in CLAUDE.md and agent-orchestration.md
  (chain lists already-invoked agents, "step N" matches chain length + 1)
- Renumber architect.md Task Checklist (was skipping 3) and replace
  "Leave messages" step with dispatcher-driven "Suggested next agent"
- Replace "Leave a message to the Sorter" with signal via Suggested next agent
- Clarify "Do NOT write to other agents' files" → only prompt/config files
  (.claude/agents/*.md), normal vault edits still allowed
- Fix agent count 10→8 in docs/getting-started.md
- Initialize SKILL_COUNT before conditional block in launchme.sh
2026-03-23 20:24:35 +01:00
gnekt
299df8b1c9 REVAMPED 2026-03-22 17:17:30 +01:00