用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/TuYv/ccpm --skill decision-mapping命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Use when auditing a paid ad account for incremental contribution, wasted spend, or measurement integrity before scaling; runs a typed 20-item ROAS profile with verified vetoes and a SHIP/FIX/BLOCK/UNDECIDED gate on own exported data. Not for campaign structure design — use campaign-architect; not for creative production — use ad-creative-builder. 付费广告账户审计/ROAS评分
Use when the user asks to "write ad copy", "generate RSA headlines", or "build ad creative at volume"; produces ad units — RSA headlines/descriptions, hooks, and an angle matrix — message-matched to the destination landing page. Not for scoring an ad account — use ad-account-auditor; not for the post-click page — use landing-optimizer; not for organic articles — use content-writer. 广告创意/广告文案/RSA标题
Use when the user asks to "design an A/B test", "set up a creative/landing test", "run an incrementality test", or "is this result statistically and practically material?"; produces a hypothesis, variant matrix, sample-size/duration/power plan, and a documented effect/uncertainty read from own exported results. It applies only a precommitted owner-approved action rule; the statistical helper never chooses a business action. Not for producing variants — use ad-creative-builder; not for reading back one shipped change — use paid-measurement-loop. 广告AB测试设计/实验设计/显著性判定/增效测试
基于 SOC 职业分类
正在显示 SKILL.md
| name | decision-mapping |
| description | Turn a loose idea into a sequenced map of investigation tickets, then drive them to resolution one at a time. |
| disable-model-invocation | true |
This skill is invoked when a loose idea requires more than one agent session to turn into a plan. It creates a stateful decision map in a markdown file, and drives the user through a sequence of tickets to resolve the open questions - which may require either prototyping, research or grilling. The map is domain-agnostic: it plans engineering work, course content, or anything else that fits the same shape.
The decision map is a single compact Markdown file, one per planning effort, git-tracked alongside the project. It is the canonical artifact — the whole map is loaded as context into every session, so it must stay compact.
Assets created during tickets should be linked to from the map, not duplicated within it.
Entries ("tickets"), each its own section keyed by a short dash-case slug that
reads as a mini-title (e.g. relational-db, auth-strategy, cache-layer) —
terse enough to stay token-efficient, and unique within the map.
## relational-db: Relational Or Non-Relational Database?
Blocked by: <slug>, <slug>
Status: open | in-progress | resolved
Type: Research | Prototype | Grilling | Task
### Question
<question-here>
### Answer
<answer-here>
The slug is the canonical id, used in every Blocked by edge and prose
reference; the title after the colon is optional. A ticket
is unblocked when every ticket in its Blocked by list is resolved. A
session claims its ticket by setting Status: in-progress and saving the map
before any work, so concurrent sessions skip it.
Each ticket must be sized to one 100K token agent session.
There are four types of tickets:
The map is deliberately incomplete beyond the frontier. Your job is to investigate the frontier, and to resolve tickets in order to push the frontier forward. Push back the fog of war, one node at a time — until the path to the finish line is clear and no tickets remain.
Two branches. Either way, every session ends with a Handoff — never resolve more than one ticket per session.
User invokes with a loose idea.
/grilling and /domain-modeling session to surface the open decisions. Ask one question at a time.User invokes with a path to an existing map. A ticket slug is optional — without one, you pick the next decision, not the user.
open ticket in document order that is unblocked. Claim it: set Status: in-progress and save before any work.## Notes block names. If in doubt, use /grilling and /domain-modeling.Status: resolved.Blocked by edges. If the decisions made invalidate other parts of the map, update or delete those nodes.The user may run unblocked tickets in parallel, so expect other agents to be editing the map in their own sessions.
End every session by clearing the context and opening one or more fresh sessions. Close with a Next steps block the user can copy-paste. Two cases:
Open tickets remain. List the currently-unblocked tickets, then give two copy-paste options: a bare command for one session (you pick the next ticket), and one pinned command per unblocked ticket for running them in parallel. Paste one line per fresh window — opening one, some, or all of them.
Next steps — 3 tickets unblocked:
auth-strategy,cache-layer,rate-limits. Clear the context, then open fresh sessions.One session — resolves the next unblocked ticket:
Invoke /decision-mapping with the map at <path>.Parallel — paste one line per window, up to all 3:
Invoke /decision-mapping with the map at <path>, ticket auth-strategy. Invoke /decision-mapping with the map at <path>, ticket cache-layer. Invoke /decision-mapping with the map at <path>, ticket rate-limits.
No open tickets remain. The fog is pushed back far enough that the path to the finish line is clear — the map is done. (The initial grilling may also surface no fog at all, in which case there was never a map to build.) Recommend implementing directly, or using /to-prd to schedule a multi-session implementation.
An optional block declaring the domain, any skills every session should consult, and freeform standing preferences the planning surfaces.