wshobson/superself

Use quando um projeto mantém seu estado no Superself (um bloco `<!-- superself:begin` em AGENTS.md ou CLAUDE.md, ou `self setup` resolve o diretório para um projeto registrado): leia `self context` no início da sessão, associe trabalho a uma unidade de trabalho, reporte com evidências e registre decisões confirmadas para que a próxima sessão continue de onde esta parou.

O que é superself?

Superself é uma ferramenta CLI de código aberto (Apache-2.0) que versiona o estado de um projeto — metas, decisões, unidades de trabalho, relatórios — como um log de eventos imutável armazenado em um repositório git separado do código. O estado é derivado sob demanda, sem manutenção manual. Esta habilidade instrui um agente (como Claude Code, Cursor ou Codex) a usar o comando `self` para ler e escrever esse estado de forma confiável. Ela é útil porque garante que o contexto do projeto — objetivos, decisões e progresso — seja persistido entre sessões do agente, permitindo continuidade e rastreabilidade sem depender de conversas efêmeras. O agente deve iniciar cada sessão com `self context`, criar unidades de trabalho com `self work add` antes de executar tarefas substanciais, reportar progresso com `self report` vinculando commits como evidência, registrar decisões com `self decide`, e fechar unidades apenas quando um relatório ou a finalização declarar um resultado verificável. A habilidade suporta automação segura seguindo regras como não editar manualmente arquivos de estado, usar `self setup` e `self connect` apenas com aprovação do usuário, e manter todos os registros em inglês para interoperabilidade.

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

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que superself faz?

Superself é uma CLI Apache-2.0 (npm install -g [email protected], Node 22.12+) que versiona o estado de um projeto — metas, decisões, unidades de trabalho, relatórios — como um log de eventos imutável em um repositório git separado do código. O estado é derivado sob demanda, então nada nele é mantido manualmente. Esta habilidade instrui um agente sobre como ler e escrever esse estado através da CLI self. Ela é mantida pelos autores do Superself: https://github.com/fxylabs/superself

Quando esta habilidade se aplica

  • O arquivo AGENTS.md ou CLAUDE.md do projeto contém um bloco entre <!-- superself:begin e <!-- superself:end -->, ou self setup imprime o workspace, projeto e repositório para os quais este diretório resolve.
  • Ignore a habilidade quando self --version falhar: o projeto não usa Superself, e nada abaixo deve ser inventado manualmente. Esta habilidade é escrita para [email protected]; uma versão major ou minor diferente pode ter movido um verbo ou flag, então verifique self <comando> --help antes de confiar em um.

Início da sessão

  1. Execute self context e trate sua saída como verdade atual: a meta, decisões e convenções ativas, trabalho em aberto, relatórios recentes. Ele é derivado do log, nunca escrito manualmente.
  2. Algo ausente do contexto foi propositalmente deixado de fora do conjunto renderizado; self search <consulta> encontra registros vivos que o contexto omitiu, e self work show <id> imprime o resumo completo e histórico de relatórios de uma unidade.

Durante o trabalho

  • Trabalho substancial é anexado a uma unidade de trabalho. Crie uma com self work add "<resultado esperado>" — o resultado é o que deve se tornar verdadeiro, não a tarefa — depois self work start <id>. start lê o resumo e registra que esta sessão pegou a unidade; se outra sessão a detém, a CLI informa quem e desde quando e não recusa. Julgue e prossiga.
  • Após commitar, reporte o progresso: self report <id> "<o que aconteceu>". O commit HEAD atual é anexado automaticamente como evidência; --evidence <commit|note> anexa outra coisa, --file <caminho> anexa um resumo mais longo.
  • Registre uma decisão confirmada pelo usuário: self decide "<texto>" --why "<motivo>". Use --proposed quando o usuário ainda não a confirmou. Uma decisão por evento.
  • Bloqueado? self work block <id> --on decisão|dependência|externo --why "...". Substituído ou movido? self work retire <id> --why "..." [--successor <id>]. Nunca marque tal unidade como concluída e nunca a deixe falsamente bloqueada.
  • Encontrou uma lacuna entre um objetivo e o estado atual? Proponha o trabalho com self work propose e seu resumo; o usuário aceita ou recusa.
  • O usuário aprovou um próximo passo ou uma continuação? Registre-o imediatamente com self work add e o contexto por trás dele. Um plano que vive apenas na conversa se perde quando a conversa termina.

Encerramento

  • self work done <id> fecha uma unidade apenas quando um relatório carrega um commit ou um artefato, ou o próprio "done" declara o que verificavelmente aconteceu: self work done <id> --report "<o que verificavelmente aconteceu>". Uma mera alegação é recusada, e os critérios declarados a bloqueiam até que cada um seja coberto.
  • O texto de um registro é imutável uma vez confirmado. Corrija-o reafirmando: --supersedes <id> em qualquer verbo de adição registra a nova redação e mantém o histórico. retract retira um registro sem substituí-lo.

Regras que mantêm o estado confiável

  • Registros — eventos, decisões, relatórios, convenções — são escritos em inglês para que quem os abrir em seguida possa lê-los; responda à pessoa em seu próprio idioma.
  • Um branch atinge a main através de um pull request: revisão de PR e CI controlam o merge. Superself gerencia o contexto e o grafo de trabalho, não a porta de merge.
  • Nunca edite manualmente arquivos de estado gerados ou qualquer coisa sob .superself/.
  • Em um projeto sem um bloco superself, execute self setup primeiro. Se ele resolver o diretório para um projeto registrado, pergunte ao usuário uma vez se deseja executar self connect, que escreve o bloco gerenciado em AGENTS.md ou CLAUDE.md. Se não resolver nenhum projeto, pergunte uma vez se deseja registrá-lo com self project init. Nunca registre ou conecte um projeto por conta própria.

Aprofundando

self --help lista todos os verbos; self <comando> --help imprime as flags de um comando sem tocar no estado. Guias de tópico acompanham a CLI:

  • self help agents — como uma sessão conduz esta CLI, do início ao fim
  • self help context — o que self context renderiza, e por que algo está ausente
  • self help records — uma entidade por trás de cada tipo de registro, e como corrigir um registro
  • self help placement — escopo, prioridade e exposição — como um registro ganha seu lugar no contexto
  • self help work — o grafo de trabalho: resultados, evidências, critérios e propostas
  • self help goals — metas de longo prazo, objetivos, marcos e o que é necessário para alcançar um
  • self help workspace — o repositório, os projetos nele e como movê-lo entre máquinas

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.

Habilidades Relacionadas