Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Scalar Account Plan

ASecurity

Maintain a per-customer sales ledger (account.json) for a Scalar Account Executive — what is confirmed, who decides, what is unknown, what to do next — rendered as a Google Slides activity plan whose URL never changes. Use for: 活動計画, アカウントプラン, 商談の記録, ステージ・フォーキャスト・BANT の レビュー, 次に確認すべきこと, アカウントの Drive 準備. Not: the annual Account Planning Session decks (scalar-account-planning-session); one visit's materials (scalar-ae-materials); the customer proposal (scalar-proposal-slides); the maps (b2b-acc...

2 stars
0 votes
0 copies
0 views
Added 9/19/2026
developmentpythongobashgitapi

Works with

cliapi

Security Analysis

A100/100

Scanned 9/19/2026

Install to Claude Code

$npx -y skills add wfukatsu/slide-forge --skill scalar-account-plan --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Scalar Account Plan?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Scalar Account Plan
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/wfukatsu-scalar-account-plan/badge)](https://www.skillsdirectory.com/skills/wfukatsu-scalar-account-plan)

More formats (shields.io, HTML) on the badges page.

Download with Pro
Files
SKILL.md
---
name: scalar-account-plan
description: >-
  Maintain a per-customer sales ledger (account.json) for a Scalar Account
  Executive — what is confirmed, who decides, what is unknown, what to do next —
  rendered as a Google Slides activity plan whose URL never changes.
  Use for: 活動計画, アカウントプラン, 商談の記録, ステージ・フォーキャスト・BANT の
  レビュー, 次に確認すべきこと, アカウントの Drive 準備.
  Not: the annual Account Planning Session decks
  (scalar-account-planning-session); one visit's materials
  (scalar-ae-materials); the customer proposal (scalar-proposal-slides); the maps
  (b2b-account-maps).
---

*[日本語](SKILL.ja.md)*

# Scalar Account Plan

Use `references/scalar/workflow-contract.md` for shared safety, Drive,
approval, and QA rules. `references/scalar/sales-playbook.md` remains the only
source for phases, gates, and checkpoint definitions — phases and gates are
§2, the checkpoint questions and their ledger fields §7. **Open that section,
not the 20KB file.**

One ledger per customer. **The ledger is the single source of truth**; the
deck is just a rendering of it. Append to the ledger after every visit, and
refresh the deck at the same URL.

Two kinds of deck come out of the ledger. They have different lifespans and
inputs, so don't mix them. **This skill covers the left one.**

| | Activity plan deck (§5) | APS deck |
|---|---|---|
| Purpose | Where things stand now and what's next | Annual/half-year review and executive review |
| Updated | After every visit | At each APS |
| Input | `account.json` (the ledger) | `aps.json` (the ledger + the customer's public information) |
| Skill | **This skill** | `scalar-account-planning-session` |

Working directory: the slide-forge root. Run commands with `.venv/bin/python`.

## Boundaries

| Request | Where it goes |
|---|---|
| Create / append to the activity plan, or answer about status | This skill (§5) |
| Build materials for an Account Planning Session | `scalar-account-planning-session` |
| Build a full set of materials for one visit | `scalar-ae-materials` |
| Organise minutes / email into per-stage records | `scalar-deal-intake` |
| Draw the stakeholder map / discovery map itself | `b2b-account-maps` |
| Formal customer-facing proposal | `scalar-proposal-slides` |
| Itemized quotation | `spreadsheets` |
| Visual inspection of a generated deck | `slide-qa` |

## This is an internal document

The activity plan records judgments about named individuals (influence,
position, whether they've been contacted). **Never hand it to the customer
or a partner.** On Drive, `00_活動計画` and `90_社内` are never shared.
Only what has been placed under `01_顧客提示` / `02_顧客提案` may be shown to
the customer.

## Locations

```
config/sales.json                       Drive ルートと既定 AE 名(gitignore 済み)
accounts/<AE 名>/<顧客名>/account.json   ★ 正本(gitignore 済み。コミットしない)
accounts/<AE 名>/<顧客名>/aps.json       APS デッキの内容(別スキルが使う。同上)

Drive: <ルート>/<AE 名>/<顧客名>/
  00_活動計画/  活動計画デッキ(URL 不変)・account.json のコピー・action-plan.md
  01_顧客提示/  顧客提示用
  02_顧客提案/  顧客提案用
  90_社内/      社内説明用
```

## Workflow

### 1. Prepare the ledger

Read it if it already exists. Create it if it doesn't.

```bash
.venv/bin/python scripts/scalar/account_ledger.py init --ae "<AE 名>" --customer "<顧客名>" \
    --opportunity "<商談名>"
```

Ask for the Drive root only the first time and build the hierarchy from it
(after that, use the setting in `config/sales.json`). **Always confirm with
the user when the root is not set. Never create it under My Drive root on
your own.**

```bash
.venv/bin/python scripts/scalar/account_workspace.py ensure \
    --ledger accounts/<AE>/<顧客>/account.json [--root "<Drive フォルダ URL>"]
```

### 2. Fill it in from material at hand (read before asking)

Read minutes, meeting notes, emails, and CRM exports first. Only then, **ask
for what's still missing, in a single batch**
(`references/interactive-intake.md` §0, §5).

When writing to the ledger, always distinguish `facts[].kind`:

| kind | Meaning | Can it be promoted to `confirmed`? |
|---|---|---|
| `said` | The customer said so (who, when) | Yes |
| `observed` | Confirmed via a document, org chart, or a quote sent | Yes |
| `assumed` | Our own inference | **No** |

Status rules follow
[b2b-account-maps's discovery-map.md](../b2b-account-maps/references/discovery-map.md).
Don't define them twice.

**Never do this:**

- Place someone you haven't met at the center of the influence map as
  "neutral" (put not-yet-contacted people in `gaps`)
- Mark something `confirmed` based on a guess (`confirmed` entries with no
  `evidence` fail validation)
- Write down a number the customer never said

### 3. Validate

```bash
.venv/bin/python scripts/scalar/account_ledger.py validate accounts/<AE>/<顧客>/account.json
```

Inconsistencies get caught here — an unsubstantiated `confirmed`, a `met`
gate with no evidence, an action with no due date or completion condition, a
`Commit` forecast when BANT isn't complete. **Fix the ledger. Don't loosen
the validation.**

### 4. Turn open items into actions (the heart of this skill)

```bash
.venv/bin/python scripts/scalar/account_ledger.py gaps accounts/<AE>/<顧客>/account.json
```

Of the 10 questions in playbook §7, the ones that can't be answered come out
with who to confirm with and the completion condition. **Never fill in the
answer yourself.** Leave open items open, pull them into `actions` with
`--carry-over`, and **only let the user set the due date** (the due date is
the AE's commitment, not something this tool decides).

`--carry-over` is a flag on the following two commands (both rewrite the
ledger before printing output):

```bash
# アクションプランの Markdown を出すついでに取り込む
.venv/bin/python scripts/scalar/account_ledger.py actions <account.json> --carry-over

# デッキ生成(§5)のついでに取り込む
.venv/bin/python scripts/scalar/build_account_plan.py <account.json> --carry-over
```

Unfinished actions from last time carry forward as-is. Overdue ones trigger
a validation warning.

### 5. Build / update the activity plan deck

```bash
# 検証(API を呼ばない)
.venv/bin/python scripts/scalar/build_account_plan.py <account.json> --dry-run --strict

# 初回 — 00_活動計画 フォルダに新規作成
.venv/bin/python scripts/scalar/build_account_plan.py <account.json> --folder <00_活動計画 の ID>

# 2 回目以降 — 同じ URL の中身を差し替える(台帳の meta.decks.activityPlan を自動で使う)
.venv/bin/python scripts/scalar/build_account_plan.py <account.json>
```

The default 9 pages (excluding the cover) are ordered to be read in this
sequence:

`account-snapshot` (where things stand now) → `phase-gate` (what's not yet
met) → `bant-risk` (where the risk is) → `discovery-map` (what's unknown) →
`pain-chain` (why it works) → `influence-map` / `buying-committee` (who to
move) → `activity-timeline` (who's been reached so far) → `action-plan`
(what to do next)

**A page with insufficient material is automatically dropped.** Dropped
pages are listed in the report. Don't build a thin page with blanks filled
in — it's correct for what's missing to show up in `action-plan` instead.

`--pages` can add `visit-plan` / `win-plan` / `discovery-gaps`. These 3 are
for a single visit or a single WPS and have a different lifespan, so they
don't belong in the standing activity plan.

#### Updates after the first one are destructive

`--into` **deletes all pages of the existing deck** before rebuilding it.
Secure a version snapshot before running it:

```bash
.venv/bin/python scripts/snapshot_version.py "<デッキ URL>"
```

`build_account_plan.py` prints the pre-edit revision ID. To roll back, use
"File → Version history" in the Slides UI.

What `--into` refuses (all of these are intended behavior):

| Replace target | Result |
|---|---|
| **The template's own master** (the `presentationId` in `templates/*.json`) | Refused. Breaking the master would lose the source for every deck built from that template |
| A deck built from a different master | Refused (layouts can't be found) |
| A template type built with `predefinedLayout` (e.g. `blank-16x9`) | Refused (a real layout is required) |

**Take the replace-target URL from the ledger's `meta.decks.activityPlan`.**
When pasting a URL by hand, always confirm it's a generated deck, not the
master.

### 6. Annual / half-year review (APS)

The annual/half-year account review and executive review materials belong to
[`scalar-account-planning-session`](../scalar-account-planning-session/SKILL.md).
Its input is not the ledger but `accounts/<AE>/<customer>/aps.json`, built by
adding the customer's public information (mid-term business plan, org chart,
executive roster) to the ledger.

**This skill does not go that far.** The ledger (§1–4) is a prerequisite for
APS, so bring the ledger up to date first, then hand off to the APS side.

### 7. When there are more than 9 stakeholders

Don't cram them onto a slide. As with `b2b-account-maps`'s default, output
the whole graph to draw.io and put an extracted version on the slide,
**always noting the number of people dropped and where to find the full
version** (the `more` slot).

**Decide the layout first.** The default tree layout spreads horizontally
by the number of roots. With many roots, like a corporate group, it becomes
an unreadable band (49 people at 18,000 × 709px).

| Shape of the graph | What to use |
|---|---|
| One company, a single chain of command (1–2 roots) | Default (`--layout tree`) |
| **Corporate group, 3+ roots** | **`--layout grouped`** |

```bash
# 企業グループ。people[].entity ごとの枠に格子で並べ、法人をまたぐ線は枠の外を通す
.venv/bin/python scripts/build_account_graph.py <graph.json> --layout grouped \
    --title "<顧客> インフルエンスマップ(全体)" \
    --out out/account-plan/<顧客>/influence-map-full.drawio

# 1 社なら既定のままでよい
.venv/bin/python scripts/build_account_graph.py <graph.json> \
    --out out/account-plan/<顧客>/influence-map-full.drawio

# PNG に書き出す(drawio CLI が要る)
drawio -x -f png -s 2 -b 8 \
    -o out/account-plan/<顧客>/influence-map-full.png \
       out/account-plan/<顧客>/influence-map-full.drawio
```

- `entity` is the legal-entity name (`entityOrder` sets the frame order).
  Use the same unit as the org chart
- **For connections between people (`links`), put only the number on the
  line and list the wording below the diagram.** A label placed on the line
  itself overlaps the card the longer the line gets, and becomes unreadable
- Always put the `.drawio` and PNG in the deck's Drive folder. A PNG alone
  can't be edited

### 8. Account-plan visual checks

Apply the shared QA procedure. In addition, check:

- On the influence map, does **the person to move next** catch the eye first
  (squint test)?
- Do table rows overlap the logo band at the bottom edge?
- Do person labels hide each other? If so, **fix the coordinates in the
  ledger** (not the template)

### 9. Report, together with Drive

```bash
.venv/bin/python scripts/scalar/account_workspace.py ensure --ledger <account.json>
.venv/bin/python scripts/drive_folder.py upload <00_活動計画 の ID> \
    accounts/<AE>/<顧客>/account.json out/account-plan/<顧客名>/action-plan.md
```

Always include in the report:

1. The deck URL and the Drive folder URL
2. The stage/forecast and its basis
3. **The shortest list of what to confirm next** (who, by when, and what
   completion looks like)
4. If any page was dropped for insufficient material, its name and what's
   missing

Item 3, not the URL, is the point of the report. The deck is a means; the
AE's next action is the deliverable.

## Rules

- **The ledger is the source of truth. Never edit the deck directly.** If
  something needs fixing, fix the ledger and rebuild.
- **Never replace the CRM.** Stage, amount, expected date, and Next Action
  live in the CRM as the source of truth. When you update the ledger, keep
  the CRM in sync too (playbook §8).
- **Evidence, or else unconfirmed.** `confirmed` and `met` require a source
  (who, when).
- **Never fill in an answer.** A blank is the AE's next action, not a hole
  to fill.
- **An outdated activity plan is worse than none.** If it can't be kept
  updated, retire the ledger along with it.
- Do not commit `accounts/` or `config/` (they contain customer names,
  personal names, and judgments). Keep working files under the
  gitignored `out/`.

Attribution

wfukatsuwfukatsu
View sourceMore from wfukatsu →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Browser Extension Developer

Use this skill when developing or maintaining browser extension code in the `browser/` directory, including Chrome/Firefox/Edge compatibility, content scripts, background scripts, or i18n updates.

284722 votes

Seo Optimizer

SEO optimization with keyword analysis, readability assessment, technical validation, content quality. Use for search rankings, blog posts, content audits, or encountering keyword density, readability scores, meta tags, schema markup errors.

2192 votes

Google Official Seo Guide

Official Google SEO guide covering search optimization, best practices, Search Console, crawling, indexing, and improving website search visibility based on official Google documentation

1862 votes

Tanstack Start

Build a full-stack TanStack Start app on Cloudflare Workers from scratch — SSR, file-based routing, server functions, D1+Drizzle, better-auth, Tailwind v4+shadcn/ui. Use whenever the user mentions TanStack Start, asks to scaffold a full-stack Cloudflare app with SSR, wants an SSR dashboard, or asks for a React 19 + Cloudflare Workers app with file-based routing and server functions — even if they don't name TanStack Start specifically. No template repo — Claude generates every file fresh per ...

9881 votes

Pentest

PTES-aligned adversarial security audit for backend, frontend, and mobile applications. Produces a CVSS-scored Hacker Report with verified PoCs and phased remediation.

5491 votes
View all in development →