Skip to content

feat(ce-strategy,ce-product-pulse): add PM skills for upstream anchor and outcome pulse#614

Draft
imwm wants to merge 5 commits intomainfrom
marcus/pm-skills
Draft

feat(ce-strategy,ce-product-pulse): add PM skills for upstream anchor and outcome pulse#614
imwm wants to merge 5 commits intomainfrom
marcus/pm-skills

Conversation

@imwm
Copy link
Copy Markdown
Collaborator

@imwm imwm commented Apr 20, 2026

Summary

Adds PM skills ce-strategy and ce-product-pulse:

  • /ce-strategy — Interviews the user to produce docs/strategy.md: a Rumeltian problem/approach statement, persona(s), key metrics, and work tracks. Short and structured on purpose; re-runnable to update individual sections. ce:ideate, ce:brainstorm, and ce:plan read it as grounding when present.
  • /ce-product-pulse — Generates a single-page, time-windowed report (usage, performance, errors, followups) saved to ~/pulse-reports/ as a browseable timeline. First-time run interviews the user to define metrics and wire data sources (MCP-preferred, read-only DB only). Adapted from Spiral's "pulse" command.

Both skills use the dash-form ce-* naming convention going forward; existing ce:* skills can be renamed in a separate sweep.

Upstream/downstream wiring

The two skills bookend the existing loop — strategy anchors it, pulse closes it:

        Strategy (docs/strategy.md)
           |
           v
Brainstorm -> Plan -> Work -> Review -> Compound -> Pulse -> Repeat
                                                      |
                                                      v
                                        (~/pulse-reports/ signal for
                                         next strategy + brainstorm)

Three existing skills now read docs/strategy.md when present:

  • ce:brainstorm — Constraint Check pulls in strategy alongside AGENTS.md.
  • ce:ideate — quick-context sub-agent summarizes strategy and returns approach + active tracks so ideation weights toward strategy-aligned directions.
  • ce:plan — planning context summary includes target problem/approach/tracks; research flags plan decisions that pull away from active tracks.

ce-product-pulse also seeds from strategy when available: product name and key metrics are carried into data-source setup so the interview wires up connections to actually measure the metrics strategy defined.

What this does not do

  • No backlog prioritization, no issue-tracker updates, no scheduling (product-pulse hands off to the schedule skill with explicit confirmation).
  • Pulse is read-only: refuses read-write DB credentials, persists no PII in saved reports.
  • Strategy is an anchor doc, not a plan — features belong in ce:brainstorm, schedules in the tracker.

Files changed

  • plugins/compound-engineering/skills/ce-strategy/ (new) — SKILL.md + references/interview.md + references/strategy-template.md
  • plugins/compound-engineering/skills/ce-product-pulse/ (new) — SKILL.md + references/interview.md + references/report-template.md
  • plugins/compound-engineering/skills/ce-{brainstorm,ideate,plan}/SKILL.md — strategy-as-grounding integration
  • README.md, plugins/compound-engineering/README.md — workflow diagram, command tables, skill count 42→44

Test plan

  • bun run release:validate passes (45 skills, 50 agents)
  • bun test passes
  • /ce-strategy first-run flow produces a valid docs/strategy.md and re-runs update a single section without clobbering the rest
  • /ce-product-pulse first-run interview writes docs/product-pulse.md and refuses read-write DB creds; subsequent run produces a 30-40-line report at ~/pulse-reports/YYYY-MM-DD_HH-MM.md
  • /ce:brainstorm, /ce:ideate, /ce:plan all read docs/strategy.md when present and run cleanly when it is absent
  • Converter output is clean: bun run convert for opencode/codex targets with a test plugin including both skills


# Product Pulse

`ce-product-pulse` queries the product's data sources for a given time window and produces a compact, single-page report covering usage, performance, errors, and followups. The report is saved to `~/pulse-reports/` and the key points are surfaced in chat.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@imwm wondering justification to have this in home directory vs in repo and checked in for benefit ongoing? Or do you expect users to use this when not having the repo?


`ce-product-pulse` queries the product's data sources for a given time window and produces a compact, single-page report covering usage, performance, errors, and followups. The report is saved to `~/pulse-reports/` and the key points are surfaced in chat.

This is a read-only skill. It reports on what happened; it does not fix anything, ship anything, or change the product.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you can skip this and enforce with tools in front matter instead? that not only guarantees it but will also reduce context window usage by eliminating extraenous tools


**Note: The current year is 2026.** Use this when dating the strategy document.

`ce-strategy` produces and maintains `docs/strategy.md` - a short, durable anchor document that captures what the product is, who it serves, how it succeeds, and where the team is investing. Downstream skills (`ce:ideate`, `ce:brainstorm`, `ce:plan`) read it as grounding when it exists.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@imwm wondering if for important docs like this, which are more durable, we should center on a convention of uppercase filenames. so in this case docs/STRATEGY.md?


## Core Principles

1. **Anchor, not plan.** Strategy is what the product is and why. Features belong in `ce:brainstorm`; schedules belong in the issue tracker. Do not let either creep into the doc.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

change all the skill references across your SKILL.md and reference files to use the hyphenated versions, so ce-brainstorm in this case.


### Phase 3: Downstream Handoff

After writing, note in one line where the file lives and that `ce:ideate`, `ce:brainstorm`, and `ce:plan` will pick it up as grounding on their next run.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

outdates skill names, use hyphenated versions


After writing, note in one line where the file lives and that `ce:ideate`, `ce:brainstorm`, and `ce:plan` will pick it up as grounding on their next run.

If no downstream skill has run yet on this repo, suggest `/ce:ideate` or `/ce:brainstorm` as a next step.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove the / prefix due to codex using $. suggested rewrite

If no downstream skill has run yet on this repo, suggest `ce:ideate` or `ce:brainstorm` skills as a next step.

### Core Workflow

The primary entry points for engineering work, invoked as slash commands:
The primary entry points for engineering work, invoked as slash commands. `/ce-strategy` anchors the loop upstream; `/ce-product-pulse` closes it with a read on user outcomes.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

change to:

The primary entry points for engineering work, invoked as slash commands. `ce-strategy` skill anchors the loop upstream; `ce-product-pulse` skill closes it with a read on user outcomes.

Copy link
Copy Markdown
Collaborator

@tmchow tmchow left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One other comment right now is whether we should be adding a new ce-strategy-alignment-reviewer agent that is used to essentially test: “Does this conflict with the project’s written strategy?” could be used in various skills where it makes sense. This then allows us to get ongoing mileage and value from the strategy doc.


Write the captured config to `docs/product-pulse.md` using the structure defined in `references/interview.md` under "Config file shape". Show the file to the user and offer one round of edits.

After the config is written, run the **scheduling recommendation** from `references/interview.md` section 9: offer to set up a recurring run (via `schedule` skill or a cron-like routine) so the user gets the pulse on a cadence instead of having to remember to run it. Accept yes/no/later. If yes, hand off to the `schedule` skill; do not schedule inline. Then proceed to Phase 2.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we may need to think about cross harness compat here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants