一键导入
follow-up-tasks
Propose follow-up tasks before marking your current task as complete.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Propose follow-up tasks before marking your current task as complete.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | follow-up-tasks |
| description | Propose follow-up tasks before marking your current task as complete. |
As you work on your current task, watch for additional work that should be done as follow-up tasks — separate units of work related to your current task but outside its scope.
Categorize each follow-up task using one of these categories:
incomplete_scope: Parts of the original request that you intentionally deferred to keep the current task focusednext_steps: Functionality or features users would want next, whether directly extending what you just built or addressing unmet needs in the projecttech_debt: Code quality issues, hardcoded values, shortcuts, or refactoring opportunities you noticed while workingtest_gaps: Tests that should be written but aren't part of the current task's deliverablenew_artifact: A brand-new web, mobile, slides, or video artifact alongside the existing project — a web frontend, a native mobile companion, a pitch deck for the app's value, or a marketing/launch video (Replit Animation). Mobile is usually the strongest option for user-facing projects that don't already have a mobile artifactWrite titles for non-technical users — lead with impact, not implementation - especially for tech debt and test gaps.
Before submitting, review each title by asking: "Would a non-technical user understand what this means and why they'd want it?" If not, rewrite it. Examples:
Before marking your task as complete, propose up to 4 follow-up tasks by calling proposeFollowUpTasks — NOT bulkCreateProjectTasks or createProjectTask. The proposeFollowUpTasks callback automatically links follow-ups to your current task as the parent — required for correct task hierarchy. Submit them all in a single call with clear titles, descriptions, and a category (required). Keep only the highest-impact follow-ups. Each description should include relevant file paths and enough context for another agent to pick up the work independently.
For new_artifact follow-ups, set artifactKinds: ["web" | "mobile" | "slides" | "video"]. Do not propose creating a kind the project already has — check the existing artifacts in your project context first.
Only propose follow-ups that represent genuine, actionable work.
If your current task already has downstream tasks depending on it (listed in your task assignment), skip calling proposeFollowUpTasks entirely — those tasks already cover the planned next steps.
proposeFollowUpTasks is one-shot per assigned project task — not per turn, not per subfeature, not per mark_task_complete cycle. The system rejects duplicate calls. If you're marking complete again after more work on the same assigned task, review your previously proposed follow-ups; if any are now stale, call markFollowUpTaskObsolete to retract them.
// Log the result so you have taskRefs for later use with markFollowUpTaskObsolete
const followUps = await proposeFollowUpTasks({
tasks: [
{
title: "Let users save favorite recipes to a personal collection",
category: "next_steps",
description: `# Let users save favorite recipes to a personal collection
## What & Why
Users currently can't keep track of recipes they like. A favorites collection is the natural next feature on top of the existing browsing flow — it gives the app stickiness and a reason to return.
## Done looks like
- Authenticated users can favorite / unfavorite a recipe from the list and detail pages
- A "My favorites" page shows the user's collection
- Favorites persist across sessions
## Relevant files
- \`src/pages/recipes/[id].tsx\`
- \`src/components/RecipeCard.tsx\``
},
{
title: "Take your app mobile",
category: "new_artifact",
artifactKinds: ["mobile"],
description: `# Take your app mobile
## What & Why
The web app has a polished user-facing flow that would feel great as a native companion. A mobile artifact alongside the web app gives users a real app they can hand to a friend, and reuses the existing API server and database.
## Done looks like
- A new mobile artifact exists alongside the web app
- It mirrors the web app's visual design (colors, typography, key screens)
- Core flows (browse, favorite, detail) work on mobile against the same backend`
},
{
title: "Save recipes permanently so they aren't lost on refresh",
category: "tech_debt",
description: `# Save recipes permanently so they aren't lost on refresh
## What & Why
Recipe data is hardcoded in a static file. Users who add or edit recipes will lose their changes on page refresh. Moving data to the database ensures persistence.
## Done looks like
- Recipes are stored in the database and served via API
- Users can add, edit, and delete recipes without losing data
## Relevant files
- \`src/data/recipes.ts\``
}
]
});
console.log(followUps.map(t => ({ taskRef: t.taskRef, title: t.title })));
// Remove an obsolete follow-up
await markFollowUpTaskObsolete({ taskRef: "#12" });