Shizuku Task Runner

VerifiedSafe

Use task commands for building, running, linting, and testing the Shizuku application. This skill ensures consistent use of the project's build system (taskfile.dev) instead of direct Go invocations, preventing build errors and enforcing project standards.

Sby Skills Guide Bot
DevelopmentBeginner
1706/2/2026
Claude Code
#build#test#lint#task-runner#go

Recommended for

Our review

Provides a set of task commands to build, test, lint, and run the shizuku application, enforcing the use of a task runner instead of direct Go commands.

Strengths

  • Simplifies build commands
  • Ensures consistency across developers and CI
  • Prevents accidentally using raw Go commands
  • Single entry point for all build operations

Limitations

  • Only applicable to the shizuku project
  • Requires Task to be installed
  • Limited to predefined commands
When to use it

Use this skill whenever you need to build, test, lint, or run the shizuku application.

When not to use it

Do not use this skill for other Go projects or when you need to perform custom Go operations not covered by the task commands.

Security analysis

Safe
Quality score95/100

The skill only instructs running local build tasks (task build, run, lint, test) via the Task build system. No destructive, obfuscated, or network-sensitive commands are present. It does not disable safety measures or exfiltrate data.

No concerns found

Examples

Build the project
Build the shizuku binary using the task runner.
Run all tests
Run all tests in the shizuku project.
Lint code
Lint the Go codebase using the task runner.

name: task description: Build, test, lint, or run the shizuku application. ALWAYS use this skill instead of invoking Go commands or out/shizuku directly.

Shizuku Task Runner

This project uses Task (taskfile.dev) as its build system. You MUST always use task commands instead of invoking Go commands directly.

Critical Rule

NEVER run these commands directly:

  • go build
  • go run
  • go fmt
  • go test

ALWAYS use the corresponding task commands below.

Available Commands

Build

Compiles the shizuku binary to out/shizuku.

task build

What it does: Runs go build -o out/shizuku cmd/main.go

Run

Runs the application with arguments.

task run -- <args>

Examples:

task run -- init
task run -- sync
task run -- sync --verbose
task run -- --help

What it does: Runs go run cmd/main.go with the provided arguments

Lint

Formats all Go code in the project.

task lint

What it does: Runs go fmt ./... across the codebase

Test

Runs all tests or specific tests with optional arguments.

# Run all tests
task test

# Run tests for a specific package
task test -- ./internal/shizukuconfig

# Run a specific test
task test -- -run TestLoadConfig ./internal/shizukuconfig

# Run tests with verbose output
task test -- -v ./...

What it does: Runs go test with the provided arguments (defaults to ./...)

Usage Pattern

When you need to:

  1. Build the binary → Use task build
  2. Run the app → Use task run -- <args>
  3. Format code → Use task lint
  4. Run tests → Use task test (with optional -- <args>)

Why Use Task?

  1. Source tracking - Task watches Go source files and only rebuilds when needed
  2. Consistency - All developers and CI use the same commands
  3. Simplicity - Single entry point for all build operations
  4. Project standard - This is the established pattern for this codebase

Passing Arguments

When passing arguments to task run or task test, always use the -- separator:

task run -- arg1 arg2       # Correct
task run arg1 arg2          # Wrong - task will interpret these as task flags

task test -- -v ./...       # Correct
task test -v ./...          # Wrong

Integration with Development Workflow

  1. After creating or modifying code, run task lint to format
  2. Run task test to ensure tests pass
  3. Run task build to compile the binary
  4. Run task run -- sync to test the built functionality

Automatic Invocation

This skill should be invoked automatically whenever:

  • You're about to build the project
  • You're about to run the application
  • You're about to format code
  • You're about to run tests

Always default to task commands. If you catch yourself about to use go build, go run, go fmt, or go test, STOP and use the appropriate task command instead.

Related skills