Skip to content
Development
Skill

/ase-task-view

View current or given task plan. Use when the user calls to "view", "show" or "see" the "task", "plan", "spec", or "specification".

From plugin
ase
7561 skills11 agents

Claude Code

$ npx -y skills add rse/ase --skill ase-task-view --agent claude-code

SKILL.md

ase-task-view.SKILL.md
name: ase-task-view
argument-hint: "[--help|-h] [--full|-f] [<id>]"
description: >
    View current or given task plan.
    Use when the user calls to "view", "show" or "see" the
    "task", "plan", "spec", or "specification".
user-invocable: true
disable-model-invocation: false
effort: high

@${CLAUDE_SKILL_DIR}/../../meta/ase-control.md @${CLAUDE_SKILL_DIR}/../../meta/ase-skill.md @${CLAUDE_SKILL_DIR}/../../meta/ase-getopt.md

<purpose name="ase-task-view"> View a Task Plan </purpose>

<expand name="getopt" arg1="ase-task-view" arg2="--full|-f"> $ARGUMENTS </expand>

<objective> *View* the task plan. </objective>

Procedure ---------

1. **Determine Task:**

1. Set <id><getopt-arguments/></id> initially, with any leading and trailing whitespace stripped. Inherit the always existing <ase-task-id/> from the current context. Do not output anything.

2. <if condition="<id/> is empty"> Set <id><ase-task-id/></id> Do not output anything. </if>

3. <if condition="<id/> does NOT match the regexp `^[a-zA-Z0-9#][a-zA-Z0-9#_-]*$`"> Only output the following <template/> and then immediately *STOP* processing the entire current skill:

<template> ⧉ **ASE**: ☻ skill: **ase-task-view**, ▶ ERROR: expected single `[<id>]` argument </template> </if>

2. **Perform Operation**:

1. Call the `ase_task_load(id: "<id/>", variant: "render")` tool of the `ase` MCP server -- if <getopt-option-full/> is `true`, additionally with the argument `attachments: "full"`, else with the payloads of all attachments *elided* to `[elided: <n/> lines]` markers (the default) -- to load the task plan content in its *rendering-prepared* form -- this skill is *display-only* and hence never persists the plan again -- and set <text/> to the `text` output field of this `ase_task_load` tool call. Do not output anything related to this MCP tool call.

  • If <text/> starts with `ERROR:` or `WARNING:`:

Set <task-content></task-content> (set task content to empty). Only output the following <template/>:

<template> ⧉ **ASE**: ◉ task: **<id/>**, ▶ status: **<text/>** </template>

  • If <text/> starts NOT with `ERROR:` and NOT with `WARNING:`:

Set <task-content><text/></task-content> (set task content to text). Only output the following <template/>:

<template> ⧉ **ASE**: ◉ task: **<id/>**, ▶ status: **plan loaded** </template>

2. <if condition="<task-content/> is not empty"> Treat <task-content/> as *verbatim* Markdown.

For the *rendering only*, drop the leading *frontmatter* block -- both `---` delimiters and all of their keys -- and instead place the following column-aligned glyph lines *before* the `# TASK: <title/>` heading, separated from it by an empty line, omitting the line of every key absent from the frontmatter and always omitting the `Type` key. The glyph lines *MUST* stay *above* the heading, exactly where the frontmatter block sits in the plan file, and *MUST NOT* be moved below it. This keeps the `---` delimiters from rendering as a horizontal rule plus a *setext heading*. This rewrite is *display-only* and *MUST NOT* change <task-content/> itself:

<format> ◉ **Id:** <task-id/> ⎈ **Created:** <timestamp-created/> ⚙ **Modified:** <timestamp-modified/> ⊞ **Group:** <task-group/> ◷ **Phase:** <task-phase/> ⇢ **After:** <task-after/> ◐ **Status:** <task-status/> ☯ **Kind:** <task-kind/> ⚖ **Effort:** <task-effort/> ⚑ **Tags:** <task-tags/> ⇤ **Source:** <task-source/> ⇢ **Changeset:** <task-changeset/> ⇥ **Target:** <task-target/> </format>

*Render plan*: Only output the following <template/>. Do *not* truncate, summarize, or partially show the plan. Use the following <template/>:

<template> <ase-tpl-head title="TASK" subtitle="<task-id/>"/> <task-content/> <ase-tpl-foot title="TASK" subtitle="<task-id/>"/> </template>

<if condition="the backmatter of <task-content/> contains an attachment block with the `Type` key value `text/x-diff; charset=utf-8; kind="draft"` which is *stale*, i.e. its `Modified` key is absent or older than the `Modified` key of the frontmatter"> Directly *after* this <template/>, only output the following <template/>:

<template> ⧉ **ASE**: ◉ task: **<task-id/>**, ▶ WARNING: implementation draft attachment is **stale** (older than the plan) </template> </if> </if>

3. Finally, give the closing hints by expanding the following (which, depending on the configured <ase-guidance-level/>, may each expand into nothing and hence emit no output at all):

<if condition="<task-content/> is not empty"> <ase-tpl-hint level="normal"> Use `/ase-task-edit` or `/ase-task-grill` to refine this plan, `/ase-task-implement --draft` to draft its implementation, `/ase-task-implement` to realize it, and `/ase-task-integrate` to deliver it. </ase-tpl-hint>

<if condition="<getopt-option-full/> is not equal `true` and the backmatter of <task-content/> contains an elided `Data` payload"> <ase-tpl-hint level="verbose"> Use `/ase-task-view --full` to show the elided attachment payloads, too. </ase-tpl-hint> </if>

<if condition="the implementation draft attachment block was reported as *stale* above"> <ase-tpl-hint level="minimal">

Read more
@rse
Ships withase

Agentic Software Engineering (ASE)

7561 skills11 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
75
Star history of rse/ase on GitHub, a chart by star-history.com

Other skills on ase.

hello

hello

Show a nice greeting message with a timestamp. Use this when the user wants to greet or say hello, optionally to a certain…

@rse@rseInstall Skill
ase-arch-analyze

ase-arch-analyze

Review software architecture, including package cohesion and inter-package coupling

@rse@rseInstall Skill
ase-arch-discover

ase-arch-discover

Discover additional, third-party components (libraries/frameworks) for the technology stack to provide needed functionality.

@rse@rseInstall Skill
ase-code-analyze

ase-code-analyze

Analyze the source code for problems in either the logic and semantics and its related control flow, performance and efficiency,…

@rse@rseInstall Skill
ase-code-edit

ase-code-edit

Edit Source Code: Use when the user wants to "edit" the code base in one shot from a query or a bare analyzer issue id like "P1",…

@rse@rseInstall Skill
ase-code-explain

ase-code-explain

Explains code with WHAT, WHY, ANALOGY, DIAGRAM, CRUXES, and GOTCHAS. Use when you want to know how code works or when the user…

@rse@rseInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills10d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc11d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react1d252k
@facebook@facebookInstall Skill

Questions about ase-task-view.

Which coding agents can use ase-task-view?
ase-task-view installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.