customer-card-render

作成者: microsoft

デザイン思考の正規アーティファクトから顧客カードのPowerPointコンテンツYAMLを生成し、共有のPowerPointスキルパイプラインを使用して構築します - 提供元…

npx skills add https://github.com/microsoft/hve-core --skill customer-card-render

Customer Card Render Skill

Converts canonical Design Thinking markdown artifacts into PowerPoint skill content.yaml slide definitions and builds the final deck through the shared PowerPoint build pipeline.

Overview

This skill is a sibling to the experimental powerpoint skill. It handles the Design Thinking-specific mapping layer: extracting sections from canonical markdown artifacts and filling template-driven content.yaml files. The PowerPoint skill then owns layout rendering, theming, export, and validation.

Keeping these concerns separate means:

  • Customer-card mapping logic stays independent from general PowerPoint capabilities.
  • The skill can be included in collections independently.
  • Layout primitives, Invoke-PptxPipeline.ps1, theming, and validation behavior are not reimplemented here.

For full PowerPoint pipeline documentation, see powerpoint/SKILL.md.

Prerequisites

  • Python 3.11+

  • uv package manager — install with one of:

    # macOS / Linux
    curl -LsSf https://astral.sh/uv/install.sh | sh
    
    # Windows
    powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
    
    # Via pip (fallback)
    pip install uv
    
  • The experimental powerpoint skill at .github/skills/experimental/powerpoint/ for the Invoke-PptxPipeline.ps1 build step

Directory Structure

.github/skills/experimental/customer-card-render/
├── SKILL.md
├── pyproject.toml
├── references/
│   └── mapping-spec.md
├── scripts/
│   └── generate_cards.py
├── templates/
│   ├── global-style.yaml
│   ├── persona.content.yaml
│   ├── problem.content.yaml
│   ├── scenario.content.yaml
│   ├── use-case-slide1.content.yaml
│   ├── use-case-slide2.content.yaml
│   ├── use-case-slide3.content.yaml
│   └── vision.content.yaml
└── tests/
    ├── fuzz_harness.py
    └── test_generate_cards.py

Supported Artifact Types

Artifact TypeSlide Layout
Vision StatementSingle slide
Problem StatementSingle slide
ScenarioSingle slide
Use Case4 slides (see below)
PersonaSingle slide

Use Case 3-Slide Layout

Each Use Case expands into 3 consecutive slides with distinct sections:

SlideContent
Slide 1Use Case Description, Use Case Overview, Business Value, Primary User
Slide 2Secondary User, Preconditions, Steps, Data Requirements
Slide 3Equipment Requirements, Operating Environment, Success Criteria, Pain Points, Evidence

Cards are ordered by artifact type (Vision → Problem → Scenario → Use Case → Persona), then alphabetically by title within each type. Use Cases appear with all 4 slides consecutive (Slide N, N+1, N+2, N+3).

Two-Command Flow

Step 1: Generate slide YAML from canonical markdown

python .github/skills/experimental/customer-card-render/scripts/generate_cards.py \
  --canonical-dir .copilot-tracking/dt/<project-slug>/canonical \
  --output-dir .copilot-tracking/dt/<project-slug>/render/content

generate_cards.py CLI Reference

FlagRequiredDefaultDescription
--canonical-dirNo<skill-root>/canonicalDirectory containing canonical DT markdown files
--output-dirNo<skill-root>/scripts/contentDirectory to write generated content.yaml files
-v, --verboseNoEnable debug-level logging

The script reads each markdown file in --canonical-dir, detects the artifact type from frontmatter, extracts required sections, and generates content.yaml files. Vision, Problem, Scenario, and Persona artifacts produce one slide each. Use Case artifacts produce 3 consecutive slides per use case.

For the section-to-field mapping contract and Use Case 3-slide layout details, see references/mapping-spec.md.

Step 2: Build PPTX using the PowerPoint skill pipeline

