AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Ce:plan

skill-jerrylalala-compound-engineering-ce-plan · by Jerrylalala

2: [T] 制定实施计划,生成执行合约

No reviews yet
0 installs
0 views
view→install

Install

$ agentstack add skill-jerrylalala-compound-engineering-ce-plan

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-jerrylalala-compound-engineering-ce-plan)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
2mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Ce:plan? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Create Technical Plan

Note: The current year is 2026. Use this when dating plans and searching for recent documentation.

ce:brainstorm defines WHAT to build. ce:plan defines HOW to build it. ce:work executes the plan.

This workflow produces a durable implementation plan. It does not implement code, run tests, or learn from execution-time results. If the answer depends on changing code and seeing what happens, that belongs in ce:work, not here.

Interaction Method

Use the platform's question tool when available. When asking the user a question, prefer the platform's blocking question tool if one exists (AskUserQuestion in Claude Code, request_user_input in Codex, ask_user in Gemini). Otherwise, present numbered options in chat and wait for the user's reply before proceeding.

Ask one question at a time. Prefer a concise single-select choice when natural options exist.

Feature Description

#$ARGUMENTS

If the feature description above is empty, ask the user: "What would you like to plan? Describe the task, goal, or project you have in mind."

Do not proceed until you have a clear planning input.

IMPORTANT: All file references in the plan document must use repo-relative paths (e.g., src/models/user.rb), never absolute paths (e.g., /Users/name/Code/project/src/models/user.rb). This applies everywhere — implementation unit file lists, pattern references, origin document links, and prose mentions. Absolute paths break portability across machines, worktrees, and teammates.

Core Principles

  1. Use requirements as the source of truth - If ce:brainstorm produced a requirements document, planning should build from it rather than re-inventing behavior.
  2. Decisions, not code - Capture approach, boundaries, files, dependencies, risks, and test scenarios. Do not pre-write implementation code or shell command choreography. Pseudo-code sketches or DSL grammars that communicate high-level technical design are welcome when they help a reviewer validate direction — but they must be explicitly framed as directional guidance, not implementation specification.
  3. Research before structuring - Explore the codebase, institutional learnings, and external guidance when warranted before finalizing the plan.
  4. Right-size the artifact - Small work gets a compact plan. Large work gets more structure. The philosophy stays the same at every depth.
  5. Separate planning from execution discovery - Resolve planning-time questions here. Explicitly defer execution-time unknowns to implementation.
  6. Keep the plan portable - The plan should work as a living document, review artifact, or issue body without embedding tool-specific executor instructions.
  7. Carry execution posture lightly when it matters - If the request, origin document, or repo context clearly implies test-first, characterization-first, or another non-default execution posture, reflect that in the plan as a lightweight signal. Do not turn the plan into step-by-step execution choreography.

Plan Quality Bar

Every plan should contain:

  • A clear problem frame and scope boundary
  • Concrete requirements traceability back to the request or origin document
  • Repo-relative file paths for the work being proposed (never absolute paths — see Planning Rules)
  • Explicit test file paths for feature-bearing implementation units
  • Decisions with rationale, not just tasks
  • Existing patterns or code references to follow
  • Enumerated test scenarios for each feature-bearing unit, using Given/When/Then format when possible:

