Communitygithub.com

grahama1970/align

ラウンドベースのコンテキスト整合性調整を実行前に実施します。人間、プロジェクトエージェント、WebGPT、scillm、ask、dogpile、memory、project-knowledgeがタスクに関する異なる事実を保持している可能性がある場合、特に曖昧な設計、インフォグラフィック、プロダクトワークフロー、高リスクな実装、計画反復、プロジェクトインフォグラフィック、複数レビュー作業の前に使用します。

align とは?

`$align` は、複数の参加者(人間、プロジェクトエージェント、WebGPT、`$scillm`、`$ask`、`$dogpile`、`$memory`、`$project-knowledge`)がタスクに対して異なる事実や認識を持つ可能性がある状況で、ラウンドベースの対話を通じてコンテキストを統一するための事前実行ゲートスキルです。このスキルは、最終的な実装やレンダリングの前に使用され、全員の認識を揃えることで、誤解に基づく作業を防ぎます。主なプラットフォームは、Claude CodeやCodexなどのAIエージェント環境で動作し、`init`、`prepare-review`、`compile-round`、`add-response`、`lock`などのCLIコマンドを提供します。各ラウンドでは、参加者が自身の見解や事実、矛盾点を述べ、それらをブロッキング質問と非ブロッキング質問に分類し、適切な参加者にルーティングして解決を図ります。最終的に`alignment_lock.json`が生成され、`ready_for_execution: true`となった場合にのみ、後続の実行スキルが開始できます。

対応✓Claude Code~Codex CLI~Cursor✓Antigravity✓Gemini CLI✓OpenCode
npx skills add https://github.com/grahama1970/agent-skills/tree/main/skills/align

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

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

ドキュメント

align は何をしますか?

$align を使用して、アクションの前にコンテキストを均一化します。このスキルは、人間、プロジェクトエージェント、WebGPT、$scillm、$ask、$dogpile、$memory、または $project-knowledge がそれぞれ異なる事実を知っている可能性があるタスクのために存在します。alignment_lock.json を生成し、後続のスキルがそのロックをもとに実行できます。

$align を実装、レンダリング、リファクタリング、または最終作業のレビューに使用しないでください。これは実行前のゲートです。アライメントロックが ready_for_execution: true を報告するまで、コード、インフォグラフィック、ダッシュボード、計画反復フェーズ、またはプロジェクトインフォグラフィックのレンダリングを開始してはいけません。

コアルール

以下のすべてのブロッキング質問が回答され、ロックが次の項目を記録した場合にのみ、アライメントは完了します。

  • 合意された目標
  • 合意された非目標
  • ソースコンテキスト
  • 参加者の事実
  • 残された前提とリスク
  • 出力の形状
  • 合格基準
  • 明示的な準備完了/未完了の決定

不一致が残っている場合は、ロックを ready_for_execution: false のままにします。

参加者

タスクに関連する参加者のみを使用します。

参加者役割
human意図、好み、ドメインのニュアンス、合格基準
project_agentローカルリポジトリの状態、制約、実行可能な次のステップ
project_knowledge永続的なプロジェクト履歴と引き継ぎメモ
memory以前の教訓と類似した解決済みの問題
scillmlocalhost LLM プロキシを介した直接のモデル批評
askアーティファクトを伴う Ask/oracle/deep-review ランタイム; WebGPT ルーティングを所有
dogpileローカルコンテキストが不十分な場合の新しい外部調査
webgptブラウザ/セッションで見えるコンテキストと人間向けの判断

WebGPT コールは $ask webgpt を経由してルーティングする必要があります。$ask は既に WebGPT オラクルバックエンドを所有しており、ユーザーの認証済み ChatGPT タブに対して surf webgpt.submit --no-activate を使用します。$align は直接 surf を呼び出しません。$scillm を介して WebGPT リクエストを送信しないでください。$scillm は gpt-5.5、Gemini、Claude、または OpenCode Go などの直接モデル呼び出し用です。人間がタブ ID を提供した場合はそれを保持します。 $dogpile は、アライメントが不足している外部/現在の知識によってブロックされている場合にのみ使用します。$project-knowledge または $memory が既に回答している事実には使用しないでください。

