Skip to content
Back to skills

Plan

ASecurity

Plan a task — complexity + stack detection.

  • 18 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 6, 2026
ai-agentspythongobashdatabasefrontendbackenddevopssecurityperformance

Works with

  • cli
  • mcp

Security analysis

A100/100

Pro scans all 6 files and shows the line behind each finding

Scanned October 6, 2026

npx -y skills add Kibertum/tausik-core --skill plan --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Plan?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Plan
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/kibertum-plan/badge)](https://www.skillsdirectory.com/skills/kibertum-plan)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: plan
description: "Plan a task — complexity + stack detection."
effort: medium
context: inline
---

# /plan — Task Planning (SENAR-aligned)

Plans a new feature with complexity scoring.

> **Model hint (phase=planning):** plan quality compounds across the whole task,
> so run planning on a strong model — **Fable 5** (or **Opus 4.8**). Do NOT
> downgrade the planner for a "simple" task; complexity does not lower the
> planning tier. Rationale: `docs/ru/research/model-routing-matrix.md`.

## Algorithm

### 0. Interview phase (User Specification)

Before decomposing, gather requirements. This prevents missed requirements and scope drift.

**For complex or vague requests:** invoke the `/interview` skill — it asks **at most 3** clarifying questions (prompt-master "max 3" principle) and stops as soon as answers would no longer change the plan. Prefer it over asking ad-hoc questions.

**Fallback if /interview is not applicable:** ask the user up to 3 clarifying questions covering:
   - Expected behavior: "What should happen when...?"
   - Edge cases: "What if the user does...?"
   - Non-functional requirements: "Any performance/security constraints?"

Then summarize answers into a **user specification** (3-5 bullet points) and confirm: "Is this spec correct? Anything to add?"

**Skip this phase** if the user passes `--skip-interview` or provides a detailed spec upfront (more than 3 sentences describing the feature, or an obviously simple ask).

Save the user specification via `tausik_task_log` after task creation.

### 1. Analyze scope

1. Which domains are affected? (frontend, backend, database, devops)
2. How many files/components?
3. Risk level?
4. **Is the domain well-known?** If unfamiliar — suggest `.tausik/tausik explore start "..."` first (SENAR Section 5.1).

**Complexity scoring:**
- 1-2 signals: **simple** (1 task)
- 3-5 signals: **medium** (2-3 tasks)
- 6+ signals: **complex** (decompose)

### 2. Check existing knowledge

Use MCP tools:
- `tausik_memory_search` — search for relevant patterns and conventions
- `tausik_memory_list` with `type=dead_end` — don't repeat failed approaches

### 3. Detect stack and load defaults

Determine stack from project structure (package.json, requirements.txt, go.mod). Check `harness/stacks/` for valid names.

**Load defaults from config**: Read `.tausik/config.json` — use `bootstrap.stacks[0]` as default stack. Use `developer` as default role unless task requires otherwise.

### 4. Create task

Epic/story are **optional**. For standalone tasks, use `task quick` or `task add` without `--group`.

**MCP-first (preferred):**
- Auto-slug: `tausik_task_quick` with `title="Task title"`, `goal="What success looks like"`, `role="developer"`, `stack="python"`
- Explicit slug: `tausik_task_add` with `slug="my-task"`, `title="Task title"`, `goal="..."`, `role="developer"`, `stack="python"`, `complexity="medium"`

**CLI fallback:**
```bash
# Quick (auto-slug):
.tausik/tausik task quick "Task title" --role developer --stack python --goal "What success looks like"

# Full (with explicit slug):
.tausik/tausik task add "Task title" --slug my-task --complexity medium --role developer --stack python --goal "What success looks like"

# With epic/story grouping (optional):
.tausik/tausik task add "Task title" --group my-story --slug my-task --complexity medium --role developer --stack python --goal "What success looks like"
```

If the work is part of a larger initiative, create or reuse an epic/story:
```bash
.tausik/tausik epic add <slug> "Epic title"
.tausik/tausik story add <epic-slug> <story-slug> "Story title"
```

### 4b. Estimate tier (agent-native sizing)

After the task exists, set a tool-call budget — **NOT human hours**. Agents are
measured in tool calls, not wall-clock time. Pick `--call-budget` (preferred,
auto-derives `--tier`) or `--tier` directly.

| Tier | Budget | Real-session example |
|---|---|---|
| `trivial` | ≤10 | one-line config tweak, doc fix, single-arg flag |
| `light` | ≤25 | schema migration + helpers + tests (`agent-units-schema`) |
| `moderate` | ≤60 | recording wiring + hook + service edit + tests |
| `substantial` | ≤150 | CLI + service + MCP + mirror + tests across many files |
| `deep` | ≤400 | full vertical (new stack support, end-to-end feature) |

**MCP-first:** `tausik_task_update` with `slug="{slug}"`, `call_budget=25`.

**CLI fallback:**
```bash
.tausik/tausik task update <slug> --call-budget 25
# or, if you prefer the tier directly:
.tausik/tausik task update <slug> --tier light
```

Skipping estimation is allowed but flag it explicitly — the task closes
without `call_budget`/`call_actual` data, hurting future tier calibration.

### 5. Set acceptance criteria (SENAR QG-0 MANDATORY)

**CRITICAL: Without acceptance criteria, `task start` will be blocked by QG-0 Context Gate.**

Write clear, verifiable acceptance criteria. Each criterion must be independently testable.

**MCP-first:** `tausik_task_update` with `slug="{slug}"`, `acceptance_criteria="1. POST /login returns JWT on valid creds. 2. Returns 401 on invalid password. 3. Returns 422 on missing email."`

**CLI fallback:**
```bash
.tausik/tausik task update <slug> --acceptance-criteria "1. POST /login returns JWT on valid creds. 2. Returns 401 on invalid password. 3. Returns 422 on missing email."
```

**AC quality rules (SENAR):**
- Each criterion independently testable
- At least one negative scenario (error case, boundary)
- No vague criteria ("works correctly", "handles edge cases")

### 6. Set plan steps

**MCP-first:** `tausik_task_plan` with `slug="{slug}"`, `steps=["Step 1", "Step 2", "Step 3"]`

**CLI fallback:**
```bash
.tausik/tausik task plan <slug> "Step 1" "Step 2" "Step 3"
```

### 7. Present plan

Show: task slug, title, complexity, role, **goal**, plan steps, **acceptance criteria**.
Verify: "Goal and AC are set — QG-0 will pass."
Ask: "Proceed with `/task <slug>`?"

**Suggest next:** "Run `/task <slug>` to start working."

## Gotchas

- **Roles are free-text** — use any role name, not limited to a fixed set.
- **Slug format** must be `^[a-z0-9][a-z0-9-]*$`, max 64 chars.
- **Epic/story are optional** — tasks can exist without grouping.
- **QG-0 blocks without goal + AC** — always set both during planning.
- **Defect tasks** — use `--defect-of <parent-slug>` when creating a fix for a bug found in an existing task.

Files in this skill

  • SKILL.md6.3 KB
  • variants/model/gpt-4.md934 B
  • variants/model/gpt-5-5.md909 B
  • variants/model/gpt-5.md883 B
  • variants/model/haiku.md2.6 KB
  • variants/model/sonnet.md4.1 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.