superself は何をしますか?
Superself は Apache-2.0 ライセンスの CLI(npm install -g [email protected]、Node 22.12+)で、プロジェクトの状態(目標、決定、作業単位、報告)をコードリポジトリとは別の Git リポジトリにある追記専用イベントログとしてバージョン管理します。状態はオンデマンドで導出されるため、手動でメンテナンスされるものは何もありません。このスキルは、エージェントが self CLI を通じてその状態を読み書きする方法を指示します。このスキルは Superself の作者によってメンテナンスされています:https://github.com/fxylabs/superself
このスキルが適用される場合
- プロジェクトの
AGENTS.mdまたはCLAUDE.mdに<!-- superself:beginで始まり<!-- superself:end -->で終わるブロックが含まれている場合、またはself setupがこのディレクトリが解決するワークスペース、プロジェクト、ストアを出力する場合。 self --versionが失敗した場合はこのスキルをスキップしてください。そのプロジェクトは Superself を使用しておらず、以下の内容を手動で発明してはいけません。このスキルは[email protected]に対して記述されています。メジャーまたはマイナーバージョンが異なると、動詞やフラグが変更されている可能性があるため、それらに依存する前にself <command> --helpで確認してください。
セッション開始
self contextを実行し、その出力を現在の真実として扱います:目標、アクティブな決定と規約、未完了の作業、最近の報告。これはログから折り畳まれたものであり、手動で書かれたものではありません。- コンテキストに欠けているものは、意図的にレンダリング対象セットから除外されたものです。
self search <query>でコンテキストから除外されたライブレコードを見つけることができ、self work show <id>で1つのユニットの完全な概要と報告履歴を出力します。
作業中
- 実質的な作業はワークユニットにアタッチします。
self work add "<必要な成果>"で作成します。成果とはタスクではなく、実現すべき状態です。次にself work start <id>を実行します。startは概要を読み込み、このセッションがそのユニットを引き受けたことを記録します。別のセッションが保持している場合、CLI は誰がいつから保持しているかを表示し、拒否はしません。判断して先に進んでください。 - コミット後、進捗を報告します:
self report <id> "<発生したこと>"。現在の HEAD コミットが自動的に証拠として添付されます。--evidence <commit|note>で別のものを添付し、--file <path>で長い概要を添付します。 - ユーザーが確認した決定を記録します:
self decide "<テキスト>" --why "<理由>"。ユーザーがまだ確認していない場合は--proposedを使用します。1イベントにつき1つの決定です。 - ブロックされていますか?
self work block <id> --on decision|dependency|external --why "..."。廃止または移動されましたか?self work retire <id> --why "..." [--successor <id>]。そのようなユニットを決して完了とマークせず、誤ってブロックされたままにしないでください。 - 目的と現在の状態の間にギャップを発見しましたか?
self work proposeとその概要で作業を提案します。ユーザーが承認または拒否します。 - ユーザーが次のステップや継続を承認しましたか? すぐに
self work addとその背景コンテキストで登録します。会話の中にしか存在しない計画は、会話が終了すると失われます。
クローズ
self work done <id>は、報告にコミットまたはアーティファクトが含まれている場合、または done 自体が検証可能に発生したことを述べている場合にのみ、ユニットをクローズします:self work done <id> --report "<検証可能に発生したこと>"。根拠のない主張は拒否され、宣言された基準がそれぞれカバーされるまでそれをゲートします。- 一度確定されたレコードのテキストは不変です。言い換えによって修正します:任意の追加動詞に対する
--supersedes <id>は新しい文言を記録し、系統を維持します。retractはレコードを何も置き換えずに撤回します。
状態の信頼性を保つルール
- レコード(イベント、決定、報告、規約)は、次に開く人が読めるように英語で記述されます。ただし、人に対してはその人の言語で答えてください。
- ブランチはプルリクエストを通じて main に達します。PR レビューと CI がマージを管理します。Superself はコンテキストと作業グラフを所有し、マージゲートは所有しません。
- 生成された状態ファイルや
.superself/配下のものは決して手動編集しないでください。 - Superself ブロックがないプロジェクトでは、最初に
self setupを実行します。それがディレクトリを登録済みプロジェクトに解決する場合は、self connectを実行するかどうかをユーザーに一度尋ねます。これにより、管理ブロックがAGENTS.mdまたはCLAUDE.mdに書き込まれます。プロジェクトが解決されない場合は、self project initで登録するかどうかを一度尋ねます。プロジェクトを自分だけで登録したり接続したりしないでください。
さらに深く知る
self --help ですべての動詞を一覧表示します。self <command> --help は、状態に触れることなく1つのコマンドのフラグを出力します。トピックガイドは CLI に同梱されています:
self help agents— セッションがこの CLI を開始から終了までどのように駆動するかself help context—self contextが何をレンダリングするか、そしてなぜ何かが欠けているのかself help records— すべてのレコード種類の背後にある1つのエンティティ、およびレコードの修正方法self help placement— スコープ、優先度、露出 — レコードがコンテキスト内での位置をどのように得るかself help work— 作業グラフ:成果、証拠、基準、提案self help goals— 長期目標、目的、マイルストーン、そしてそれらを達成するために必要なことself help workspace— ストア、その中のプロジェクト、およびマシン間での移動