mcpField
P
plotext-financial-chart

plotext-financial-chart

github.com/terrylicaデータ・データベース1145 回インストール1 日前に更新
リポジトリ

plotext-financial-chart について

plotext を使い、GitHub Flavored Markdown 向けの ASCII 金融折れ線グラフを作成するスキルです。ドキュメントや取引概念の図示を対象に、テキスト表示と埋め込み形式を定めています。

主な機能

  1. 01plotext による ASCII 折れ線グラフ作成
  2. 02GitHub 対応のドットマーカー
  3. 03ANSI エスケープコードの除去
  4. 04グラフの描画と埋め込み手順
  5. 05トラブルシューティング案内

活用シーン

  1. 01Markdown ドキュメントへの価格チャート追加
  2. 02取引のバリアやしきい値の図示
  3. 03ターミナル向けテキストでの金融データ可視化

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/terrylica/cc-skills --skill plotext-financial-chart

インストール後、Claude Code で/plotext-financial-chartを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
api-and-patterns.md
evolution-log.md
tool-selection.md

詳細

Plotext 金融チャートスキル

ドットマーカー(•)を使って、GitHub Flavored Markdown 用の ASCII 金融折れ線チャートを作成します。純粋なテキスト出力のため、GitHub、ターミナル、あらゆる等幅環境で正しく表示されます。

自己進化型スキル:このスキルは使用を通じて改善されます。指示に誤りがある場合、パラメーターが変化した場合、または回避策が必要になった場合は、先送りせず、このファイルをすぐに修正してください。実際に再現できる問題がある場合にのみ更新してください。

このスキルを使用する場面

  • Markdown ドキュメントに価格推移/折れ線チャートの図を追加するとき
  • 取引の概念(バリア、しきい値、エントリー/エグジットレベル)を可視化するとき
  • 金融データの可視化が必要な GFM Markdown ファイル全般
  • ユーザーが「financial chart」、「line chart」、「price chart」、「plotext」、「trading chart」と言及したとき

対象外:フローチャートやアーキテクチャ図。

事前チェック

オールインワン事前チェック スクリプト
/usr/bin/env bash << 'PREFLIGHT_EOF'
python3 --version &>/dev/null || { echo "ERROR: Python 3 not found"; exit 1; }
if command -v uv &>/dev/null; then PM="uv pip"
elif command -v pip3 &>/dev/null; then PM="pip3"
else echo "ERROR: Neither uv nor pip3 found"; exit 1; fi
python3 -c "import plotext" 2>/dev/null || { echo "Installing plotext via $PM..."; $PM install plotext; }
python3 -c "
import plotext as plt, re
plt.clear_figure()
plt.plot([1,2,3], [1,2,3], marker='dot')
plt.plotsize(20, 5)
plt.theme('clear')
output = re.sub(r'\x1b\[[0-9;]*m', '', plt.build())
assert '•' in output
" && echo "✓ plotext ready (dot marker verified)"
PREFLIGHT_EOF

クイックスタート

import re
import plotext as plt

x = list(range(20))
y = [97, 98, 100, 101, 100, 98, 100, 101, 102, 101,
     100, 98, 100, 101, 102, 103, 102, 101, 100, 100]

plt.clear_figure()
plt.plot(x, y, marker="dot", label="Price path")
plt.hline(103)    # Upper barrier
plt.hline(97)     # Lower barrier
plt.hline(100)    # Entry price
plt.title("Triple Barrier Method")
plt.xlabel("Time (bars)")
plt.ylabel("Price")
plt.plotsize(65, 22)
plt.theme("clear")
print(re.sub(r'\x1b\[[0-9;]*m', '', plt.build()))

必須設定

すべてのチャートで、以下の設定を使用する必要があります。

設定コード理由
状態をリセットplt.clear_figure()古いデータの残存を防止
ドットマーカーmarker="dot"GitHub で崩れない位置合わせ
色なしplt.theme("clear")すっきりしたテキスト出力
ANSI を除去re.sub(r'\x1b\[…', '', …)残存するエスケープコードを除去
文字列として構築plt.build()plt.show() ではなく使用

マーカー一覧

マーカーGitHub 対応使用する場面
"dot"はいデフォルト — 常に使用
"hd"はいターミナル専用、滑らかさが必要な場合
"braille"いいえMarkdown では使用しない
"fhd"いいえ使用禁止 — Unicode 13.0 以降のみ

レンダリングコマンド

/usr/bin/env bash << 'RENDER_EOF'
python3 << 'CHART_EOF'
import re
import plotext as plt

x = list(range(20))
y = [97, 98, 100, 101, 100, 98, 100, 101, 102, 101,
     100, 98, 100, 101, 102, 103, 102, 101, 100, 100]

plt.clear_figure()
plt.plot(x, y, marker="dot", label="Price path")
plt.hline(103)
plt.hline(97)
plt.hline(100)
plt.title("Triple Barrier Method")
plt.xlabel("Time (bars)")
plt.ylabel("Price")
plt.plotsize(65, 22)
plt.theme("clear")
print(re.sub(r'\x1b\[[0-9;]*m', '', plt.build()))
CHART_EOF
RENDER_EOF

Markdown への埋め込み(必須:チャートの直後にソースを配置)

すべてのチャートの直後に、Python ソースを含む <details> ブロックを配置する必要があります。説明文は <details> ブロックの後に記述し、チャートとソースの間には挟まないでください。

✅ CORRECT: Chart → <details> → Explanatory text
❌ WRONG:   Chart → Explanatory text → <details>

埋め込み用の完全なテンプレートについては、./references/api-and-patterns.md を参照してください。

必須チェックリスト

  • plt.clear_figure() — 状態をリセット
  • marker="dot" — GitHub 用のドットマーカー
  • plt.theme("clear") + re.sub() による除去 — ANSI コードなし
  • plt.title("...") — すべてのチャートにタイトルを付ける
  • plt.xlabel / plt.ylabel — 軸ラベル
  • plt.plotsize(65, 22) — 80 列のコードブロックに収まるサイズ
  • <details> ブロック — チャートの直後(説明文より前)に配置

トラブルシューティング

問題原因解決策
出力に ANSI コードが含まれるテーマ/除去処理がないplt.theme("clear") と re.sub() による除去を追加
GitHub で位置がずれるマーカーの種類が不適切marker="dot" を使用し、braille/fhd は使わない
チャートの幅が広すぎるplotsize が大きすぎる80 列のブロックには plt.plotsize(65, 22) を使用
斜めの傾きがないデータポイントが少なすぎる傾きを見やすくするため、15 個以上のデータポイントを使用
ModuleNotFoundErrorインストールされていない事前チェックを実行
出力が空build() がないplt.show() ではなく plt.build() を使用

リソース

実行後の振り返り

このスキルの実行後、終了する前に次の点を確認してください。

  1. コマンドは成功しましたか? — 成功していない場合は、失敗の原因となった手順またはエラーテーブルを修正します。
  2. パラメーターや出力に変更はありましたか? — 基盤となるツールのインターフェースに変更があった場合は、使用例とパラメーターテーブルを更新して一致させます。
  3. 回避策が必要でしたか? — 別のフラグや追加手順など、その場で工夫する必要があった場合は、次回の実行で同じ回避策が不要になるよう、この SKILL.md を更新します。

問題が実際に発生し、再現可能な場合にのみ更新してください。推測で更新しないでください。

コメント