بنقرة واحدة
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 المهني
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
| 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.