diff --git a/cmd/cue/cmd/custom.go b/cmd/cue/cmd/custom.go
index 4835153..6f592c9 100644
--- a/cmd/cue/cmd/custom.go
+++ b/cmd/cue/cmd/custom.go
@@ -224,28 +224,9 @@
 			if dep, ok := cr.referredTask(after); ok {
 				t.dep[dep] = true
 			}
-			iter, err := after.List()
-			if err == nil {
-				for iter.Next() {
-					if dep, ok := cr.referredTask(iter.Value()); ok {
-						t.dep[dep] = true
-					}
-				}
-			}
-		}
-
-		// Inject reverse dependency in `$before` field
-		before := task.Lookup("$before")
-		if before.Err() == nil {
-			if dep, ok := cr.referredTask(before); ok {
-				dep.dep[t] = true
-			}
-			iter, err := before.List()
-			if err == nil {
-				for iter.Next() {
-					if dep, ok := cr.referredTask(iter.Value()); ok {
-						dep.dep[t] = true
-					}
+			for iter, _ := after.List(); iter.Next(); {
+				if dep, ok := cr.referredTask(iter.Value()); ok {
+					t.dep[dep] = true
 				}
 			}
 		}
@@ -254,7 +235,7 @@
 			if v == task {
 				return true
 			}
-			if (after.Err() == nil && v.Equals(after)) || (before.Err() == nil && v.Equals(before)) {
+			if after.Err() == nil && v.Equals(after) {
 				return false
 			}
 			for _, r := range appendReferences(nil, cr.root, v) {
diff --git a/cmd/cue/cmd/testdata/script/cmd_before.txt b/cmd/cue/cmd/testdata/script/cmd_before.txt
deleted file mode 100644
index 813bb77..0000000
--- a/cmd/cue/cmd/testdata/script/cmd_before.txt
+++ /dev/null
@@ -1,43 +0,0 @@
-cue cmd before
-cmp stdout expect-stdout
-
--- expect-stdout --
-true
-
--- before_tool.cue --
-package home
-
-import (
-	"tool/exec"
-	"tool/cli"
-	"strings"
-)
-
-command: before: {
-	t1: exec.Run & {
-		cmd: ["sh", "-c", "sleep 2; date +%s"]
-		stdout: string
-		$before: [t2, t3]
-	}
-	t2: exec.Run & {
-		cmd: ["sh", "-c", "date +%s"]
-		stdout: string
-		$before: t4
-	}
-	t3: exec.Run & {
-		cmd: ["sh", "-c", "date +%s"]
-		stdout: string
-	}
-	t4: exec.Run & {
-		cmd: ["sh", "-c", "a=\(strings.TrimSpace(t1.stdout));b=\(strings.TrimSpace(t2.stdout));if [ $a -le $b ]; then echo 'true'; fi"]
-		stdout: string
-	}
-	t5: cli.Print & {
-			text: t4.stdout
-	}
-}
-
--- task.cue --
-package home
-
--- cue.mod --
diff --git a/pkg/tool/doc.go b/pkg/tool/doc.go
index a220c93..51e62b2 100644
--- a/pkg/tool/doc.go
+++ b/pkg/tool/doc.go
@@ -31,14 +31,20 @@
 //     //    // long description covering the remainder of the doc comment.
 //     //
 //     Command: {
-//     	$type: "tool.Command"
-//
-//     	$name: !=""
+//     	// Tasks specifies the things to run to complete a command. Tasks are
+//     	// typically underspecified and completed by the particular internal
+//     	// handler that is running them. Tasks can be a single task, or a full
+//     	// hierarchy of tasks.
+//     	//
+//     	// Tasks that depend on the output of other tasks are run after such tasks.
+//     	// Use `$after` if a task needs to run after another task but does not
+//     	// otherwise depend on its output.
+//     	Tasks
 //
 //     	//
 //     	// Example:
 //     	//     mycmd [-n] names
-//     	$usage?: =~"^\($name) "
+//     	$usage?: string
 //
 //     	// short is short description of what the command does.
 //     	$short?: string
@@ -48,19 +54,24 @@
 //     	$long?: string
 //
 //     	// TODO: child commands.
-//
-//     	// tasks specifies the list of things to do to run command. Tasks are
-//     	// typically underspecified and completed by the particular internal
-//     	// handler that is running them. Task de
-//     	tasks: [name=string]: Task
 //     }
 //
+//     // Tasks defines a hierarchy of tasks. A command completes if all tasks have
+//     // run to completion.
+//     Tasks: Task | {
+//     	[name=Name]: Tasks
+//     }
+//
+//     // Name defines a valid task or command sname.
+//     Name :: =~#"^\PL(\PL|\PN|-(\PL|\PN))*$"#
+//
 //     // A Task defines a step in the execution of a command.
 //     Task: {
+//     	$type: "tool.Task" // legacy field 'kind' still supported for now.
+//
 //     	// kind indicates the operation to run. It must be of the form
 //     	// packagePath.Operation.
-//     	$id:   =~#"\."#
-//     	$type: "tool.Task" // legacy field 'kind' still supported for now.
+//     	$id: =~#"\."#
 //     }
 //
 package tool
diff --git a/pkg/tool/generate.go b/pkg/tool/generate.go
index ba77048..0e16bb7 100644
--- a/pkg/tool/generate.go
+++ b/pkg/tool/generate.go
@@ -15,3 +15,4 @@
 package tool
 
 //go:generate go run gen.go
+//go:generate go fmt
diff --git a/pkg/tool/tool.cue b/pkg/tool/tool.cue
index 298b233..87a1318 100644
--- a/pkg/tool/tool.cue
+++ b/pkg/tool/tool.cue
@@ -26,14 +26,20 @@
 //    // long description covering the remainder of the doc comment.
 //
 Command: {
-	$type: "tool.Command"
-
-	$name: !=""
+	// Tasks specifies the things to run to complete a command. Tasks are
+	// typically underspecified and completed by the particular internal
+	// handler that is running them. Tasks can be a single task, or a full
+	// hierarchy of tasks.
+	//
+	// Tasks that depend on the output of other tasks are run after such tasks.
+	// Use `$after` if a task needs to run after another task but does not
+	// otherwise depend on its output.
+	Tasks
 
 	//
 	// Example:
 	//     mycmd [-n] names
-	$usage?: =~"^\($name) "
+	$usage?: string
 
 	// short is short description of what the command does.
 	$short?: string
@@ -41,19 +47,34 @@
 	// long is a longer description that spans multiple lines and
 	// likely contain examples of usage of the command.
 	$long?: string
-
-	// TODO: child commands.
-
-	// tasks specifies the list of things to do to run command. Tasks are
-	// typically underspecified and completed by the particular internal
-	// handler that is running them. Task de
-	tasks: [name=string]: Task
 }
 
+// TODO:
+// - child commands?
+
+// Tasks defines a hierarchy of tasks. A command completes if all tasks have
+// run to completion.
+Tasks: Task | {
+	[name=Name]: Tasks
+}
+
+// Name defines a valid task or command sname.
+Name :: =~#"^\PL([-](\PL|\PN))*$"#
+
 // A Task defines a step in the execution of a command.
 Task: {
+	$type: "tool.Task" // legacy field 'kind' still supported for now.
+
 	// kind indicates the operation to run. It must be of the form
 	// packagePath.Operation.
-	$id:   =~#"\."#
-	$type: "tool.Task" // legacy field 'kind' still supported for now.
+	$id: =~#"\."#
+
+	// $after can be used to specify a task is run after another one, when
+	// it does not otherwise refer to an output of that task.
+	$after?: Task | [...Task]
 }
+
+// TODO: consider these options:
+//   $success: bool
+//   $runif: a.b.$success or $guard: a.b.$success
+// With this `$after: a.b` would just be a shorthand for `$guard: a.b.$success`.
