Skip to content

Commit 6aaf0c9

Browse files
ndemiancclaude
andcommitted
PLAN: add M6.7 "Class Select" (Agent Roles reskin) + Superpowers in M6.5
- M6.7 "Class Select" — the awwwards milestone: selectable Agent Roles (Warcraft-III race-select energy) that reskin the whole editor to a role's atmosphere + surface its priorities. Six classes (Atelier/War Room/Forge/Vault/Observatory/Workshop). Role engine = { persona + skills + MCP + UI profile } reskinning via five levers (persona, theme, when-gated views, status bar, dashboard) — honestly tagged extension-reachable (rebase-safe) vs the one deferred core patch (pixel-perfect layout reorder). First slice: Forge + War Room. - M6.5 — fold obra/Superpowers in as a first-class installable skill source (verified MIT; /skills/*/SKILL.md tree, same agentskills.io standard the registry already parses — no adapter), installed on demand with LICENSE attribution. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent b40b97f commit 6aaf0c9

1 file changed

Lines changed: 17 additions & 1 deletion

File tree

‎PLAN.md‎

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,13 +152,29 @@ Give the agent a hot-swappable library of expertise it picks *implicitly* per ta
152152
*The awwwards-grade UX — magical because implicit, trustworthy because every choice is visible and reversible:*
153153
- **`🧩 using skill: X` chip** on every selection (the existing `agentTool → addAgentLine` path, same quiet treatment as `🔎 Auto-context`); click to see *why*, view the read-only SKILL.md, or **⊘ suppress it and re-run the turn**.
154154
- **Slash-commands** (`/webapp-testing fix the flaky login spec`) as the power-user escape hatch — discoverability + deterministic override, never the default path.
155-
- **Skills gallery + installer** — list all three tiers with source badges, enable/disable toggles, and an Add-skill flow (folder / `.skill` zip / URL) that validates frontmatter on import.
155+
- **Skills gallery + installer** — list all three tiers with source badges, enable/disable toggles, and an Add-skill flow (folder / `.skill` zip / URL) that validates frontmatter on import. *Includes an "Add source" that installs external `SKILL.md` collections on demand into `~/.atom-plus-plus/skills/` — flagship example: **obra/Superpowers** (MIT; a `/skills/*/SKILL.md` tree of TDD / debugging / planning / code-review methodology skills) — clones in, LICENSE appended to `THIRD_PARTY_LICENSES.md`, attribution badge shown. No adapter needed: it's the same agentskills.io standard the registry already speaks.*
156156
- **`skill-creator`** bundled so users author their own ("make a skill for our GraphQL conventions" → scaffolds a valid SKILL.md, live on save) — the Atom "hack your editor while it runs" feeling, mirroring the existing package generator.
157157

158158
*Starter coding skills to bundle (license-clean only):* frontend-design, webapp-testing, mcp-builder, skill-creator (Apache-2.0, vendored verbatim); code-review, pr-review-expert, focused-fix, test-writing, refactor, commit-and-pr, docs-writer, ship-gate (MIT-adapted or original). **Licensing guardrail:** Apache-2.0 (anthropics code skills) + MIT (community-adapted + our own) ship freely with their LICENSE + a `THIRD_PARTY_LICENSES.md`; the **source-available** document skills (docx/pdf/pptx/xlsx) are **reference-only — never bundled** (the same "license-clean" bar that strips Copilot), but users may install them into their own `~/.atom-plus-plus/skills/`, or we ship an original MIT "pdf-lite."
159159

160160
*First slice (one sitting, proves the thesis):* `skills.js` (bundled tier only) + the `use_skill` tool + the SYSTEM menu + three scriptless skills (**code-review, focused-fix, test-writing**) + the free `🧩` chip (no new UI). Demo: *"this login function throws on empty input, fix it"* → the agent calls `use_skill('focused-fix')` unprompted, the chip shows it, and the SKILL.md steers SCOPE→TRACE→DIAGNOSE→FIX→VERIFY through the existing edit/review tools. Implicit, token-cheap, visible, rebase-safe — proven in one demo. Slash-commands, gallery, user/workspace tiers, hot-reload, and script-bundling are fast follows on the same seam.
161161

