用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/romiluz13/cc-p4p --skill pm-memory命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
| name | pm-memory |
| description | Internal skill. Use cc-p4p-router for all PM tasks. |
| allowed-tools | Read, Write, Edit, Bash |
EVERY WORKFLOW MUST:
1. LOAD memory at START (and before key decisions)
2. UPDATE memory at END (and after learnings/decisions)
Brevity Rule: Memory is an index, not a document. Be brief -- one line per item.
cc-p4p memory is a small, stable, permission-free Markdown database used for:
.claude/cc-p4p/activeContext.md
.claude/cc-p4p/insights.md
.claude/cc-p4p/roadmap-state.md
docs/specs/*, docs/research/*, docs/roadmap/*
Information "graduates" to more durable layers:
activeContext.md (Recent Work / Decisions)insights.md (User Research / Competitive / Themes)roadmap-state.md (Current Priorities)docs/specs/* or docs/research/* + link from activeContextALL memory operations are PERMISSION-FREE using the correct tools.
| Operation | Tool | Permission |
|---|---|---|
| Create memory directory | Bash(command="mkdir -p .claude/cc-p4p") | FREE |
| Read memory files | Read(file_path=".claude/cc-p4p/activeContext.md") | FREE |
| Create NEW memory file | Write(file_path="...", content="...") | FREE (file doesn't exist) |
| Update EXISTING memory | Edit(file_path="...", old_string="...", new_string="...") | FREE |
| Save spec/research files | Write(file_path="docs/specs/...", content="...") | FREE |
| Tool | Use For | Asks Permission? |
|---|---|---|
| Write | Creating NEW files | NO (if file doesn't exist) |
| Write | Overwriting existing files | YES |
| Edit | Updating existing files | NO - always permission-free |
RULE: Use Write for NEW files, Edit for UPDATES.
NEVER use Bash compound commands -- they ASK PERMISSION. ALWAYS use Read tool for reading files -- it's PERMISSION-FREE.
.claude/
cc-p4p/
activeContext.md # Current focus + decisions + open questions (MOST IMPORTANT)
insights.md # Research insights, competitive intel, customer themes
roadmap-state.md # Now/Next/Later priorities, shipped items, dependencies
Edit(...) + Read(...) verify.### Memory Notes section. Router persists via task-enforced Memory Update.Update memory IMMEDIATELY when you notice:
Checkpoint Pattern:
Edit(file_path=".claude/cc-p4p/activeContext.md",
old_string="## Current Focus",
new_string="## Current Focus\n\n[Updated focus + key decisions]")
Read(file_path=".claude/cc-p4p/activeContext.md") # Verify
# PM Active Context
<!-- CC-P4P: Do not rename headings. Used as Edit anchors. -->
## Current Focus
[Active work -- what PM task is in progress]
## Recent Work
- [Date] [What was done] - [artifact reference]
## Decisions
- [Decision]: [Choice] - [Why]
## Open Questions
- [Question] - [Who should answer] - [Blocking/Non-blocking]
## References
- Spec: `docs/specs/...` (or N/A)
- Research: `docs/research/...` (or N/A)
- Roadmap: `docs/roadmap/...` (or N/A)
## Last Updated
[timestamp]
# PM Insights
<!-- CC-P4P: Do not rename headings. Used as Edit anchors. -->
## User Research Insights
- [Insight]: [Evidence] - [Source: interview/survey/analytics]
## Competitive Intelligence
- [Competitor]: [Finding] - [Implication for us]
## Customer Feedback Themes
- [Theme]: [Frequency] - [Severity] - [Example quote]
## Personas
- [Persona name]: [Brief description] - [Key need]
## Last Updated
[timestamp]
# PM Roadmap State
<!-- CC-P4P: Do not rename headings. Used as Edit anchors. -->
## Current Priorities
### Now (In Progress)
- [Item]: [Owner] - [Status]
### Next (Planned)
- [Item]: [Priority score] - [Dependencies]
### Later (Future)
- [Item]: [Strategic rationale]
## Shipped
- [Date] [Item] - [Impact/metrics]
## Dependencies
- [Dependency]: [Owner] - [Need-by date] - [Status]
## Capacity Notes
- [Team/resource considerations]
## Last Updated
[timestamp]
| Anchor | File | Stability |
|---|---|---|
## Recent Work | activeContext | GUARANTEED |
## Decisions | activeContext | GUARANTEED |
## Open Questions | activeContext | GUARANTEED |
## References | activeContext | GUARANTEED |
## Last Updated | all files | GUARANTEED (fallback) |
## User Research Insights | insights | GUARANTEED |
## Competitive Intelligence | insights | GUARANTEED |
## Customer Feedback Themes | insights | GUARANTEED |
## Current Priorities | roadmap-state | GUARANTEED |
## Shipped | roadmap-state | GUARANTEED |
## Dependencies | roadmap-state | GUARANTEED |
NEVER use as anchors:
| Col | Col |)- specific text)Every memory edit MUST follow this exact sequence:
Read(file_path=".claude/cc-p4p/activeContext.md")
# Check if intended anchor exists in the content you just read
# If anchor not found -> use "## Last Updated" as fallback
Edit(file_path=".claude/cc-p4p/activeContext.md",
old_string="## Recent Work",
new_string="## Recent Work\n- [New entry]\n")
Read(file_path=".claude/cc-p4p/activeContext.md")
# Confirm your change appears. If not -> STOP and retry.
Hard rules:
# PM Active Context, # PM Insights, # PM Roadmap State).## Current Focus, ## Last Updated).Edit(...), Read back the file and confirm the intended change exists.If an Edit does not apply cleanly:
old_string anchor.# Step 1: Create directory
Bash(command="mkdir -p .claude/cc-p4p")
# Step 2: Load ALL 3 memory files
Read(file_path=".claude/cc-p4p/activeContext.md")
Read(file_path=".claude/cc-p4p/insights.md")
Read(file_path=".claude/cc-p4p/roadmap-state.md")
If file doesn't exist: Read tool returns an error -- that's fine, means starting fresh.
# Read existing content
Read(file_path=".claude/cc-p4p/activeContext.md")
# Add entry to Recent Work
Edit(file_path=".claude/cc-p4p/activeContext.md",
old_string="## Recent Work",
new_string="## Recent Work\n- [YYYY-MM-DD] [What was done] - [artifact path]\n")
# VERIFY
Read(file_path=".claude/cc-p4p/activeContext.md")
ALL agents MUST:
If an agent cannot safely update memory (e.g., no Edit tool -- comms-drafter):
### Memory Notes sectionFailure to update memory = incomplete work.
If you catch yourself:
STOP. Load/update memory FIRST.
| Excuse | Reality |
|---|---|
| "I know what we decided" | Check the Decisions section. |
| "Small task, no need" | Small tasks have context too. Always update. |
| "I'll remember" | You won't. Conversation compacts. Write it down. |
| "Memory is optional" | Memory is MANDATORY. No exceptions. |
基于 SOC 职业分类