一键导入
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 职业分类
Execute kinko release operations end-to-end for Go binaries, including local verification, artifact packaging, and optional GitHub release publishing. Use when users ask to release, publish a version, or build release binaries.
Use when users want to manage encrypted environment variables with the kinko CLI, including init/unlock, shared vs repo scope, set/get/show/delete/move, stale path-scope pruning, export/import, and exec-based runtime injection.
Use when creating or organizing design documents. Provides directory structure, file naming, and content guidelines for design specs and references.
Use when writing, reviewing, or refactoring Go code. Provides error handling patterns, project layout, concurrency, and interface design guidelines.
Use this skill when creating or modifying GitHub Actions workflow files (.github/workflows/*.yml). Ensures all actions are pinned by commit SHA, permissions are minimized, script injection is prevented, and other supply chain security best practices are applied.
Use when writing Go code that interacts with dependencies, handles credentials, executes commands, or manages configuration. Provides supply chain attack countermeasures at the code level including safe dependency usage, credential handling, subprocess hardening, and runtime integrity patterns. Adapted from Shai-Hulud npm attack lessons.
| 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 Go type definitions. USE ACTUAL GO CODE for interfaces, structs, and function signatures - not prose descriptions.
## Modules
### 1. Core Interfaces
#### internal/interfaces/filesystem.go
**Status**: NOT_STARTED
```go
type FileSystem interface {
ReadFile(path string) ([]byte, error)
WriteFile(path string, content []byte) error
Exists(path string) (bool, error)
Watch(path string) (<-chan WatchEvent, error)
}
type WatchEvent struct {
Type WatchEventType
Path string
}
type WatchEventType int
const (
WatchCreate WatchEventType = iota
WatchModify
WatchDelete
)
Checklist:
### 4. Status Tracking Table
Use simple tables for overview tracking:
```markdown
## Module Status
| Module | File Path | Status | Tests |
|--------|-----------|--------|-------|
| FileSystem interface | `internal/interfaces/filesystem.go` | NOT_STARTED | - |
| ProcessManager interface | `internal/interfaces/process.go` | NOT_STARTED | - |
| Mock implementations | `internal/test/mocks/*.go` | NOT_STARTED | - |
Simple table showing what depends on what:
## Dependencies
| Feature | Depends On | Status |
|---------|------------|--------|
| Phase 2: Repository | Phase 1: Interfaces | BLOCKED |
| Phase 3: Core Services | Phase 1, Phase 2 | BLOCKED |
Simple checklist:
## Completion Criteria
- [ ] All modules implemented
- [ ] All tests passing
- [ ] go build passes
- [ ] go vet 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 Go code for:
Example:
```go
type SessionGroup struct {
ID string // Format: YYYYMMDD-HHMMSS-{slug}
Name string
Status GroupStatus
Sessions []GroupSession
Config GroupConfig
CreatedAt time.Time
}
type GroupStatus string
const (
GroupStatusCreated GroupStatus = "created"
GroupStatusRunning GroupStatus = "running"
GroupStatusPaused GroupStatus = "paused"
GroupStatusCompleted GroupStatus = "completed"
GroupStatusFailed GroupStatus = "failed"
)
### DO NOT Include
- Implementation logic (function bodies)
- Private/unexported functions
- Algorithm details
- Excessive prose descriptions
### Format Comparison
**GOOD** (Go-first):
```markdown
#### internal/interfaces/clock.go
```go
type Clock interface {
Now() time.Time
Timestamp() string
Sleep(d time.Duration)
}
Checklist:
**BAD** (Prose-heavy):
```markdown
**Exports**:
| Name | Type | Purpose | Called By |
|------|------|---------|-----------|
| `Clock` | interface | Time operations | Caching, logging |
**Function Signatures**:
Now() time.Time
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 | Go code blocks + checklist |
| Status Table | Yes | Simple table |
| Dependencies | Yes | Simple table |
| Completion Criteria | Yes | Checklist |
| Progress Log | Yes | Session entries |