一键导入
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 this repository, especially after editing src-tauri, src, package.json, Taskfile.yml, flake.nix, or agent lint scripts.
Use when setting up or verifying Apple Developer ID signing credentials, Apple app-specific passwords, kinko secret storage, or local macOS notarization readiness for chilla without recording credential values.
Use when Codex should validate chilla macOS desktop behavior, Tauri app launches, visible UI flows, or browser/app interactions after implementation or bug fixes, and Computer Use tools may be available.
Use when code changes in this repository should be validated by actually launching the local chilla app. After modifying runtime-affecting code, rebuild the debug app when needed and launch `target/debug/chilla` yourself instead of telling the user to run it.
Use when building, signing, notarizing, validating, or publishing macOS `.app` and `.dmg` release artifacts for this repository. Covers the Tauri macOS release config, local `task bundle-macos-dmg`, Apple signing/notarization inputs, GitHub Actions release workflow, and post-release tap follow-up.
Use when building and publishing the Nix tarball release artifacts for this repository with `nix build`. Covers flake target selection, tarball packaging, installer compatibility, GitHub release creation, and Homebrew tap updates for the current tarball-based cask path.
| 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 cause Claude Code OOM (Out of Memory) errors.
| Metric | Limit | Reason |
|---|---|---|
| Line count | MAX 400 lines | Prevents memory issues when agents read files |
| 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 |