원클릭으로
ts-epic-new
Scaffold a new epic file in docs/developers/tasks/open/ and run housekeep
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Scaffold a new epic file in docs/developers/tasks/open/ and run housekeep
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | ts-epic-new |
| description | Scaffold a new epic file in docs/developers/tasks/open/ and run housekeep |
The user invokes this as /ts-epic-new <epic-name> "Short title"
(e.g. /ts-epic-new task-system "Unified task and idea system").
If either argument is missing, ask for it before proceeding.
Epic files live alongside task files under
docs/developers/tasks/{open,active,closed}/. housekeep.py moves
them to the folder that matches their derived status (all-closed →
closed/, any-active → active/, otherwise open/).
---
id: EPIC-NNN # auto-incremented across all epic files
name: <epic-name> # the value that tasks reference via `epic: <name>`
title: <Short title> # human-readable heading
status: open # derived by housekeep.py — do not edit manually
opened: YYYY-MM-DD
closed: # set by housekeep.py when all tasks close
assigned: # optional — username of the owner
branch: feature/<slug> # optional — suggested git branch for tasks in this epic.
# Auto-filled with feature/<slug> (the same slug used in
# the filename). The user may edit or delete this line
# before committing. /ts-task-active soft-warns when the
# current branch differs from this value.
---
# <Short title>
<body — short motivation and scope. If the epic was seeded by one or more
ideas, name them explicitly in plain text, e.g.:
"Seeded by IDEA-006 (Macros)."
"Seeded by IDEA-009 (Long Press Event) and IDEA-010 (Double Press Event)."
Use the idea ID and title only — no markdown links, no hrefs.>
## Tasks
Tasks are listed automatically in the Task Epics section of
`docs/developers/tasks/OVERVIEW.md` and in `EPICS.md` / `KANBAN.md`.
When the epic is rooted in one or more ideas, include a plain-text sentence in the body naming those ideas by ID and title:
Seeded by IDEA-006 (Macros).
Seeded by IDEA-009 (Long Press Event) and IDEA-010 (Double Press Event).
Do not use markdown links or href syntax — idea files move between
open/ and archived/ as they are resolved, so paths rot. Plain text stays
accurate indefinitely.
/check-branch.docs/developers/tasks/{open,active,closed}/ for epic-*.md
filenames and frontmatter id: EPIC-NNN. Add 1.epic-NNN-<slug>.md where the slug is the
epic name (lowercase, hyphenated, max 50 chars).docs/developers/tasks/open/ using the template
above. Fill id, name, title, opened (today in YYYY-MM-DD),
and leave status: open, closed: empty, assigned: empty. Set
branch: feature/<slug> using the exact slug from step 2 —
reuse the value verbatim, do not re-derive it from the title. If
the user provided idea IDs, include the plain-text seeding sentence
in the body (see Idea linking above). The user can add
assigned: manually later — not prompted by default.python scripts/housekeep.py --apply to regenerate OVERVIEW.md.The filename slug is already lowercase + hyphens + digits, which is
always a valid git ref — no extra sanitization is needed before
writing it as feature/<slug>. Do not invent one.
Do not commit — epics are usually introduced together with their first tasks, and the user will commit the bundle.
Write Bash commands that don't trigger unnecessary permission prompts. Use Read/Edit/Grep instead of head/tail/sed/awk/cat/echo; split chained commands (&&, ;, ||) into separate Bash calls; drop diagnostic suffixes like `; echo "EXIT=$?"`. The allowlist matches whole command strings — every mismatch costs the user attention.
Commit user-named files atomically via scripts/commit-pathspec.sh (which wraps `git commit -m "..." -- <files>` and writes the provenance token the pre-commit hook validates). Applies the CLAUDE.md "Pre-commit hook failures on unrelated changes" protocol when the hook fails. Never adds --no-verify silently — explicit user approval is required.
Scaffold a new idea file in docs/developers/ideas/open/ and regenerate the ideas OVERVIEW.md
Set a task to active — updates status, moves to active/, runs housekeep. Also resumes paused tasks (paused/ → active/ or active/ with closed prerequisites).
Mark a task as closed — writes effort_actual, moves the file to closed/, runs housekeep, and commits
Scaffold a new task file in docs/developers/tasks/open/ and update OVERVIEW.md