| name | kata-add-issue |
| description | Capture an idea, task, or issue that surfaces during a Kata session as a structured issue for later work. This skill creates markdown issue files in the .planning/issues/open directory with relevant metadata and content extracted from the conversation. Triggers include "add issue", "capture issue", "new issue", "create issue", "log issue", "file issue", "add todo" (deprecated), "capture todo" (deprecated), "new todo" (deprecated). |
| metadata | {"version":"0.3.0"} |
Capture an idea, task, or issue that surfaces during a Kata session as a structured issue for later work.
Enables "thought -> capture -> continue" flow without losing context or derailing current work.
@.planning/STATE.md
**If the user invoked with "todo" vocabulary** (e.g., "add todo", "capture todo", "new todo"):
Display:
Note: "todos" are now "issues". Using /kata-add-issue.
Then proceed with the action (non-blocking).
Check if legacy `.planning/todos/` exists and needs migration:
if [ -d ".planning/todos/pending" ] && [ ! -d ".planning/todos/_archived" ]; then
mkdir -p .planning/issues/open .planning/issues/closed
cp .planning/todos/pending/*.md .planning/issues/open/ 2>/dev/null || true
.planning/todos/done/*.md .planning/issues/closed/ 2>/dev/null ||
-p .planning/todos/_archived
.planning/todos/pending .planning/todos/_archived/ 2>/dev/null ||
.planning/todos/done .planning/todos/_archived/ 2>/dev/null ||
```bash
mkdir -p .planning/issues/open .planning/issues/closed
```
```bash
find .planning/issues/open -maxdepth 1 -name "*.md" 2>/dev/null | xargs -I {} grep "^area:" {} 2>/dev/null | cut -d' ' -f2 | sort -u
```
**With arguments:** Use as the title/focus.
- `/kata-add-issue Add auth token refresh` -> title = "Add auth token refresh"
Infer area from file paths:
```bash
find .planning/issues/open -maxdepth 1 -name "*.md" -exec grep -l -i "[key words from title]" {} + 2>/dev/null
```
```bash
timestamp=$(date "+%Y-%m-%dT%H:%M")
date_prefix=$(date "+%Y-%m-%d")
```
**Check GitHub integration:**
If `.planning/STATE.md` exists:
Commit the issue and any updated state:
```
Issue saved: .planning/issues/open/[filename]