Communityコーディング&開発github.com

wshobson/superself

プロジェクトの状態をSuperself(AGENTS.mdまたはCLAUDE.md内の`<!-- superself:begin`ブロック、または`self setup`で解決される登録済みプロジェクト)で管理する場合に使用:セッション開始時に`self context`を読み込み、作業をワークユニットにアタッチし、証拠とともに報告し、確定した決定を記録することで、次回のセッションが中断したところから再開できるようにします。

superself とは?

Superselfは、プロジェクトの状態(目標、決定、作業単位、報告)をコードリポジトリとは別のGitリポジトリに追記専用のイベントログとしてバージョン管理するApache-2.0ライセンスのCLIツールです。このスキルは、AIエージェント(Claude Code、Cursor、Codexなど)が`self` CLIを介して状態の読み書きを行えるように設計されています。セッション開始時に`self context`で最新のコンテキスト(目標、アクティブな決定、未完了の作業)を取得し、作業は必ずワークユニットにアタッチして`self work add`で作成、`self report`で進捗を報告します。決定は`self decide`で記録し、作業完了時は`self work done`で証拠(コミットやアーティファクト)とともにクローズします。状態の信頼性を保つため、レコードは英語で記述し、生成された状態ファイルや`.superself/`配下は手動編集禁止、PRレビューとCIがマージを管理するというルールに従います。未登録プロジェクトでは`self setup`→`self project init`または`self connect`の手順をユーザー確認後に実行します。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/wshobson/agents/tree/main/plugins/superself/skills/superself

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

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 で確認してください。

セッション開始

  1. self context を実行し、その出力を現在の真実として扱います:目標、アクティブな決定と規約、未完了の作業、最近の報告。これはログから折り畳まれたものであり、手動で書かれたものではありません。
  2. コンテキストに欠けているものは、意図的にレンダリング対象セットから除外されたものです。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 — ストア、その中のプロジェクト、およびマシン間での移動

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

wshobson/accessibility-compliance

Implement WCAG 2.2 compliant interfaces with mobile accessibility, inclusive design patterns, and assistive technology support. Use when auditing accessibility, implementing ARIA patterns, building for screen readers, or ensuring inclusive user experiences.

wshobson/airflow-dag-patterns

Build production Apache Airflow DAGs with best practices for operators, sensors, testing, and deployment. Use when creating data pipelines, orchestrating workflows, or scheduling batch jobs.

wshobson/angular-migration

Migrate from AngularJS to Angular using hybrid mode, incremental component rewriting, and dependency injection updates. Use when upgrading AngularJS applications, planning framework migrations, or modernizing legacy Angular code.

wshobson/anti-reversing-techniques

Understand anti-reversing, obfuscation, and protection techniques encountered during software analysis. Use this skill when analyzing malware evasion techniques, when implementing anti-debugging protections for CTF challenges, when reverse engineering packed binaries, or when building security research tools that need to detect virtualized environments.

wshobson/api-design-principles

Master REST and GraphQL API design principles to build intuitive, scalable, and maintainable APIs that delight developers. Use when designing new APIs, reviewing API specifications, or establishing API design standards.

wshobson/architecture-decision-records

Write and maintain Architecture Decision Records (ADRs) following best practices for technical decision documentation. Use when documenting significant technical decisions, reviewing past architectural choices, or establishing decision processes.

wshobson/architecture-patterns

Implement proven backend architecture patterns including Clean Architecture, Hexagonal Architecture, and Domain-Driven Design. Use this skill when designing clean architecture for a new microservice, when refactoring a monolith to use bounded contexts, when implementing hexagonal or onion architecture patterns, or when debugging dependency cycles between application layers.

wshobson/async-python-patterns

Master Python asyncio, concurrent programming, and async/await patterns for high-performance applications. Use when building async APIs, concurrent systems, or I/O-bound applications requiring non-blocking operations.

wshobson/attack-tree-construction

Build comprehensive attack trees to visualize threat paths. Use when mapping attack scenarios, identifying defense gaps, or communicating security risks to stakeholders.

wshobson/auth-implementation-patterns

Master authentication and authorization patterns including JWT, OAuth2, session management, and RBAC to build secure, scalable access control systems. Use when implementing auth systems, securing APIs, or debugging security issues.

wshobson/avoid-ai-writing

Audit and rewrite prose so it stops reading as machine-generated. Use this skill when asked to remove AI-isms, clean up AI writing, edit a draft for AI tells, audit a README, changelog, release note, PR description, or blog post for machine-sounding prose, or make text sound less like AI. Supports a detect-only mode, a rewrite mode, and an edit-in-place mode, with optional voice and context profiles.

wshobson/backtesting-frameworks

Build robust backtesting systems for trading strategies with proper handling of look-ahead bias, survivorship bias, and transaction costs. Use when developing trading algorithms, validating strategies, or building backtesting infrastructure.

wshobson/bash-defensive-patterns

Master defensive Bash programming techniques for production-grade scripts. Use when writing robust shell scripts, CI/CD pipelines, or system utilities requiring fault tolerance and safety.

wshobson/bats-testing-patterns

Master Bash Automated Testing System (Bats) for comprehensive shell script testing. Use when writing tests for shell scripts, CI/CD pipelines, or requiring test-driven development of shell utilities.

wshobson/bazel-build-optimization

Optimize Bazel builds for large-scale monorepos. Use when configuring Bazel, implementing remote execution, or optimizing build performance for enterprise codebases.

wshobson/before-you-build

Pre-build product and feature risk review for founders, product managers, and AI-assisted builders. Use this skill when the user is about to build a landing page, MVP, SaaS product, internal tool, agent workflow, or major feature and needs to check demand, positioning, monetization, retention, trust, distribution, and adoption risk before implementation starts.

wshobson/billing-automation

Build automated billing systems for recurring payments, invoicing, subscription lifecycle, and dunning management. Use when implementing subscription billing, automating invoicing, or managing recurring payment systems.

wshobson/binary-analysis-patterns

Master binary analysis patterns including disassembly, decompilation, control flow analysis, and code pattern recognition. Use when analyzing executables, understanding compiled code, or performing static analysis on binaries.

wshobson/block-no-verify-hook

Configure a PreToolUse hook to prevent AI agents from skipping git pre-commit hooks with --no-verify and other bypass flags. Use when setting up Claude Code projects that enforce commit quality gates.

wshobson/brand-landingpage

Brand-first landing page designer — runs a brand-identity interview (colors, typography, shape language), then generates and iterates on a polished landing page via Stitch with deployment-ready HTML. Use when the user asks to create, design, or build a landing page, homepage, or marketing page and has no established visual direction. Skip when they have a design mockup, need a dashboard or app UI, are working at component level, building a multi-page app, or restyling with known design tokens — use frontend-design instead.

関連スキル