ソース情報
- リポジトリ
- ericlitman/threadbear
- ソースの最終更新活動
- 2026年8月17日 23:02
- 検出された SKILL.md の言語
- 英語
- スター
- 2
- フォーク
- 0
インストール方法
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
ソースファイルを確認
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
メニュー
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
直接コマンドでは確認用 Prompt が省略されます。実行前にソースを確認してください。
npx skills add https://github.com/ericlitman/threadbear --skill threadbearコマンドは1行のまま表示されます。コピー前に横へスクロールして全体を確認してください。
ローカルで確認しますか?SkillsMP が現在取得できるファイルをダウンロードできます。
SOC 職業分類に基づく
SKILL.md を表示中
| name | threadbear |
| description | Install, update, check, or uninstall ThreadBear for Codex Desktop on macOS. |
Be upbeat and plain.
Put the recap in the final answer. Call safe skips “left unchanged.” Give partials one action.
Follow https://threadbear.sh/install. Preview the helper, instructions, skill, daily updates, and the one ephemeral existing-task first read. Titles do not change before installation succeeds. After the friendly installed recap, Codex asks once for the complete-catalog read; declining leaves existing titles untouched. If allowed, the first read uses the guide's single yielded cell: its local helper only classifies, while mounted Codex rereads and serially applies exact or ✦ best-guess icons. Unknown tasks stay untouched. Never replace that cell with a controller, task, queue, retry pass, or other writer.
For 2.2.1, touch only the verified old task and automation; stop on mismatch.
After consent, install; verify version, self-test, status. Recap:
ThreadBear is installed. Codex will ask once for the complete-catalog read. If allowed, existing tasks with clear enough history will gain icons over the next several minutes; a small sparkle marks a first read and disappears on that task's next turn. Declining or unclear evidence leaves a task untouched. Keep working, and restart Codex when ready.
uninstall --dry-run --json with sandbox_permissions:"require_escalated". Require ready:true, plan_complete:true, read_only:true. Preview removing one ThreadBear prefix from each safe unarchived task, then the helper, instructions, skill, and updates. Tasks, settings, files, user-authored titles, ambiguous prefixes, unsafe titles, and archived tasks stay unchanged. Ask consent.// @exec: {"yield_time_ms": 30000, "max_output_tokens": 4000}
const runCLI = async (cmd, justification) => {
let call = await tools.exec_command({cmd,yield_time_ms:30000,max_output_tokens:200000,
sandbox_permissions:"require_escalated",justification});
let output = call.output || "";
while (call.session_id !== undefined) {
call = await tools.write_stdin({session_id:call.session_id,yield_time_ms:30000,
max_output_tokens:200000});
output += call.output || "";
}
return {call,output};
};
notify("ThreadBear uninstall: preparing title cleanup");
const preparedCall = await runCLI(
"\"$HOME/.local/bin/threadbear\" uninstall --prepare --noninteractive --confirm --json",
"Allow ThreadBear to read the complete Codex task list for the uninstall you approved?"
);
if (preparedCall.call.exit_code !== 0) { text(preparedCall.call); exit(); }
let plan;
try { plan = .(preparedCall.); }
{ (.({:,:})); (); }
(!plan || plan. !== || plan. !== ||
plan. !== || !.(plan.) ||
!.(plan.) || !.(plan.) ||
!.(plan.) || !.(plan.) ||
plan. !== plan. ||
!.(plan.)) {
(.({:,:})); ();
}
prepared = plan..( item. === );
(prepared. !== plan. || prepared.( !item || item. !== ||
item. !== || item. !== )) {
(.({:,:})); ();
}
updated = , drifted = , unconfirmed = ;
= value => {
( value !== ) value;
{ .(value); } { ; }
};
( item prepared) {
current;
{
current = ( tools.({:item.,
:,:,:}));
} { current = ; }
(current?.?. !== item. || current.. !== item.) drifted++;
{
renamed;
{
renamed = ( tools.({:item.,
:item.}));
} { renamed = ; }
(renamed && renamed === && renamed. === item. &&
renamed. === item.) updated++;
unconfirmed++;
}
done = updated + drifted + unconfirmed;
(done % === || done === prepared.) ();
}
accounted = updated + drifted + unconfirmed === prepared.;
(!accounted || drifted !== || unconfirmed !== ) {
(.({:,:,:,
:,:plan.,:plan.,updated,drifted,
:plan.,:plan.,unconfirmed,
:}));
();
}
();
removedCall = (
,
);
removed;
{ removed = .(removedCall.); }
{ (.({:,:,:,
:{:plan.,updated,:plan.,:plan.}})); (); }
removed. = {:plan.,updated,:plan.,:plan.};
(.(removed));
Only uninstalled:true means removed. Otherwise recap the partial and its one next action. Never retry a drifted or unconfirmed title in the same pass. After artifact commit, make no title call. Successful recap: “ThreadBear was removed. X task titles were cleaned; Y were left unchanged. Its helper, instructions, skill, and automatic updates are gone. Tasks, settings, and files stayed. Restart Codex.”
Preview download, checks, replacement, and restart. With consent run update --json; recap version and next action.