一键导入
impl-plan
Use when creating implementation plans from design documents. Provides plan structure, status tracking, and progress logging guidelines.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when creating implementation plans from design documents. Provides plan structure, status tracking, and progress logging guidelines.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Run mixed Tauri Rust and TypeScript lint, typecheck, formatting, and verification commands. Use when Codex is asked to lint, check, test, verify, or prepare Rust/TypeScript/Tauri changes in a Tauri template project, especially after editing src-tauri, src, package.json, Taskfile.yml, flake.nix, or agent lint scripts.
Use when building, validating, publishing, or tap-rendering Homebrew formula releases for this Go project, including scripts/build-homebrew-release.sh, scripts/render-homebrew-formula.sh, Taskfile Homebrew tasks, GitHub Release assets, and tap formula verification.
Use when setting up or verifying Apple Developer ID signing credentials, app-specific passwords, kinko secret storage, local keychain identities, notarytool credentials, or macOS notarization readiness for this Swift Homebrew Cask workflow without exposing credential values.
Use when building, validating, publishing, or tap-rendering Homebrew formula tarball releases for this Swift project, including scripts/build-homebrew-release.sh, scripts/render-homebrew-formula.sh, and task build:homebrew or homebrew:formula commands.
Use when building, signing, notarizing, validating, publishing, or tap-rendering macOS Homebrew Cask DMG releases for this Swift project, including Apple Developer ID signing, scripts/build-homebrew-cask-release.sh, scripts/render-homebrew-cask.sh, and release:homebrew-cask-local.
Use when executing tasks from implementation plans. Provides task selection, parallel execution, progress tracking, and review cycle guidelines.
| name | impl-plan |
| description | Use when creating implementation plans from design documents. Provides plan structure, status tracking, and progress logging guidelines. |
| allowed-tools | Read, Write, Glob, Grep |
This skill provides guidelines for creating and managing implementation plans from design documents.
Apply this skill when:
Implementation plans bridge the gap between design documents (what to build) and actual implementation (how to build). They provide:
IMPORTANT: Implementation plans and spec files do NOT need 1:1 mapping.
| Mapping | When to Use |
|---|---|
| 1:N (one spec -> multiple plans) | Large specs should be split into smaller, focused units |
| N:1 (multiple specs -> one plan) | Related specs sharing dependencies can be combined |
| 1:1 (one spec -> one plan) | Well-bounded features with clear scope |
Recommended granularity:
CRITICAL: Large implementation plan files can make agent execution brittle and hard to review.
| Metric | Limit | Reason |
|---|---|---|
| Line count | MAX 1000 lines | Keeps plans readable while allowing realistic implementation detail |
| Modules per plan | MAX 8 modules | Keeps plans focused and manageable |
| Tasks per plan | MAX 10 tasks | Enables completion in 1-3 sessions |
Split a plan into multiple files when ANY of these conditions are met:
BEFORE (one large plan):
impl-plans/active/foundation-and-core.md (1100+ lines)
AFTER (split by phase):
impl-plans/active/foundation-interfaces.md (~200 lines)
impl-plans/active/foundation-mocks.md (~150 lines)
impl-plans/active/foundation-types.md (~150 lines)
impl-plans/active/foundation-core-services.md (~200 lines)
When splitting, use consistent naming:
{feature}-{phase}.md - For phase-based splits{feature}-{category}.md - For category-based splitsExample:
session-groups-types.mdsession-groups-repository.mdsession-groups-manager.mdEach split plan MUST include:
## Related Plans
- **Previous**: `impl-plans/active/foundation-interfaces.md` (Phase 1)
- **Next**: `impl-plans/active/foundation-core-services.md` (Phase 3)
- **Depends On**: `foundation-interfaces.md`, `foundation-types.md`
IMPORTANT: All implementation plans MUST be stored under impl-plans/ subdirectories.
impl-plans/
├── README.md # Index of all implementation plans
├── active/ # Currently active implementation plans
│ └── <feature>.md # One file per feature being implemented
├── completed/ # Completed implementation plans (archive)
│ └── <feature>.md # Completed plans for reference
└── templates/ # Plan templates
└── plan-template.md # Standard plan template
| Directory | Purpose |
|---|---|
impl-plans/active/ | Implementation plans currently in progress |
impl-plans/completed/ | Archived completed plans for reference |
impl-plans/templates/ | Plan templates and examples |
DO NOT create implementation plan files outside impl-plans/.
Each implementation plan file MUST include:
# <Feature Name> Implementation Plan
**Status**: Planning | Ready | In Progress | Completed
**Design Reference**: design-docs/<file>.md#<section>
**Created**: YYYY-MM-DD
**Last Updated**: YYYY-MM-DD
List each module with its Rust type definitions. USE ACTUAL RUST CODE for traits, structs, enums, and function signatures - not prose descriptions.
## Modules
### 1. Core Traits
#### src/interfaces/filesystem.rs
**Status**: NOT_STARTED
```rust
pub trait FileSystem: Send + Sync {
fn read_file(&self, path: &Path) -> Result<Vec<u8>>;
fn write_file(&self, path: &Path, content: &[u8]) -> Result<()>;
fn exists(&self, path: &Path) -> Result<bool>;
fn watch(&self, path: &Path) -> Result<impl Stream<Item = WatchEvent>>;
}
#[derive(Debug, Clone)]
pub struct WatchEvent {
pub event_type: WatchEventType,
pub path: PathBuf,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum WatchEventType {
Create,
Modify,
Delete,
}
Checklist:
### 4. Status Tracking Table
Use simple tables for overview tracking:
```markdown
## Module Status
| Module | File Path | Status | Tests |
|--------|-----------|--------|-------|
| FileSystem trait | `src/interfaces/filesystem.rs` | NOT_STARTED | - |
| ProcessManager trait | `src/interfaces/process.rs` | NOT_STARTED | - |
| Mock implementations | `src/test/mocks/*.rs` | NOT_STARTED | - |
Simple table showing what depends on what:
## Dependencies
| Feature | Depends On | Status |
|---------|------------|--------|
| Phase 2: Repository | Phase 1: Traits | BLOCKED |
| Phase 3: Core Services | Phase 1, Phase 2 | BLOCKED |
Simple checklist:
## Completion Criteria
- [ ] All modules implemented
- [ ] All tests passing
- [ ] cargo build passes
- [ ] cargo clippy passes
- [ ] Integration verified
Track session-by-session progress:
## Progress Log
### Session: YYYY-MM-DD HH:MM
**Tasks Completed**: Module 1, Module 2
**Tasks In Progress**: Module 3
**Blockers**: None
**Notes**: Discovered edge case in variable parsing
ALWAYS include actual Rust code for:
Example:
```rust
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SessionGroup {
/// Format: YYYYMMDD-HHMMSS-{slug}
pub id: String,
pub name: String,
pub status: GroupStatus,
pub sessions: Vec<GroupSession>,
pub config: GroupConfig,
pub created_at: DateTime<Utc>,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "snake_case")]
pub enum GroupStatus {
Created,
Running,
Paused,
Completed,
Failed,
}
### DO NOT Include
- Implementation logic (function bodies)
- Private functions
- Algorithm details
- Excessive prose descriptions
### Format Comparison
**GOOD** (Rust-first):
```markdown
#### src/interfaces/clock.rs
```rust
pub trait Clock: Send + Sync {
fn now(&self) -> DateTime<Utc>;
fn timestamp(&self) -> String;
async fn sleep(&self, duration: Duration);
}
Checklist:
**BAD** (Prose-heavy):
```markdown
**Exports**:
| Name | Type | Purpose | Called By |
|------|------|---------|-----------|
| `Clock` | trait | Time operations | Caching, logging |
**Function Signatures**:
now() -> DateTime<Utc>
Purpose: Get current date/time
Called by: Logger, Cache
Subtasks can be parallelized when:
Mark dependencies explicitly in the status table.
impl-plans/active/impl-plans/completed/| Section | Required | Format |
|---|---|---|
| Header | Yes | Markdown metadata |
| Design Reference | Yes | Link + summary |
| Modules | Yes | Rust code blocks + checklist |
| Status Table | Yes | Simple table |
| Dependencies | Yes | Simple table |
| Completion Criteria | Yes | Checklist |
| Progress Log | Yes | Session entries |