ランタイムルーティング

                         +-----------------------+
                         |    $align init        |
                         | goal, output, sources |
                         +-----------+-----------+
                                     |
                                     v
                   +-----------------+-----------------+
                   |     Round N: alignment_brief      |
                   | participants state facts, gaps,   |
                   | contradictions, and questions     |
                   +-----------------+-----------------+
                                     |
                   +-----------------+-----------------+
                   | compile-round extracts questions  |
                   | Question[blocking/nonblocking]:   |
                   +-----------------+-----------------+
                                     |
                  open blocking questions?
                         | yes                         | no
                         v                             v
        +----------------+----------------+    +-------+--------+
        | route each question to owner    |    | lock --ready   |
        | human/project/memory/reviewer   |    | writes lock    |
        +----------------+----------------+    +----------------+
                         |
                         v
        +----------------+----------------+
        | add-response / answer-question  |
        | update brief, increment round   |
        +----------------+----------------+
                         |
                         v
                    Round N+1

レビュアルートはラウンドへのオプション入力です:

                                +----------------+
                                | Round N brief  |
                                +-------+--------+
                                        |
          +-----------------------------+-----------------------------+
          |                             |                             |
          v                             v                             v
+--------------------+       +--------------------+       +--------------------+
| WebGPT via $ask    |       | $scillm direct     |       | $ask review/oracle |
| prepare-review     |       | prepare-review     |       | prepare-review     |
| --reviewer webgpt  |       | --reviewer scillm  |       | --reviewer ask     |
+---------+----------+       +---------+----------+       +---------+----------+
          |                            |                            |
          v                            v                            v
skills/ask/run.sh ask webgpt    round-N-scillm-request.json   round-N-ask-request.md
--webgpt-tab-id <id>            model: gpt-5.5               skills/ask/run.sh ask
          |                     reasoning_effort: high       --deep-review
          v                     optional persona prompt
 $ask -> surf webgpt.submit            |
 --no-activate                         v
          v                  POST localhost:4001/v1/chat/completions
          |
 authenticated ChatGPT tab

外部/現在の調査:
  prepare-review --reviewer dogpile -> round-N-dogpile-request.md
  外部事実の欠落がアライメントをブロックしている場合にのみ使用

ラウンドループ

各ラウンドは以下の同じシーケンスに従います:

  1. 現在のアライメントブリーフを選択された参加者にブロードキャストします。
  2. 各参加者は、自分がタスクをどのように理解しているかを述べます。
  3. 各参加者は、他の参加者が知らない可能性がある事実をリストします。
  4. 各参加者は、前提、矛盾、質問をリストします。
  5. 質問をブロッキングと非ブロッキングのセットにマージします。
  6. 質問を回答できる当事者にルーティングします。
  7. ブリーフを更新します。
  8. ブロッキング質問が解決されるか、最大ラウンド数に達した場合のみ停止します。

最大ラウンド数に達してもブロッキング質問が未解決のままの場合は、ready_for_execution: false で停止し、人間の決定が必要な最小限の課題を提示します。

CLI

WebGPT タブバインディング (CLI パリティ)

登録されたワーキングディレクトリからのゼロフラッグ $ask webgpt を推奨します。/ask は自動的に $browser-oracle を構成します。init と prepare-review はバインディングヒントを .align/state.json に永続化し、生成された round-*-webgpt-ask-command.sh に同じフラグを出力します。

フラグ使用するタイミング
(なし)cwd が walk-up registry + binding を持っている — 推奨
--browser-oracle-from <dir>walk-up ルートを上書き (モノレポサブディレクトリ)
--webgpt-project <name>明示的なプロジェクト; yaml walk-up をスキップ
--webgpt-tab-id <id>一回限りの上書き; walk-up をスキップ
--webgpt-url <url>会話 URL で解決; walk-up をスキップ

解決順序 ($ask / $surf と同じ): --webgpt-tab-id → --webgpt-url → $browser-oracle walk-up → --webgpt-project → 一つの chatgpt.com タブ (フェイルクローズ)。

セットアップ: $browser-oracle register + bind + doctor --from <dir>。$browser-oracle および $ask の SKILL.md WebGPT タブバインディング セクションを参照してください。

タスクを所有するリポジトリまたはプロジェクトルートから実行します:

