Synthèse automatique
Guide la création d'une tâche Minsky en rédigeant une spécification structurée avant d'appeler tasks_create.
Points forts
- Impose des critères de réussite mesurables et des tests d'acceptation avant la création de la tâche.
- Prévoit une recherche dans le code et une vérification des dépendances porteuses pour éviter les hypothèses non étayées.
- Gère les options de tâche parente, d'étiquettes et de backend.
- Pose une question de clarification lorsque l'intention est vague.
Limites
- Dépend du backend de tâches Minsky et de l'outil tasks_create.
- Le processus visible est tronqué, donc la génération complète et la validation restent floues.
- Aucune validation automatisée des critères ou des tests n'est décrite.
À utiliser lorsqu'il faut enregistrer une tâche d'ingénierie bien cadrée dans un flux basé sur Minsky.
À éviter pour de simples notes rapides ou avec un autre gestionnaire de tâches où tasks_create n'est pas disponible.
Analyse de sécurité
PrudenceNo destructive shell commands, no network exfiltration, no obfuscated payloads, and no credential handling — the skill only drafts a structured spec and calls a task-tracking MCP tool. However, Step 6 explicitly instructs the agent to override harness stop-behavior and to automatically proceed into planning and implementation after filing a task, which is a meaningful autonomy/consent concern. That, plus reliance on undeclared tools, warrants 'caution' rather than 'safe'.
- •Step 6 instructs the agent to override harness-level stop/report behavior ("the harness-level 'user is describing a problem → report findings and stop' exception is overridden by project rules") and to auto-chain into /plan-task and /implement-task without user confirmation after filing a task, i.e., autonomous write actions driven by inferred intent rather than explicit approval.
- •Skill depends on an undeclared MCP tool (mcp__minsky__tasks_create) and internal Minsky-specific commands (/plan-task, /implement-task, /classify-before-deferring); no allowed-tools were declared, so the execution surface is implicit rather than stated.
- •Contains instructions addressed to the auditing agent's own behavior (halting conditions, 'do not end the turn on the report alone'), which are operational directives embedded in skill data rather than neutral task guidance.
- •Contains instructions to override the agent harness's own policy: explicitly states that the 'user is describing a problem → report findings and stop' exception is 'overridden by project rules', and directs the agent to immediately invoke /plan-task and /implement-task in the same turn rather than stopping after filing. This is autonomy-escalation language embedded in skill content rather than user instruction.
- •Step 6 requires automatically chaining into implementation (/implement-task) without an explicit per-invocation user confirmation, which can drive code changes the user did not authorize in that turn.
- •References an undeclared MCP tool (mcp__minsky__tasks_create) and internal slash commands; no allowed-tools were declared, so tool access scope is unstated.
Exemples
Create a task to add retry logic to session start. Tag it reliability,retries and use the default minsky backend.Draft a Minsky task for migrating auth token storage to the new secrets service; include measurable success criteria and acceptance tests.Create a subtask under task mt#123 for adding integration tests around the task router, tagged testing,task-router.Generated by minsky compile. Do not edit directly.
name: create-task description: >- Create a new task with a properly structured spec. Takes task intent and generates a spec with required sections (Summary, Success Criteria, Scope, Acceptance Tests, Context) before calling tasks_create. user-invocable: true
Create Task
Create a new Minsky task with a properly structured specification. This skill ensures every task has measurable success criteria and acceptance tests.
Arguments
Required: A description of what the task should accomplish. Can be a brief intent ("add retry logic to session start") or a detailed requirement.
Optional flags (included in the description):
--parent <taskId>— set a parent task for subtask relationships--tags <tag1,tag2>— add tags for thematic batching--backend <backend>— specify task backend (default: minsky)
Process
1. Analyze the intent
Read the user's description and identify:
- What needs to be done (the deliverable)
- Why it matters (the motivation — a bug, a missing feature, tech debt)
- Where in the codebase it applies (if known)
If the intent is vague, ask one clarifying question before proceeding.
2. Research the codebase
Before writing the spec, search the codebase to ground the spec in reality:
- Find the files/modules that will be affected
- Check for existing related work (similar tasks, prior attempts)
- Identify dependencies or blockers
This prevents specs that reference non-existent files or miss existing infrastructure.
2a. Verify load-bearing dependency claims (mt#3050)
If the drafted spec asserts that an EXISTING component, tool, or seam supplies a capability the task will consume — a claim shaped like "X is sourced from / supplied by / comes from the Y seam" — that assertion is load-bearing: downstream work gets sequenced on the assumption it's true. Before Step 3 finalizes the spec, each such claim must satisfy ONE of:
- Cited — name the FILE the component lives in AND the specific symbol/shape (function, type, exported member) that actually provides the capability. This is a mechanical presence check on the spec text itself: a file path and a named symbol, not a description of research activity.
UNVERIFIED— if the file was not actually read this turn, mark the claim with the literal wordUNVERIFIED(e.g., "the router default is UNVERIFIED as sourced fromtasks_route") instead of asserting it as settled fact.
Checkable from the spec text alone: either a path + symbol citation is present
for the claim, or the literal marker UNVERIFIED is present. Step 2 ("Research
the codebase") names an activity; this step is the falsifiable gate on that
activity's OUTCOME for dependency claims specifically — advice to "research the
codebase" is not itself verifiable, which is exactly what failed in the
incident below.
Incident this closes (R13, mt#3043, 2026-07-22): a spec asserted the
router-suggested default would be "sourced from the existing tasks_route /
tasks_estimate seam" without reading task-routing-service.ts. The named
component actually exposes task-GRAPH routing (AvailableTask/RouteStep/
TaskRoute — readinessScore, blockedBy, dependencies), not model-complexity
routing. One file read falsified the premise — but only AFTER the task was
filed, sequenced behind other work, and presented to the principal as the next
thing to build.
Proportionality (cf. mt#2309): this is a narrow presence check on
load-bearing dependency claims, not the full /plan-task gate battery
(cite+quote+map+verdict across every claim in a spec). Process weight matches
work weight — a task-creation-time step, not a planning-phase audit.
3. Generate the structured spec
Write a spec with ALL required sections:
## Summary
<1-3 sentences: what this task does and why>
## Success Criteria
- [ ] <Measurable criterion 1>
- [ ] <Measurable criterion 2>
- [ ] ...
## Scope
**In scope:** <what's included>
**Out of scope:** <what's explicitly excluded>
## Acceptance Tests
- <Concrete test 1: action -> expected result>
- <Concrete test 2: action -> expected result>
- ...
## Context
- <Relevant background, related tasks, prior art>
- <Links to code, issues, or documentation>
Quality rules for each section:
- Summary: Lead with the deliverable, not the problem. Include the "why."
- Success Criteria: Each item must be independently verifiable. Use checkboxes. Avoid "should work correctly" — specify what "correctly" means.
- Scope: Name specific things that are OUT of scope to prevent scope creep.
- Acceptance Tests: Each test is an action+assertion pair. Include happy path AND edge cases.
- Context: Link to related tasks, PRs, or code paths. Include grep patterns that should return zero/non-zero results after completion.
4. Create the task
Call mcp__minsky__tasks_create with:
title: concise task title (under 80 chars)spec: the full structured spec from step 3
If --parent, --tags, or --backend were specified, include those parameters.
Gate: before calling tasks_create, confirm every load-bearing dependency
claim in the drafted spec passes Step 2a — cited (file + symbol) or marked
UNVERIFIED. Do not call tasks_create while an uncited, unmarked dependency
claim remains in the spec.
5. Confirm
Report the created task ID and a one-line summary to the user.
6. Chain-walk decision (mt#2689)
Task creation is NOT a terminal action by default. After reporting the ID, classify the just-created task and act on the classification — do not end the turn on the report alone:
- (a) Incident-response task — filed for a problem the user reported in the live
conversation, or one discovered during this conversation's work. Continue the chain
now: invoke
/plan-task <id>(and, on gate-pass,/implement-task <id>) in the same turn. A user report of an active operational problem IS a change request for this principal; the harness-level "user is describing a problem → report findings and stop" exception is overridden by project rules (Take direct action without asking,Do not defer identified, actionable work). Filing the task and giving a workaround is not the deliverable — the fix is. Per Work Completion: "Artifact creation is not progress." - (b) Background/tracking task — filed for later by design (a follow-up the user asked to track, a decomposition child, a deferred idea). Stopping here is correct — but say so explicitly ("filed for later; not implementing now") so the stop is a visible decision, not a silent default.
Halt conditions (the only valid reasons to stop after filing an incident-response task):
- The user explicitly deferred ("just file it", "track it for later", "don't fix it yet").
- The task requires decomposition or is blocked on an external/principal-owned decision (route that decision through an Ask, per the escalation-packaging discipline).
- A parallel-work probe shows another actor holds the work (surface the collision instead).
- The scope is too large for the current turn — say so and propose the split; do not silently stop.
The tell: a closing line shaped like "this will keep recurring until mt#X lands" or
"the fix is tracked in mt#X" without doing the work in the same turn is the failure mode
this step exists to prevent (R3 of the stop-at-handoff family, 2026-07-08 — mt#2674 was
filed with a complete root-cause and spec, then the turn ended; the user had to prompt for
the implementation). /classify-before-deferring fires on the same shape.
Example
User: /create-task add a --dry-run flag to the session delete command
Result:
Title: Add --dry-run flag to session delete command
## Summary
Add a `--dry-run` flag to `minsky session delete` that shows what would be deleted without actually deleting. This prevents accidental session loss.
## Success Criteria
- [ ] `minsky session delete --dry-run <session>` prints session details and "would delete" message without deleting
- [ ] `minsky session delete <session>` (without --dry-run) behavior unchanged
- [ ] Flag registered in CLI help text
- [ ] MCP tool `session_delete` accepts `dryRun` parameter
## Scope
**In scope:** --dry-run flag, CLI + MCP parameter, output formatting
**Out of scope:** Interactive confirmation prompt (separate task), bulk delete
## Acceptance Tests
- Run `minsky session delete --dry-run <existing-session>`: prints details, session still exists after
- Run `minsky session delete --dry-run <nonexistent-session>`: error "session not found"
- Run `minsky session delete <session>`: deletes normally (regression check)
## Context
- Session delete is in `src/adapters/shared/commands/session/lifecycle-commands.ts`
- Related: mt#687 (session lifecycle improvements)
Du fichier au premier essai
Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.
Consulter la source et ses fichiers annexesCe téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.
1. Télécharger le fichier
Télécharger SKILL.mdDepuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/create-task-mryiqih9/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.
Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.
mkdir -p '.skill-downloads/create-task-mryiqih9' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/create-task-mryiqih9/download' --output '.skill-downloads/create-task-mryiqih9/SKILL.md.part' && mv '.skill-downloads/create-task-mryiqih9/SKILL.md.part' '.skill-downloads/create-task-mryiqih9/SKILL.md'2. Vérifier les prérequis
Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.
Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.
Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.
3. Charger la skill
Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.
Claude Code
test -f '.skill-downloads/create-task-mryiqih9/SKILL.md' && test -s '.skill-downloads/create-task-mryiqih9/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/create-task' && cp -R '.skill-downloads/create-task-mryiqih9' '.claude/skills/create-task'OpenSkills
OpenSkills doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.
Installation officielle d’OpenSkillsopenskills install './.skill-downloads/create-task-mryiqih9'openskills read 'create-task-mryiqih9'La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.
Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.
openskills syncMode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.
4. Faire un premier essai
Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :
Lis .skill-downloads/create-task-mryiqih9/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.
Lecteur PDF
Productivite
Lit et extrait le texte de fichiers PDF (rapports, contrats, tableurs). Gère les fichiers locaux, les URL et les pièces jointes WhatsApp. Utilisez-le dès qu'un contenu PDF est nécessaire, même sans demande explicite.
Workflows de messagerie Discord
Productivite
Utilisez l'outil message pour envoyer, modifier et modérer des messages Discord avec des composants interactifs.
Aperçu interactif des verdicts
Productivite
Générer un aperçu HTML interactif des verdicts (garder/supprimer) pour la revue par le mainteneur, puis traiter le JSON de retour.