You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Load the Factory skills from the worktree as thirdshift-<skill>, replacing the Claude plugin #391
The Factory skills stop being loaded as a Claude plugin. Instead they're linked into each Run's worktree under thirdshift- names, where Claude Code finds project skills. Nothing changes for a user except the skill names. This is the groundwork that lets Codex (#136) load the same skills the same way. See ADR 0012.
Each skill in skills/ is renamed thirdshift-<skill>: its directory, its frontmatter name:, and every reference one Factory skill makes to another. Those references become plain prose, "the thirdshift-code-review skill", with no /thirdshift: sigil, so they read the same under any Harness.
thirdshift writes the embedded skills out once per Command. It links each one into the Run's worktree under .claude/skills/, and adds a thirdshift-* pattern for that directory to the repository's .git/info/exclude, once and idempotently. That entry is left in place, since the file is shared by every worktree.
The generated plugin manifest and --plugin-dir go away.
Every Session prompt's first line invokes its skill as /thirdshift-<skill>. Later mentions of other skills are plain prose. The generated prompts/ page and the Prompts and skills page show the new names.
Acceptance criteria
Every session of a Run, a Spec run's Ticket Runs, a Base fix, a Spec review, an Architecture review, each Repair and each Resume finds every thirdshift-* skill in its worktree's .claude/skills/. The fake claude's skills snapshot is taken from the worktree, not from a plugin directory.
git status in the worktree shows none of the linked skills, and no session can commit them by accident (git add -A).
Running a second Run in the same repository doesn't add a second exclude entry.
No session is started with --plugin-dir.
Each prompt's first line is /thirdshift-<skill>. No prompt or Factory skill still says /thirdshift:.
prompts/ is regenerated (UPDATE_PROMPTS=1 cargo test prompts_page) and its test passes.
ADR 0001's consequence about plugin namespacing is marked as replaced by ADR 0012.
Activity
JacobStephens2 commentedon Oct 5, 2026
Closed by #400, merged into issue-136 by a thirdshift Merge run.
Merge origin/issue-136 into issue-392