skills/align/run.sh init \
  --goal "明確な計画反復インフォグラフィックリクエストを作成する" \
  --output-shape "ソースから導出されたストーリーボードとウェブインフォグラフィックリクエスト" \
  --participant human \
  --participant project_agent \
  --participant project_knowledge \
  --participant scillm \
  --participant ask \
  --participant dogpile \
  --participant webgpt
# 登録されたディレクトリからのゼロフラッグを推奨、または walk-up ルートを永続化:
#   --browser-oracle-from skills/oc-subagent/personas/mathematics
# レガシー明示的上書き:
#   --webgpt-tab-id 837343529

参加者の応答を記録:

skills/align/run.sh add-response \
  --participant project_agent \
  --round 1 \
  --text "タスク: レンダリング前にワークフローを調整する。事実: 以前のビジュアルは承認されたストーリーボードがなかったために失敗した。質問[blocking]: ビジュアルのアンカーとなる正確なサンプルプロジェクトは何か?"

ラウンドをコンパイル:

skills/align/run.sh compile-round --round 1

ブロッキング質問が解決された場合のみロック:

skills/align/run.sh lock --ready --approved-by human

レビューリクエスト生成

prepare-review はレビュー担当者向けのリプレイ可能なリクエストアーティファクトを作成します。それ自体はレビュー担当者を呼び出しません。

skills/align/run.sh prepare-review --round 1 --reviewer scillm
skills/align/run.sh prepare-review --round 1 --reviewer ask
skills/align/run.sh prepare-review --round 1 --reviewer dogpile
skills/align/run.sh prepare-review --round 1 --reviewer webgpt --browser-oracle-from skills/oc-subagent/personas/mathematics
# または: --webgpt-tab-id 837343529

レビューに人間の認証済み ChatGPT ブラウザセッションまたはブラウザで見えるコンテキストが必要な場合は WebGPT を使用します。レビューが直接のリプレイ可能なモデル呼び出し、例えば GPT-5.5 の高推論とペルソナ/システムプロンプトであるべき場合は $scillm を使用します:

skills/align/run.sh prepare-review \
  --round 1 \
  --reviewer scillm \
  --scillm-model gpt-5.5 \
  --reasoning-effort high \
  --persona-prompt "あなたは懐疑的なプロダクトアライメントレビュー担当者です。ミスマッチした前提と不足している合格基準に焦点を当ててください。"

prepare-review 後に推奨される呼び出し:

# scillm 直接レビュー
.align/reviews/round-001-scillm-command.sh

# ask ディープレビューまたは WebGPT オラクル
skills/ask/run.sh ask ".align/reviews/round-001-ask-request.md のアライメントリクエストをレビューしてください" \
  --deep-review --deep-review-target .align/reviews/round-001-ask-request.md

skills/ask/run.sh ask webgpt ".align/reviews/round-001-webgpt-request.md のアライメントリクエストをレビューしてください" \
  --browser-oracle-from skills/oc-subagent/personas/mathematics --oracle-iterations 1

# dogpile 調査: アライメントが不足している外部事実によってブロックされている場合のみ
skills/dogpile/run.sh search "このアライメントをアンブロックするために必要な事実" \
  --context-file ".align/reviews/round-001-dogpile-request.md"

結果のレビュー担当者テキストを add-response で保存します。レビュー担当者のレシートはアライメントへの入力であり、それ自体が実行承認ではありません。

ライブコンポジション健全性

sanity.sh は高速なローカルチェックです。外部クォータを消費せずに、ラウンドループ、ブロッキング質問ゲート、レビューリクエスト生成、ロックスキーマを証明します。

sanity-live.sh は $align が複合スキルとして準備完了であると主張する前の必須の実世界 E2E ゲートです。ライブな下流システムを呼び出すため、オプトインです:

  • $memory recall --brief を実際のメモリスキルを通じて
  • $align add-response を通じたプロジェクトエージェント応答の取り込み
  • 生成されたアライメントリクエストをコンテキストとした $dogpile search
  • 認証されたブラウザバックの WebGPT パスに対する $ask webgpt
  • これらのレシートが検証された後の最終的な alignment_lock.json 作成

ローカルワークステーションがメモリ、dogpile の認証情報/検索、Chrome、および認証済み ChatGPT セッションを持っている場合にのみ実行します:

ALIGN_LIVE_E2E=1 skills/align/sanity-live.sh

