ワンクリックで
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 職業分類に基づく
Anthropic AI integration via Replit AI Integrations proxy (JavaScript/TypeScript). Provides Anthropic-compatible API access without requiring your own API key.
Gemini AI integration via Replit AI Integrations proxy (JavaScript/TypeScript). Provides Gemini-compatible API access without requiring your own API key.
OpenAI AI integration via Replit AI Integrations proxy (JavaScript/TypeScript). Provides OpenAI-compatible API access without requiring your own API key.
OpenRouter AI integration via Replit AI Integrations proxy (JavaScript/TypeScript). Provides OpenRouter-compatible API access without requiring your own API key.
Apply a user's saved artifact template (a reusable slides/web style donor) when they ask to build or restyle an artifact "with my template", "using my saved template", "in my brand style", or refer to a template by name. Use this to discover the user's saved templates and materialize one for use.
Use when creating or updating the artifact.toml for artifacts such as websites, web apps, mobile apps, slide decks, pitch decks, videos, and data visualizations.
| 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 3 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 markTaskComplete 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 { proposed: 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" });