```

  • Given: [前置条件]; When: [操作]; Then: [可验证的断言]

`` Then 断言应为可机器验证的谓词(退出码、状态码、输出包含字符串、文件存在等)。模糊断言(如「用户体验流畅」)标记为 (需手动验证)`。

  • Clear dependencies and sequencing
  • Default execution posture: test-first — 每个 feature-bearing 实现单元无显式 Execution note 时,默认 Execution note: test-first(纯配置/scaffolding/styling/文档单元除外,这些标记 Test expectation: none

A plan is ready when an implementer can start confidently without needing the plan to write the code for them.

Workflow

Phase 0: Resume, Source, and Scope

0.1 Resume Existing Plan Work When Appropriate

If the user references an existing plan file or there is an obvious recent matching plan in docs/plans/:

  • Read it
  • Confirm whether to update it in place or create a new plan
  • If updating, preserve completed checkboxes and revise only the still-relevant sections

Deepen intent: The word "deepen" (or "deepening") in reference to a plan is the primary trigger for the deepening fast path. When the user says "deepen the plan", "deepen my plan", "run a deepening pass", or similar, the target document is a plan in docs/plans/, not a requirements document. Use any path, keyword, or context the user provides to identify the right plan. If a path is provided, verify it is actually a plan document. If the match is not obvious, confirm with the user before proceeding.

Words like "strengthen", "confidence", "gaps", and "rigor" are NOT sufficient on their own to trigger deepening. These words appear in normal editing requests ("strengthen that section about the diagram", "there are gaps in the test scenarios") and should not cause a holistic deepening pass. Only treat them as deepening intent when the request clearly targets the plan as a whole and does not name a specific section or content area to change — and even then, prefer to confirm with the user before entering the deepening flow.

Once the plan is identified and appears complete (all major sections present, implementation units defined, status: active):

  • If the plan lacks YAML frontmatter (non-software plans use a simple # Title heading with Created: date instead of frontmatter), route to references/universal-planning.md for editing or deepening instead of Phase 5.3. Non-software plans do not use the software confidence check.
  • Otherwise, short-circuit to Phase 5.3 (Confidence Check and Deepening) in interactive mode. This avoids re-running the full planning workflow and gives the user control over which findings are integrated.

Normal editing requests (e.g., "update the test scenarios", "add a new implementation unit", "strengthen the risk section") should NOT trigger the fast path — they follow the standard resume flow.

If the plan already has a deepened: YYYY-MM-DD frontmatter field and there is no explicit user request to re-deepen, the fast path still applies the same confidence-gap evaluation — it does not force deepening.

0.1b Classify Task Domain

If the task involves building, modifying, or architecting software (references code, repos, APIs, databases, or asks to build/modify/deploy), continue to Phase 0.2.

If the task is about a non-software domain and describes a multi-step goal worth planning, read references/universal-planning.md and follow that workflow instead. Skip all subsequent phases.

If genuinely ambiguous (e.g., "plan a migration" with no other context), ask the user before routing.

For everything else (quick questions, error messages, factual lookups), respond directly without any planning workflow.

0.2 Find Upstream Requirements Document

Before asking planning questions, search docs/brainstorms/ for files matching *-requirements.md.

Relevance criteria: A requirements document is relevant if:

  • The topic semantically matches the feature description
  • It was created within the last 30 days (use judgment to override if the document is clearly still relevant or clearly stale)
  • It appears to cover the same user problem or scope

If multiple source documents match, ask which one to use using the platform's blocking question tool when available (see Interaction Method). Otherwise, present numbered options in chat and wait for the user's reply before proceeding.

0.3 Use the Source Document as Primary Input

If a relevant requirements document exists:

  1. Read it thoroughly
  2. Announce that it will serve as the origin document for planning
  3. Carry forward all of the following:
  • Problem frame
  • Requirements and success criteria
  • Scope boundaries
  • Key decisions and rationale
  • Dependencies or assumptions
  • Outstanding questions, preserving whether they are blocking or deferred
  1. Use the source document as the primary input to planning and research
  2. Reference important carried-forward decisions in the plan with (see origin: )
  3. Do not silently omit source content — if the origin document discussed it, the plan must address it even if briefly. Before finalizing, scan each section of the origin document to verify nothing was dropped.

If no relevant requirements document exists, planning may proceed from the user's request directly.

0.4 No-Requirements-Doc Fallback

If no relevant requirements document exists:

  • Assess whether the request is already clear enough for direct technical planning
  • If the ambiguity is mainly product framing, user behavior, or scope definition, recommend ce:brainstorm first
  • If the user wants to continue here anyway, run a short planning bootstrap instead of refusing

The planning bootstrap should establish:

  • Problem frame
  • Intended behavior
  • Scope boundaries and obvious non-goals
  • Success criteria
  • Blocking questions or assumptions

Keep this bootstrap brief. It exists to preserve direct-entry convenience, not to replace a full brainstorm.

If the bootstrap uncovers major unresolved product questions:

  • Recommend ce:brainstorm again
  • If the user still wants to continue, require explicit assumptions before proceeding
0.5 Classify Outstanding Questions Before Planning

If the origin document contains Resolve Before Planning or similar blocking questions:

  • Review each one before proceeding
  • Reclassify it into planning-owned work only if it is actually a technical, architectural, or research question
  • Keep it as a blocker if it would change product behavior, scope, or success criteria

If true product blockers remain:

  • Surface them clearly
  • Ask the user, using the platform's blocking question tool when available (see Interaction Method), whether to:
  1. Resume ce:brainstorm to resolve them
  2. Convert them into explicit assumptions or decisions and continue
  • Do not continue planning while true blockers remain unresolved
0.6 Assess Plan Depth

Classify the work into one of these plan depths:

  • Lightweight - small, well-bounded, low ambiguity
  • Standard - normal feature or bounded refactor with some technical decisions to document
  • Deep - cross-cutting, strategic, high-risk, or highly ambiguous implementation work

If depth is unclear, ask one targeted question and then continue.

Phase 1: Gather Context

1.1 Local Research (Always Runs)

Prepare a concise planning context summary (a paragraph or two) to pass as input to the research agents:

  • If an origin document exists, summarize the problem frame, requirements, and key decisions from that document
  • Otherwise use the feature description directly

Run these agents in parallel:

  • Task compound-engineering:research:repo-research-analyst(Scope: technology, architecture, patterns. {planning context summary})
  • Task compound-engineering:research:learnings-researcher(planning context summary)

Collect:

  • Technology stack and versions (used in section 1.2 to make sharper external research decisions)
  • Architectural patterns and conventions to follow
  • Implementation patterns, relevant files, modules, and tests
  • AGENTS.md guidance that materially affects the plan, with CLAUDE.md used only as compatibility fallback when present
  • Institutional learnings from docs/solutions/

Slack context (opt-in) — never auto-dispatch. Route by condition:

  • Tools available + user asked: Dispatch compound-engineering:research:slack-researcher with the planning context summary in parallel with other Phase 1.1 agents. If the origin document has a Slack context section, pass it verbatim so the researcher focuses on gaps. Include findings in consolidation.
  • Tools available + user didn't ask: Note in output: "Slack tools detected. Ask me to search Slack for organizational context at any point, or include it in your next prompt."
  • No tools + user asked: Note in output: "Slack context was requested but no Slack tools are available. Install and authenticate the Slack plugin to enable organizational context search."
1.1b Detect Execution Posture Signals

Decide whether the plan should carry a lightweight execution posture signal.

Look for signals such as:

  • The user explicitly asks for TDD, test-first, or characterization-first work
  • The origin document calls for test-first implementation or exploratory hardening of legacy code
  • Local research shows the target area is legacy, weakly tested, or historically fragile, suggesting characterization coverage before changing behavior
  • The user asks for external delegation, says "use codex", "delegate mode", or mentions token conservation -- add Execution target: external-delegate to implementation units that are pure code writing

When the signal is clear, carry it forward silently in the relevant implementation units.

Ask the user only if the posture would materially change sequencing or risk and cannot be responsibly inferred.

1.2 Decide on External Research

Based on the origin document, user signals, and local findings, decide whether external research adds value.

Read between the lines. Pay attention to signals from the conversation so far:

  • User familiarity — Are they pointing to specific files or patterns? They likely know the codebase well.
  • User intent — Do they want speed or thoroughness? Exploration or execution?
  • Topic risk — Security, payments, external APIs warrant more caution regardless of user signals.
  • Uncertainty level — Is the approach clear or still open-ended?

Leverage repo-research-analyst's technology context:

The repo-research-analyst output includes a structured Technology & Infrastructure summary. Use it to make sharper external research decisions:

  • If specific frameworks and versions were detected (e.g., Rails 7.2, Next.js 14, Go 1.22), pass those exact identifiers to framework-docs-researcher so it fetches version-specific documentation
  • If the feature touches a technology layer the scan found well-established in the repo (e.g., existing Sidekiq jobs when planning a new background job), lean toward skipping external research -- local patterns are likely sufficient
  • If the feature touches a technology layer the scan found absent or thin (e.g., no existing proto files when planning a new gRPC service), lean toward external research -- there are no local patterns to follow
  • If the scan detected deployment infrastructure (Docker, K8s, serverless), note it in the planning context passed to downstream agents so they can account for deployment constraints
  • If the scan detected a monorepo and scoped to a specific service, pass that service's tech context to downstream research agents -- not the aggregate of all services. If the scan surfaced the workspace map without scoping, use the feature description to identify the relevant service before proceeding with research

Always lean toward external research when:

  • The topic is high-risk: security, payments, privacy, external APIs, migrations, compliance
  • The codebase lacks relevant local patterns -- fewer than 3 direct examples of the pattern this plan needs
  • Local patterns exist for an adjacent domain but not the exact one -- e.g., the codebase has HTTP clients but not webhook receivers, or has background jobs but not event-driven pub/sub. Adjacent patterns suggest the team is comfortable with the technology layer but may not know domain-specific pitfalls. When this signal is present, frame the external research query around the domain gap specifically, not the general technology
  • The user is exploring unfamiliar territory
  • The technology scan found

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.