オプションの制御:

ALIGN_LIVE_E2E=1 \
ALIGN_WEBGPT_TAB_ID=837343529 \
ALIGN_LIVE_OUTPUT_ROOT=/mnt/storage12tb/skills/align/live-e2e \
skills/align/sanity-live.sh

ALIGN_WEBGPT_TAB_ID または ALIGN_WEBGPT_PROJECT が指定されていない場合、ライブチェックは $ask に --webgpt-create-tab を渡します。これには依然として有効なローカル Chrome/WebGPT セットアップが必要です。証明アーティファクトはデフォルトで /mnt/storage12tb/skills/align/live-e2e/<timestamp>/report.json です。スキップされたライブチェックは準備完了を確立しません。

アーティファクトレイアウト

.align/
  alignment_state.json
  alignment_brief.md
  alignment_lock.json
  rounds/
    round-001/
      participant-human.md
      participant-project_agent.md
      participant-scillm.md
      round_summary.md
      questions.json
  reviews/
    round-001-scillm-request.json
    round-001-scillm-command.sh
    round-001-ask-request.md
    round-001-dogpile-request.md
    round-001-webgpt-request.md
    round-001-webgpt-ask-command.sh

/mnt/storage12tb/skills/align/live-e2e/<timestamp>/
  report.json
  memory.stdout
  dogpile.stdout
  webgpt.stdout
  ask-runs/<ask_id>/

停止条件

以下の場合のみ ready_for_execution: true に設定:

  • 未解決のブロッキング質問がない
  • 合意された目標と非目標が明示的である
  • 出力の形状が具体的である
  • 合格基準がテスト可能またはレビュー可能である
  • ソースコンテキストが指定されている
  • 人間または委任された所有者がロックを承認した

以下の場合 ready_for_execution: false に設定:

  • ブロッキング質問が残っている
  • WebGPT、$scillm、$ask、またはプロジェクト知識がブリーフと矛盾する
  • 出力の形状がまだ抽象的である
  • 参加者が不足しているソース証拠を明らかにした
  • 要求された次のステップが、実際のタスクを解決する代わりにレシートを生成するものである

よくある間違い

  • $align を $interview の代わりとして使用しないでください。不足している情報が純粋に人間の好みや合格基準である場合はインタビューを使用します。
  • $align を $review-code、$review-plan、または $plan-iterate の代わりとして使用しないでください。アライメントはそれらのスキルの前に行われます。
  • WebGPT または $ask を手動で要約しないでください。それらの実際のランタイムを使用し、アーティファクトパスまたはレビュー担当者テキストを保存します。
  • レビュー担当者が合格したからといって、アライメントロックが完了したと見なさないでください。プロジェクトエージェントが結果をマージし、ブロッキング質問をクリアする必要があります。

Individual skills in this repo

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

grahama1970/acceptance-contract

Turn a client brief, zip bundle, directory, or single requirements file into a typed acceptance-contract bundle with extracted requirements, acceptance checks, open questions, an immutable-goal draft, and a create-report-backed decision report. Use when users say acceptance contract, brief to requirements, freeze the goal, create immutable goal, amend immutable goal, build a Battle requirements bundle, or extract requirements from this bundle.

grahama1970/agent-ecosystem

Canonical map and shared contracts for the agent-governance ecosystem: the pi.receipt_envelope.v1 boundary envelope, the component graph, and the rules for which component owns which schema. Use when wiring a skill or extension into the shared receipt world, when asking how shame, triage-error, tau, ask, project-watchdog, ops-herdr, ponytail, and Memory fit together, or when validating an envelope.

grahama1970/agentic-evals

Agentic evaluation of skills using multi-trial fixtures, deterministic command assertions, trajectory checks, safety constraints, and evidence-backed readiness scoring. Use when users ask for agentic evals, multi-trial skill evaluation, skill trajectory validation, or readiness scoring for a skill workflow.

grahama1970/agent-inbox

File-based inter-agent messaging with headless dispatch. Check inbox, send bugs/requests to other projects, automatically spawn headless agents to fix bugs, and track progress via task-monitor.

grahama1970/agents-registry