./.github/skills/experimental/powerpoint/scripts/Invoke-PptxPipeline.ps1 -Action Build `
  -ContentDir .copilot-tracking/dt/<project-slug>/render/content `
  -StylePath .copilot-tracking/dt/<project-slug>/render/content/global/style.yaml `
  -OutputPath .copilot-tracking/dt/<project-slug>/render/output/customer-cards.pptx

The PowerShell orchestrator manages virtual environment setup and dependency installation automatically via uv sync. See powerpoint/SKILL.md for the full Invoke-PptxPipeline.ps1 parameter reference, template usage, validation, and export options.

DT Coach Integration

The dt-canonical-deck prompt and the dt-coaching-foundation skill's canonical-deck reference provide opt-in workflow integration for the Design Thinking coaching agent. When a user opts in, the coaching agent offers to build customer cards at method exit points. The two-command flow above runs as part of that workflow with --canonical-dir and --output-dir resolved from the active DT project slug in .copilot-tracking/dt/.

Canonical artifacts are produced by the DT coach and live under .copilot-tracking/dt/<project-slug>/canonical/.

Running Tests

cd .github/skills/experimental/customer-card-render
uv sync --group dev
uv run pytest tests/

Tests cover parsing, template selection, YAML emission, and regressions. The tests/fuzz_harness.py file is an Atheris polyglot fuzz harness for OSSF Scorecard compliance.

Content Fidelity Note: Use Case Cards

Use Case cards are split across 3 opinionated slides, each with dedicated sections:

  • Slide 1: Introduces the use case with Description, Overview, Business Value, and Primary User
  • Slide 2: Details execution with Secondary User, Preconditions, Steps, and Data Requirements
  • Slide 3: Captures quality criteria with Equipment Requirements, Operating Environment, Success Criteria, Pain Points, and Evidence

This structure ensures all 16 Use Case sections fit legibly across 4 slides without compression. Each section appears in its own textbox with appropriate styling and heading.

For complete mapping details, see references/mapping-spec.md.

Troubleshooting

IssueCauseSolution
uv not founduv not installedRun curl -LsSf https://astral.sh/uv/install.sh | sh (macOS/Linux) or pip install uv
Python not found by uvNo Python 3.11+ on PATHRun uv python install 3.11
Template not found--canonical-dir contains unknown typeCheck frontmatter type: field against supported artifact types
Empty output directoryNo canonical markdown files foundConfirm --canonical-dir path and that files have --- frontmatter
PPTX build fails after generatePowerPoint skill missing or path incorrectConfirm powerpoint/ skill exists at .github/skills/experimental/powerpoint/

Brought to you by microsoft/hve-core

microsoftのその他のスキル

oss-growth
microsoft
OSS成長ハッカーのペルソナ
official
microsoft-foundry
microsoft
Foundryエージェントのエンドツーエンドでのデプロイ、評価、管理:Dockerビルド、ACRプッシュ、ホスト型/プロンプトエージェント作成、コンテナ起動、バッチ評価、継続的評価、プロンプト最適化ワークフロー、agent.yaml、トレースからのデータセットキュレーション。用途:エージェントをFoundryにデプロイ、ホスト型エージェント、エージェント作成、エージェント呼び出し、エージェント評価、バッチ評価実行、継続的評価、継続的モニタリング、継続的評価ステータス、プロンプト最適化、プロンプト改善、プロンプトオプティマイザー、エージェント指示最適化、エージェント改善...
officialdevelopmentdevops
azure-ai
microsoft
Azure AI向けに使用:Search、Speech、OpenAI、Document Intelligence。検索、ベクター/ハイブリッド検索、音声認識、音声合成、文字起こし、OCRを支援。使用時:AI Search、クエリ検索、ベクター検索、ハイブリッド検索、セマンティック検索、音声認識、音声合成、文字起こし、OCR、テキスト読み上げ。
officialdevelopmentapi
azure-deploy
microsoft
既存の.azure/deployment-plan.mdとインフラストラクチャファイルを持つ、すでに準備済みのアプリケーションに対してAzureデプロイを実行します。ユーザーが新しいアプリケーションの作成を依頼した場合はこのスキルを使用せず、代わりにazure-prepareを使用してください。このスキルは、azd up、azd deploy、terraform apply、az deploymentコマンドを組み込みのエラーリカバリ機能付きで実行します。azure-prepareからの.azure/deployment-plan.mdと、azure-validateからの検証済みステータスが必要です。使用タイミング:「azd upを実行」、「azd deployを実行」、「デプロイを実行」...
officialdevopsaws
azure-storage
microsoft
Azure Storage Servicesには、Blob Storage、File Shares、Queue Storage、Table Storage、Data Lakeが含まれます。ストレージアクセス層(ホット、クール、コールド、アーカイブ)について、各層の使用タイミングや比較に関する質問に回答します。オブジェクトストレージ、SMBファイル共有、非同期メッセージング、NoSQLキーバリュー、ビッグデータ分析を提供します。ライフサイクル管理を含みます。使用用途:ブロブストレージ、ファイル共有、キューストレージ、テーブルストレージ、データレイク、ファイルアップロード、ブロブダウンロード、ストレージアカウント、アクセス層、...
officialdevelopmentdatabase
azure-diagnostics
microsoft
Azure上でAppLens、Azure Monitor、リソースヘルス、安全なトリアージを使用して、Azureの本番環境の問題をデバッグします。使用時:本番環境の問題のデバッグ、App Serviceのトラブルシューティング、App Serviceの高CPU、App Serviceのデプロイ障害、コンテナアプリのトラブルシューティング、Functionsのトラブルシューティング、AKSのトラブルシューティング、kubectlが接続できない、kube-system/CoreDNSの障害、PodがPending状態、CrashLoop、ノードがReadyにならない、アップグレード障害、ログの分析、KQL、インサイト、イメージプル障害、コールドスタート問題、ヘルスプローブ障害、...
officialdevopsdevelopment
azure-prepare
microsoft
Azureアプリのデプロイ準備(インフラBicep/Terraform、azure.yaml、Dockerfiles)。新規作成/モダナイズ、または作成+デプロイに使用。クロスクラウド移行には非対応(azure-cloud-migrateを使用)。使用禁止:copilot-sdkアプリ(azure-hosted-copilot-sdkを使用)。対象:「アプリ作成」「Webアプリ構築」「API作成」「サーバーレスHTTP API作成」「フロントエンド作成」「バックエンド作成」「サービス構築」「アプリケーションのモダナイズ」「アプリケーション更新」「認証追加」「キャッシュ追加」「Azureへのホスティング」「作成および...」
officialdevelopmentdevops
azure-validate
microsoft
Azureへの準備が整っているかを確認するためのデプロイ前検証。構成、インフラストラクチャ(BicepまたはTerraform)、RBACロールの割り当て、マネージドIDの権限、前提条件について詳細なチェックを実行します。使用場面:アプリの検証、デプロイ準備状況の確認、事前チェックの実行、構成の確認、デプロイ可能かの確認、azure.yamlの検証、Bicepの検証、デプロイ前のテスト、デプロイエラーのトラブルシューティング、Azure Functionsの検証、関数アプリの検証、サーバーレスの検証...
officialdevopstesting