360 Secure SkillHub
360 安全技能中心

product-boot

为产品/功能工作注入 PDR 决策索引:读取 docs/adlc/memory/pdr 或旧版 .adlc/memory/pdr,输出匹配决策表与待审草稿表,并提示通过 /product-specify 捕获新决策;自身不写文件。材料存在写入/不写入类约束冲突。

分类:知识
tikalk
热度 0.00
最近更新 2026-11-04 23:35:24

安装

发给 Agent
帮我安装这个技能:npx secure-skills-cli add tikalk/adlc-team-skills/product-boot
兼容性
通用兼容
联网要求
不联网
数据出网
数据不出本机
Metadata
name
product-boot
description
Use when product or feature work starts, or a PDR-worthy decision (scope, persona, monetization) emerges — injects the PDR index (docs/adlc/memory/pdr/, legacy .adlc/memory/pdr/ fallback) as session context and suggests the decision for capture via /product-specify (never writes drafts itself); invoked from team-boot's Class Boots catalog.

product-boot

Overview

One of the five class boots surfaced by team-boot's Class Boots catalog. team-boot injects the always-relevant team context (constitution, CDR index, skills registry) at session start; this skill loads the product decision layer on demand — the Accepted PDR index from project memory — and pairs it with a capture suggestion so new product choices are routed to /product-specify rather than evaporating. The boot never writes files: it suggests the capture skill, and the user runs it.

Reading decisions and recording decisions are one loop: existing PDRs inform the work; decisions made during the work flow back into the same record system through the capture skill.

When to Use

Invoke at the START of a matching task — before planning the todo list and before implementation — so the PDR context informs planning. Never defer to session end.

Invoke when:

  • Starting product work (PRD generation, feature definition, roadmap planning, GTM decisions).
  • The session turns product-shaped mid-flight: feature scope, persona definition, monetization, pricing, or target-market choices emerge.
  • Reviewing an existing product's decision backdrop (/product-analyze, /product-roadmap benefit from the loaded index).

Core Process

Step 1: Locate the PDR Index

From the current working directory (do NOT walk up parent directories):

  1. Primary: docs/adlc/memory/pdr/pdr.md (generated by /product-implement; rows start with | PDR)
  2. Fallback: .adlc/memory/pdr/pdr.md (legacy layout, legacy)

If neither exists but docs/adlc/memory/pdr/PDR-*.md or legacy .adlc/memory/pdr/PDR-*.md files do, synthesize a lean table from each file (ID from filename; Feature-Area/Status/Title from frontmatter or first heading). If the directory is empty or absent, report 0 PDRs — never fabricate rows.

When no local memory index exists in the current working directory and the directory sits inside a workspace (detected via a .gitmodules marker in an ancestor), read the workspace root's docs/adlc/memory/ index instead (the dual-read order applies: docs/adlc/memory first, legacy .adlc/memory fallback).

Step 1b: Read the PDR Drafts Index

Check .adlc/drafts/pdr/ for PDR-*.md files with status: proposed in frontmatter. These are draft PDRs pending clarification. Collect ID / Title / Type / Status / Date from each file. If the directory is empty or absent, report 0 pending drafts.

Absent Context

If team-boot injected no team context this session (no Team Context & Decisions section in the first user message — unconfigured project or hook failure): say so in one line, emit the section heading with a 0 PDRs matched (no team context injected — run /team-setup) source line, and continue the task on the directly-read PDR index. Never treat a missing injection as an empty record set. Recovery: run /team-diagnose.

Step 2: Inject PDR Context (Output Contract)

Emit before the task answer:

## PDR Context

| ID | Feature-Area | Status | Title |
|--|--|--|--|
| AI triage | triage | Accepted | AI triage scoring |

_Searched N PDRs, K matched._

## Drafts Pending Review

| ID | Title | Type | Status | Date |
|----|-------|------|--------|------|
| (from .adlc/drafts/pdr/) |

_N pending drafts — run /product-clarify to review._
  • Render ID / Feature-Area / Status / Title from the index (the full index also carries Category, Date, Owner — read the individual PDR-*.md when a task matches a row).
  • N = total index rows; K = rows relevant to the current task. K MUST equal the table rows shown. 0 rows matched → emit the section heading + the _Searched N PDRs, K matched._ line only — no table. A 0-row table header collapses into unrendered single-line markdown; never emit one. Emit the section as markdown blocks — heading, table rows, and counts line each on their own lines.

Step 3: Suggest Product Decision Capture

Trigger Action
Feature scope change, in/out decisions PDR → suggest /product-specify
Persona definition or revision PDR → suggest /product-specify
Monetization, pricing, target-market choice PDR → suggest /product-specify
PDR-class decision already in the ledger verify the suggestion was surfaced; if not, re-surface

Emit one line per detected decision, in the visible response:

_Suggested capture: <decision name> → run /product-specify._

Never write a draft (or any file) yourself — /product-specify writes the .adlc/drafts/pdr/ draft when the user runs it, and /product-clarify gates it afterwards.

Add/refresh rows in Team Context & Decisions (ID | Name | Type | Rel | Status | Clarify) for every PDR-class decision detected this session — including ones from before this boot was invoked. Mirror each decision as a task-list todo (suggest /product-specify → matching clarify skill at session end for drafts that exist); after code-modifying tasks, add a trailing todo to sweep Team Context & Decisions until Unrecorded: 0 pending · Unclarified: 0 drafts (a draft leaves Unclarified only via its clarify skill or an explicit user handoff to a named clarify or execute skill). At session end, deliver the clarify prompt naming each uncaptured decision (ID + capture skill) and each captured PDR draft in .adlc/drafts/pdr/ (ID + clarify skill); if the user defers clarify, mark those rows handed off.

Failure Handling

  • Missing index + missing records → emit the section heading + _Searched 0 PDRs, 0 matched._ only — no table — and continue the user's task; never block.
  • Unparseable index rows → skip malformed rows, note the skip count.

Red Flags

  • Fabricating PDR rows or inflating K beyond the table shown.
  • Injecting the index but ignoring the capture suggestion — the pairing is the point.
  • Writing a draft (or any file) yourself — the boot only suggests; /product-specify writes.
  • Walking up parent directories to find .adlc/.

Verification

  • PDR Context table emitted with _Searched N PDRs, K matched._ (K = table rows).
  • Detected PDR-class decisions added as Team Context & Decisions rows.
  • No files written; each detected PDR-class decision carries a _Suggested capture: … → run /product-specify._ line.