Generate and query the centralized agent identity registry. Scans .pi/agents/*/AGENTS.md, parses frontmatter, outputs agents-registry.json and optionally syncs to /memory for semantic search.

grahama1970/agent-status

Artifact-driven status surfaces for long-running project-agent work. Maintains status.json, events.jsonl, proof manifests, and a stale-aware STATUS.html so humans can tell where the agent is, what passed, what is still unproven, and what decision or action is next — without dashboard theater.

grahama1970/analytics

Flexible data science analytics for any dataset. Auto-discovers schema, recommends charts, exports to create-figure. Works with JSONL, JSON, CSV from any source.

grahama1970/analyze-chatterbox-emotions

Evaluate generated Chatterbox voice files as voice-quality artifacts: affect match, arousal/valence proxies, pause placement, intelligibility inputs, clipping, loudness, and discontinuity flags. Use when reviewing Chatterbox emotional tags, pauses, Turbo/base affect delivery, Persona Dream utterance renders, or whether generated speech matches an intended product-facing affect.

grahama1970/analyze-elf

Reverse-engineer features from ELF binaries. Extracts CLI commands, state machines, protocols, Zod schemas, and data models. Automatically generates a /create-walkthrough prosecution brief with Mermaid diagrams. Uses /treesitter for AST analysis of bundled JS/TS source.

grahama1970/animation-vocabulary

Reverse-lookup glossary that turns a vague description of a web animation or motion effect into its exact term ("the bouncy thing when a popover opens" → Pop in; "the iOS rubber-band scroll" → Rubber-banding). Use when the user asks "what's it called when…", or describes a motion effect without knowing its name and wants the right word to prompt an AI or designer with. For naming an effect, not designing or building one.

grahama1970/anonymize-data

Anonymize supported CSV, JSON, UTF-8 text, and SQLite files using an explicit policy through the oai-trial project. Use for anonymize data, pseudonymize exports, redact policy literals, or discover and explicitly approve fuzzy name aliases. The skill is a thin CLI/Docker interface, not another engine.

grahama1970/anvil

Heavy-duty "No-Vibes" debugging and hardening orchestrator. Use this for complex, stubborn bugs where `review-code` has failed, or for "Red Teaming" (hardening) a codebase. Runs multiple agents in parallel (Thunderdome) using git worktree isolation.

grahama1970/apple-design

Apple's approach to interface design and fluid, physical motion, translated for the web. Use when building or reviewing gesture-driven UI, spring animations, drag/swipe/sheet interactions, momentum and interruptible transitions, translucent materials and depth, typography (optical sizing, tracking, leading), reduced-motion, or the design foundations (feedback, spatial consistency, restraint) behind Apple-style interfaces.

grahama1970/argue

Multi-persona structured debate orchestrator. Personas research via /dogpile, consult colleagues via /ask, and argue toward nuanced synthesis on complex questions.

grahama1970/arxiv

Search arXiv for papers and extract knowledge into memory. Use `search` to find papers, `learn` to extract knowledge.

grahama1970/ask

Use when the user asks to query project memory, ask an oracle, use supported browser-backed reviewers, run Tau roundtable/single-handler workflows, ask Pi-native subagents from within Pi, run persona/deep-review workflows, generate image prompts, check OS/project health through composed skills, or run an ask DAG. This skill is the executable /ask runtime; do not replace it with an informal subagent, plain web search, or hand-written review; inside Pi, explicit Pi-native subagent targets are routed through the pi-subagents tool as an Ask target type.

grahama1970/assess

Step back and critically reassess project state. Use when asked to "assess", "step back", "fresh eyes", "check alignment", "sanity check", "health check", "prune documentation", or "evaluate what's working". Offers documentation pruning and doc-code alignment analysis. Offer to run after major changes (don't auto-run).

grahama1970/assistant

Shared GPT + classifier inference gateway for persona monitor tasks. Routes validation and classification through a 4-tier cascade: heuristic → classifier → local GPT → scillm.

grahama1970/assistant-lab

Self-improvement workbench for /assistant. All the tools needed to diagnose, train, evaluate, and promote models in a continuous loop. The "warm pond" where /assistant evolves its own inference stack.

grahama1970/batch-quality

Pre-flight validation and quality gates for batch LLM operations. ACTUALLY tests samples through LLM before burning tokens. Uses SPARTA contracts for DuckDB validation queries. Integrates with task-monitor for enforced quality gates.

関連スキル