Community코딩 & 개발github.com

wshobson/superself

프로젝트가 Superself(AGENTS.md 또는 CLAUDE.md의 `<!-- superself:begin` 블록, 또는 `self setup`이 디렉토리를 등록된 프로젝트로 결정)에 상태를 유지할 때 사용합니다: 세션 시작 시 `self context`를 읽고, 작업 단위에 작업을 첨부하며, 증거와 함께 보고하고, 확인된 결정을 기록하여 다음 세션이 이어받을 수 있도록 합니다.

superself란 무엇인가요?

Superself는 Apache-2.0 라이선스 CLI 도구(`npm install -g [email protected]`, Node 22.12+ 필요)로, 프로젝트의 상태(목표, 결정, 작업 단위, 보고서)를 코드와 별도인 git 저장소에 추가 전용 이벤트 로그로 버전 관리합니다. 상태는 요청 시 도출되며, 수동으로 유지 관리되지 않습니다. 이 스킬은 AI 에이전트(예: Claude Code, Cursor, Codex)가 `self` CLI를 통해 해당 상태를 읽고 쓰는 방법을 알려줍니다. 이 스킬은 세션 시작 시 `self context`를 실행하여 현재 진실(목표, 활성 결정/규칙, 진행 중인 작업 등)을 확인하고, 작업은 `self work add` 및 `self work start`로 작업 단위에 첨부하며, `self report`로 증거를 포함한 보고를 하고, `self decide`로 결정을 기록합니다. 작업 단위는 명확한 결과를 정의하고, 진행 상황은 검증 가능한 증거(커밋 등)와 함께 보고되어야 하며, 변경 불가능한 기록은 `--supersedes`로 수정할 수 있습니다. Superself의 저자가 유지 관리하며, GitHub: https://github.com/fxylabs/superself 에서 확인할 수 있습니다.

지원 대상✓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>로 한 단위의 전체 브리프 및 보고 내역을 출력합니다.

작업 중

  • 실질적인 작업은 작업 단위에 첨부됩니다. self work add "<필요한 결과>"로 생성합니다. 결과는 작업이 아닌, 반드시 참이 되어야 하는 상태입니다. 그런 다음 self work start <id>를 실행합니다. start는 브리프를 읽고 이 세션이 해당 단위를 선택했음을 기록합니다. 다른 세션이 보유 중이면 CLI는 누가 언제부터 보유 중인지 알리고 거부하지 않습니다. 판단하고 진행하세요.
  • 커밋 후, self report <id> "<발생한 일>"로 진행 상황을 보고합니다. 현재 HEAD 커밋이 증거로 자동 첨부됩니다. --evidence <commit|note>로 다른 것을 첨부하고, --file <path>로 더 긴 브리프를 첨부합니다.
  • 사용자가 확인한 결정을 기록합니다: self decide "<텍스트>" --why "<이유>". 사용자가 아직 확인하지 않은 경우 --proposed를 사용합니다. 이벤트당 하나의 결정.
  • 막혔나요? 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는 대체 없이 기록을 철회합니다.

상태 신뢰성을 유지하는 규칙

  • 기록(이벤트, 결정, 보고서, 규칙)은 다음에 열어볼 사람이 읽을 수 있도록 영어로 작성됩니다. 사람에게는 그들의 언어로 답하세요.
  • 브랜치는 풀 리퀘스트를 통해 메인에 도달합니다: PR 리뷰와 CI가 병합을 제어합니다. Superself는 컨텍스트와 작업 그래프를 소유하며, 병합 게이트는 아닙니다.
  • 생성된 상태 파일이나 .superself/ 아래의 어떤 것도 직접 편집하지 마세요.
  • superself 블록이 없는 프로젝트에서는 먼저 self setup을 실행하세요. 디렉토리가 등록된 프로젝트로 해석되면, 사용자에게 self connect를 실행할지 한 번 묻습니다. 이는 관리 블록을 AGENTS.md 또는 CLAUDE.md에 작성합니다. 프로젝트가 해석되지 않으면, self project init으로 등록할지 한 번 묻습니다. 직접 프로젝트를 등록하거나 연결하지 마세요.

더 깊이 들어가기

self --help는 모든 동사를 나열합니다. self <command> --help는 상태를 건드리지 않고 한 명령의 플래그를 출력합니다. 주제 가이드는 CLI와 함께 제공됩니다:

  • self help agents — 세션이 처음부터 끝까지 이 CLI를 구동하는 방법
  • self help context — self context가 렌더링하는 내용, 그리고 누락 이유
  • self help records — 각 레코드 종류 뒤에 있는 엔터티, 레코드 수정 방법
  • 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.

관련 스킬