162+
**M6.7 — "Class Select": Agent Roles (the Warcraft-races reskin). — the awwwards moment.**
163+
*Pick your class, the editor transforms.* A **Role** is a first-class, installable bundle = **{ persona/system-prompt + skill set + MCP servers + UI profile }**. Choosing one from a **"Class Select"** splash (Warcraft-III race-select energy) **reskins the whole shell** to that role's atmosphere — color theme, which panels are surfaced vs hidden, the status-bar channel, a role **mission-control dashboard**, and the agent's very priorities — then sources that role's expertise from **obra/Superpowers** + the M6.5 `SKILL.md` library. Six first-party "classes": **The Atelier** (UX/UI Designer — museum bone-white, Canvas/Preview + design tokens, visual-verify persona), **The War Room** (DevOps/SRE — near-black NOC green/amber/red, Ops Matrix + multi-log-tail, *"show the plan/diff, default dry-run"*), **The Forge** (Backend — slate/molten-orange, Endpoint Workbench + test runner, *"tests are part of the change — run them before Done"*), **The Vault** (Security — obsidian/caution-yellow, Findings/Threat board, *"read-only by default, cite the CWE before fixing"*), **The Observatory** (Data/ML — indigo night-sky, dataset profile + notebook), **The Workshop** (Frontend — One-Light + framework accent, Live Preview + perf/a11y nudges).
164+
165+
*Awwwards hook:* the same "fix this" prompt is answered by a calm, blast-radius-obsessed SRE in a dark NOC one second and a contract-obsessed backend engineer in a molten-orange forge the next — theme, panels, status channel, dashboard, **and the agent's personality** — all in one click, all on your own key.
166+
167+
*The Role engine (a new `roles.js` in `extensions/atom-ai/`; active role in `globalState`, workspace-overridable via `.atompp/role`) reskins via five levers, each honestly tagged extension-reachable vs core-patch:*
168+
- **Persona** *(extension — highest leverage)* — refactor `agent.js`'s `SYSTEM` const into `buildSystem(role)`: prepend the role's persona + append its `skills[]` to the M6.5 "Available skills" menu, and set role-specific approval strictness on the existing `run_command` card. *Zero core risk; makes the agent visibly become a different engineer — this is where Superpowers' TDD/review methodology steers behavior.*
169+
- **Theme** *(extension)* — `config.update('workbench.colorTheme', role.ui.theme)` switches the whole shell instantly; the chat webview themes 100% off `var(--vscode-*)`, so it reskins for free. Ship 6 role themes in `atom-themes`.
170+
- **Surfaced views** *(extension; pixel-perfect layout *reorder* = optional deferred core patch)* — contribute each role panel once in `package.json` gated `"when": "atompp.role == '<id>'"`; the engine flips one context key (`setContext('atompp.role', id)`) to reveal/hide the right set. Rebase-safe; only forcing built-in container *positions* (terminal-as-centerpiece, fixed-width chat) needs a tagged `[Atom++]` core patch, deferred.
171+
- **Status bar** *(extension)* — per-role channel items (War Room: cluster/namespace + health dot; Forge: service + test pass/fail), reusing `inlineComplete.js`'s status-item pattern.
172+
- **Role dashboard** *(extension)* — one `createWebviewPanel` per role (Ops Matrix, Design-System Health, Threat Board, Endpoint Workbench, Dataset Profile…), built on the chat-view primitive, fed by the agent's read-only tools + role MCP servers (M6) — live data, not mockups.
173+
174+
*Superpowers integration (verified: MIT, `Copyright (c) 2025 Jesse Vincent`; 14 skills under `/skills/*/SKILL.md`):* folds into M6.5 as a **`source: 'superpowers'` tier** — installed on demand (not bundled into the `.dmg`), scanned by the registry with **no adapter** (same SKILL.md standard), LICENSE appended to `THIRD_PARTY_LICENSES.md`, attribution badge. The engineering classes (**Forge/Workshop**) drive Superpowers' TDD → review-against-plan methodology, closing M5's verify loop with a battle-tested named workflow. Because a Role's `skills[]` resolves from *any* registry tier, **community Role packs are drop-in** (`.role` zip / git URL, validated like the skill installer) — Superpowers is the flagship third-party example.
175+
176+
*First slice (one sitting, proves all five levers):* ship **The Forge** + **The War Room** (sharpest contrast). `roles.js` with those 2 manifests + `setRole`/`roleChanged`/`setContext`; `buildSystem(role)` (War Room demands a dry-run plan before any mutating command; Forge won't say "Done" until tests pass); the 2 themes; a per-role status item; one when-gated panel each; a 2-card Class Select splash. *Demo: Class Select → War Room → the editor goes dark-NOC, the chat re-skins, a health dot + namespace appear, an Ops Matrix slides in, and "deploy this" now makes the agent show a dry-run plan; click The Forge → the world flips to slate-and-orange with a test pass/fail counter and an agent that won't finish until green. Same editor, two completely different engineers, one click.* Gallery / Superpowers clone / MCP / layout-patch are all fast-follows on the same seam.
177+
162178
**M7 — The daily-driver flow.**
163179
- **● Next-edit prediction — "Tab to Jump"** *(L)* — upgrade `inlineComplete.js` from single-shot FIM into diff-aware next-edit prediction (recent edits + open tabs as context, multi-line rewrites, jump-to-next-edit site) with prompt-prefix caching. *Tab/Fusion is repeatedly named the single most addictive Cursor/Windsurf feature and the highest-frequency daily interaction; our single-shot, uncached completion is the biggest experiential gap.*
164180
- **Image / multimodal input** *(M)* — attach screenshots/mockups in the composer; send image blocks (Anthropic supports them); flip `lmProvider` `imageInput: true`. *Design-to-code and visual debugging are now expected for frontend work.*

0 commit comments

Comments
 (0)