MCP HubMCP Hub
SKILL·E096E4

crystallize

avelikiy
更新日 1 month ago
4 閲覧
86
14
86
GitHubで表示
メタgeneral

について

結晶化スキルは、セッションログとレッスンを分析して繰り返しパターンを特定し、再利用可能な知識のためのスキルファイル草案を生成します。このスキルは、`/crystallize` のようなコマンドで手動に、または10セッションごとに自動的に起動されます。このプロセスでは、パターン蒸留のための専用知識抽出エージェントを用いて、草案スキルと昇格レポートが作成されます。

クイックインストール

Claude Code

推奨
メイン
npx skills add avelikiy/great_cto -a claude-code
プラグインコマンド代替
/plugin add https://github.com/avelikiy/great_cto
Git クローン代替
git clone https://github.com/avelikiy/great_cto.git ~/.claude/skills/crystallize

このコマンドをClaude Codeにコピー&ペーストしてスキルをインストールします

ドキュメント

Crystallize — distil session patterns into reusable skills

Invoke when the CTO says /crystallize, "crystallize", "extract knowledge", or "what have we learned?". Also auto-suggested when session count is a multiple of 10 (the session-end hook checks .great_cto/.last-crystallize).

The knowledge-extractor agent (Opus) does the heavy lifting. This skill orchestrates the workflow and emits the final report.

Session-end hint integration: The session-end hook checks .great_cto/.last-crystallize and suggests running /crystallize when the session count exceeds last_sessions + 10. Run this skill after ≥10 sessions to keep extracted skills current.


Step 1 — Gather raw material

# Count sessions
SESSION_COUNT=$(ls .great_cto/logs/session-*-end.md 2>/dev/null | wc -l | tr -d ' ')
echo "Sessions: $SESSION_COUNT"

# Read lessons
cat .great_cto/lessons.md 2>/dev/null || echo "(no lessons yet)"

# Read cross-project decisions
cat ~/.great_cto/decisions.md 2>/dev/null | head -200 || echo "(none)"

# Find patterns that appear in ≥3 sessions
grep -h "^## pattern:" .great_cto/logs/session-*-end.md 2>/dev/null | sort | uniq -c | sort -rn | head -20

# Recent git log for context
git log --oneline --since="30 days ago" | head -30

If SESSION_COUNT is 0, tell the CTO: "No session logs found in .great_cto/logs/. Run at least 10 sessions before crystallizing." Exit.

If SESSION_COUNT < 10, tell the CTO: "Only {N} sessions found. Patterns are more reliable after ≥10 sessions. Proceed anyway? [yes/no]" Wait for confirmation before continuing.


Step 2 — Cluster patterns (via knowledge-extractor agent)

Spawn the knowledge-extractor agent with the gathered data as context:

Agent: knowledge-extractor
Task: |
  Read .great_cto/lessons.md and all files in .great_cto/logs/.
  Cluster lesson entries by pattern slug.
  For each cluster with ≥3 occurrences, write a draft skill file to
  skills/{domain}/SKILL.md (status: draft in frontmatter).
  If a skill for that domain already exists, append a new ## section instead
  of replacing the file.
  Infer domain from the pattern slug and its archetype tags.
  Return a structured summary: clusters found, drafts written, already-covered.

Wait for the agent to complete before proceeding to Step 3.


Step 3 — Emit promotion report

After the agent completes, print:

CRYSTALLIZE REPORT
════════════════════════════════════════
Sessions analysed: {SESSION_COUNT}
Lessons found:     {LESSON_COUNT}
Clusters:          {CLUSTER_COUNT}
Draft skills:      {DRAFT_COUNT}  (in skills/{domain}/SKILL.md)
Already covered:   {COVERED_COUNT}  (pattern already in existing skill)
════════════════════════════════════════
Draft files:
  {list of paths and brief description per draft}

Next: review drafts, remove `status: draft` when satisfied.
Run /crystallize again after 10 more sessions.
════════════════════════════════════════

Step 4 — Write .last-crystallize marker

After emitting the report, write the marker file:

SESSION_COUNT=$(ls .great_cto/logs/session-*-end.md 2>/dev/null | wc -l | tr -d ' ')
DRAFT_COUNT={P}   # from agent output
mkdir -p .great_cto
node -e "
const fs = require('fs');
fs.writeFileSync('.great_cto/.last-crystallize', JSON.stringify({
  ts: new Date().toISOString(),
  sessions: parseInt('$SESSION_COUNT') || 0,
  drafts: parseInt('$DRAFT_COUNT') || 0
}) + '\n');
"

Step 5 — Auto-run cadence suggestion

If SESSION_COUNT is a multiple of 10 (and > 0), append to the report:

Auto-suggestion: you've completed {SESSION_COUNT} sessions. Consider running
`/crystallize` every 10 sessions to keep skills current.

GitHub リポジトリ

avelikiy/great_cto
パス: skills/crystallize
0
agentic-codingclaude-code-pluginclaude-code-skillsclaude-code-subagentscode-reviewcto
FAQ

よくある質問

crystallize Skillとは何ですか?

crystallize はavelikiy が作成した Claude Skillです。Skillは、Claudeが必要に応じて読み込む指示とリソースをまとめ、追加の指示なしで crystallize に関連するタスクを実行できるようにします。

crystallize をインストールするには?

このページのインストールコマンドを使用してください。crystallize をプラグインとして Claude Code に追加するか、リポジトリを skills ディレクトリにクローンし、Claudeを再起動してSkillを読み込みます。

crystallize はどのカテゴリに属しますか?

crystallize は メタ カテゴリに属します。

crystallize は無料で利用できますか?

はい。crystallize は AIMCP に掲載されており、無料でインストールできます。

関連スキル

content-collections
メタ

このスキルは、Content Collections(Markdown/MDXファイルを型安全なデータコレクションに変換するTypeScriptファーストのツール)の本番環境でテストされた設定を提供します。Zodバリデーションによる型安全性を実現し、ブログ、ドキュメントサイト、コンテンツ重視のVite + Reactアプリケーション構築時にご利用ください。Viteプラグインの設定、MDXコンパイルから、デプロイ最適化、スキーマバリデーションまで、すべてを網羅しています。

スキルを見る
polymarket
メタ

このスキルは、開発者がPolymarket予測市場プラットフォームを活用したアプリケーション構築を可能にします。API統合による取引や市場データの取得に加え、WebSocketを介したリアルタイムデータストリーミングにより、ライブ取引や市場活動を監視できます。取引戦略の実装や、ライブ市場更新を処理するツールの作成にご利用ください。

スキルを見る
creating-opencode-plugins
メタ

このスキルは、開発者がコマンド、ファイル、LSP操作など25種類以上のイベントタイプにフックするOpenCodeプラグインを作成することを支援します。JavaScript/TypeScriptモジュール向けに、プラグイン構造、イベントAPI仕様、および実装パターンを提供します。カスタムイベント駆動ロジックでOpenCode AIアシスタントのライフサイクルをインターセプト、監視、または拡張する必要がある場合にご利用ください。

スキルを見る
sglang
メタ

SGLangは、高性能なLLMサービングフレームワークであり、RadixAttentionプレフィックスキャッシュを活用したJSON、正規表現、エージェントワークフロー向けの高速で構造化された生成を特長とします。特にプレフィックスが繰り返されるタスクにおいて、大幅に高速な推論を実現し、複雑な構造化出力やマルチターン対話に最適です。制約付きデコードが必要な場合や、広範なプレフィックス共有を伴うアプリケーションを構築する場合は、vLLMなどの代替案ではなくSGLangを選択してください。

スキルを見る