Skills from Claude Code plugins and Codex, with memory off, chosen by what they are for - #1396
Merged
Merged
Conversation
…ers; skills with memory off; the whole shelf in the catalog; /skill over the session host
… not go searching
…reign-discovery # Conflicts: # internal/remote/callclass.go # internal/remote/wire.go
…al floor sits below the spread
This was referenced Sep 23, 2026
Member
Author
AbirAbbas
pushed a commit
that referenced
this pull request
Sep 25, 2026
…, skills from other harnesses, the chat as manager (#1410) Brings Santosh's integration branch santos/dev2 onto dev. - Tasks run on the worker harness (bash belt) by default, under /task and codeaf do; CODEAF_TASK_BELT=node, legacy or off goes back. - Runs are first-class work: a run's life is the conversation's, it works in its own copy, dollar and time limits end it by one road and name the limit, its dollars reach the conversation's total, and undriven work reads as interrupted. - Skills, first design: a memory-backed shelf, use_skill, per-message automatic choice, the /skill picker, and skills from Claude Code plugins and Codex (#1396). - The chat as manager over the plan store: the chat sees the plan, and notes reach a running worker. - Task page, rail and step rows; one fuzzy matcher for every picker; the footprint benchmark; heavy-suite locks as kernel file locks; goroutine ownership at close. - Attribution on every commit codeaf writes, and the retry loop that waits on a server cutting answers short. Review fixes before landing (2026-09-24): dev merged in twice (Ara's Home, tips and Sessions wave; #1440), a skill, plugin or settings file that is not an ordinary file is absent and size-capped, the default run road asks the machine before every worker and codeaf do says when it is held, codeaf do keeps its record out of the repository, a task finishing on its capped step ends done, and the manual states the trailer, spent-limit, signing and picture behaviours as they are. Should-fixes are filed as #1444-#1465 and #1490-#1493. Co-authored-by: Santosh kumar <29346072+santoshkumarradha@users.noreply.github.com> Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
santoshkumarradha
added a commit
that referenced
this pull request
Sep 25, 2026
dev now carries santos/dev2 (#1410) and #1388, #1426, #1440 and others. The PR's net change is taken from its fork point bdb08cf; the earlier dev2 merge and its revert are left out, so dev's skills (#1396) and worker step-boundary work stay as dev has them. Conflicts: config/crew.go, config/seats.go and tui3/crew.go take the routed-crew versions; /crew keeps dev's notice event. do.go keeps both the kept-record line and the crew outcome log. task_run_belt.go keeps both the machine-hold rail and the crew completer. home.md keeps dev's rows without the preset forms and adds the crew-panel row. truth_test.go keeps dev's new facts and counts the crew as three seats. back_test.go stays deleted as on dev. CHANGELOG.md keeps dev's released history. #1440 on the routed crew: reflex and small work keep their free defaults on a balance read as low; the three crew seats see the OpenRouter account as out of credit before any call (not re-probed per task) and route to free pools with the free-routes notice. Tests follow. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Skills installed for Claude Code and Codex now reach codeaf directly, with memory on or off, and the model picks the one a request fits by what the skill is for.
What changed
~/.claude/plugins/installed_plugins.json,enabledPluginssays true in the layered settings (home, project, project local), and a project-scoped install counts only in its own project. A plugin reads the skill folders its manifest or its marketplace catalog entry names, and only those; a plugin that names none is read fromskills/. The plugins folder is never walked, so marketplace clones and older cached versions are left alone. A plugin skill keeps its bare folder name, ranks below every hand-kept skill and above Codex's bundled ones; the decision is written up ininternal/skills/plugins.go..codex/skills/.systemare read, below everything else in their scope.npx skillsand similar installers reach every tool from one copy.memory.enabledoff the process builds its shelf in a temporary store from the skill folders and removes it on close. Nothing is written to the memory store the person turned off.use_skill, the catalog and the per-message carry all work. The Dropping a folder shows Add but does not attach it #1380 "switched off" line is gone.use_skill. The word-match carry still runs first on every message.skills · <names>. Once the answer landed, the▸ workedchip swallowed it, and even an opened chip did not show it. It now stays under the message, with the chip starting below it./skillpicker and the attachment work on the ordinary launch. The picker reads the conversation's own shelf. Attach, detach, list and clear cross the session-host connection (remote.Agentmethods,Welcome.Skills,serveSkills), where they had been missing.skillAttacherleaves the surface-door ledger, and the ratchet is now 21 after the merge with the base's own removal.session.Facts.Skillscarries the attachment down unasked, and the engine announces it after every attach, detach or clear. The chip reads the replica, and the picker asks the shelf and the attachment doors off the update loop (the base's new off-loop laws).skills-from-other-tools.md(new),use-skill.md,putting-a-skill-in-front.md,skills-a-turn-used.md,what-i-remember.md; six new retrieval probes. Change entrydocs/changes/unreleased/1396-skills-from-other-tools.md.Catalog cost: each described line is
- name: description, with the description clipped to 160 characters. That is about 120 to 230 bytes per skill, most often 150 to 180. It is paid once, in the cached prefix. The whole section is bounded at 12 KiB of described lines plus 2 KiB of names.Evidence (remote test box; every
go testwith-count=1)TestTUIE2E/foreign_skills_reach_the_conversationPASS for memory_on and memory_off. Three skills are installed: one in.claude/skills, one in.codex/skills, and one in an installed and enabled plugin. It asserts:skills · tide-almanacwithQUILLON-TIDE-7431, thenskills · lantern-ledgerwithLANTERN-LEDGER-2958;/skill orchardlists the plugin skill with no refusal, Enter attaches it, and a question sharing no words carriesskills · orchard-censusand answers withORCHARD-CENSUS-6612;use_skillwith"mode":"list"and"mode":"get".npx skills add(one skill global for Claude Code, one project-level for Codex into.agents/skills),claude plugin marketplace addplusclaude plugin install example-skills@…(Claude Code 2.1.278),claude plugin init(a skills-dir plugin), and a hand-written~/.codex/skillsskill.use_skilllist returned all 15 skills, memory off and memory on. The 12 plugin skills are exactly the setclaude plugin detailslists; the 7 other folders in the plugin's repository, which belong to other plugins, are not offered. A p5.js request opened the plugin'salgorithmic-artskill, and a harbour-log request followed the Codex skill.TestSkillRelevanceEval, deepseek/deepseek-v4-flash, 12 paraphrases sharing almost no words with their skill plus 4 needing no skill, two runs per arm, each request in its own folder). Before is the base build 3f46952:make changelog-checkare clean, and the touched light packages (skills, resident, remote, manual, e2e, store, cmd/codeaf) pass.make checkexits 2 and is not green. It failed ininternal/run(TestNotesBeyondTheBoundWaitForTheNextBoundary: step cap),internal/session(TestHandingAYourCallToTheModelAndItsResolveAreOneRoad) andinternal/telemetry(two spool tests).internal/tui3passes in that run, including the off-loop laws.On hold since 2026-09-23: #1409 carries the approved skills design, so this branch stops here until Santosh decides.
Not reached yet
disable-model-invocationanduser-invocablefrontmatter are not honoured; every skill is offered both ways.SKILL.mddeeper than a direct child of a skills folder is not read. A skills-dir plugin with only a nestedskills/folder is not read either.CLAUDE_CONFIG_DIRrelocation is not followed.CODEAF_HOMEset, the user-scope folders are read under that folder, not$HOME. That is by design (home.Login).--hostto another machine.