Synthèse automatique
Gère le cycle de vie des tâches individuelles du pipeline Nazgul : lister, afficher, ignorer, débloquer, ajouter et réordonner des tâches via des commandes slash.
Points forts
- Couverture complète du cycle de vie d'une tâche (list, info, skip, unblock, add, prioritize) avec une sémantique de statuts explicite (PLANNED, READY, BLOCKED, IN_PROGRESS, DONE, SKIPPED)
- La commande skip propage automatiquement les dépendances : les tâches en aval dont c'était la seule dépendance restante passent de PLANNED à READY
- unblock réinitialise proprement l'état (statut READY, suppression de blocked_reason, retry remis à 0/3)
- La commande list par défaut produit un tableau de synthèse avec compteurs par catégorie de statut
Limites
- Suppose une arborescence de projet précise (nazgul/tasks/TASK-*.md, nazgul/plan.md) et des manifestes au format attendu ; rien n'est fourni pour initialiser cette structure
- Les modifications passent par sed sur des champs texte, ce qui reste fragile si le format des manifestes est personnalisé ou reformaté
- Les tâches créées via add laissent les critères d'acceptation à 'TBD — define acceptance criteria'
Utilisez cette skill lorsque vous pilotez une file de tâches Nazgul existante et devez changer le statut, l'ordre ou les dépendances d'une tâche précise.
Évitez-la si votre projet n'utilise pas la structure nazgul/tasks avec des manifestes TASK-NNN.md, ou si vous cherchez un gestionnaire de tâches générique indépendant de ce pipeline.
Analyse de sécurité
PrudenceThe skill performs local project bookkeeping: listing, editing, and reordering markdown task manifests. All commands are benign (`ls`, `head`, `sed`) and target the `nazgul/` directory with no network calls, no secret exfiltration, no destructive operations, and no obfuscated payloads. The only notable vectors are the auto-executed read-only shell blocks and in-place sed edits, which are legitimate but warrant a caution rating given the file-writing and shell execution surface.
- •Uses Bash to mutate task manifests via sed on the `Status:` field; a loose pattern match could alter unintended lines, though scoped to nazgul/tasks/*.md
- •Two `!`-prefixed shell blocks run automatically at invocation (`ls`, `head -50 nazgul/plan.md`); read-only and low risk but executed without user confirmation
- •Writes/edits files and reads full task/review/delegation contents; operates only within the local `nazgul/` directory tree
Exemples
/nazgul:task — show me all Nazgul tasks with a status summaryShow the full details and review history for TASK-003Skip TASK-005 in the Nazgul pipeline and promote any downstream tasks that are now unblockedname: nazgul:task description: Task lifecycle management — skip, unblock, add, prioritize, info, and list tasks. Use when you need to manage individual tasks in the Nazgul pipeline. context: fork allowed-tools: Read, Write, Edit, Bash, Glob, Grep metadata: author: Jose Mejia version: 2.7.1
Nazgul Task
Examples
/nazgul:task— List all tasks with status summary/nazgul:task info TASK-003— Show full details and review history for a task/nazgul:task skip TASK-005— Skip a task and promote unblocked downstream tasks/nazgul:task unblock TASK-004— Reset a blocked task back to READY/nazgul:task add "Implement rate limiting"— Create a new task/nazgul:task prioritize TASK-006 --before TASK-003— Reorder task execution
Arguments
$ARGUMENTS
Current State
- Task list: !
ls nazgul/tasks/TASK-*.md 2>/dev/null || echo "No tasks" - Plan: !
head -50 nazgul/plan.md 2>/dev/null || echo "No plan"
Instructions
Parse $ARGUMENTS for a subcommand and its parameters. If no subcommand is provided, default to list.
Subcommands
list (default)
Produce a quick status table of all tasks:
Nazgul Tasks
═══════════════════════════════════════════════════════════
ID Status Description
─────────────────────────────────────────────────────────
TASK-001 DONE Set up project scaffolding
TASK-002 IN_PROGRESS Implement auth module
TASK-003 READY Add payment processing
TASK-004 BLOCKED Deploy to staging
TASK-005 PLANNED Write integration tests
─────────────────────────────────────────────────────────
Total: 5 | Done: 1 | Active: 2 | Blocked: 1 | Planned: 1
- Read each
nazgul/tasks/TASK-*.mdfile - Extract: task ID, status, and the first line of the description
- Sort by task ID (numeric order)
- Format as the table above
- Include a summary line at the bottom with counts by status category
skip TASK-NNN
Set the specified task's status to SKIPPED.
- Validate the task file exists:
nazgul/tasks/TASK-NNN.md - If not found, error: "Task TASK-NNN not found."
- Use sed to update the
Status:field toSKIPPEDin the task manifest - Scan all other task manifests for dependencies that reference TASK-NNN
- For any task whose ONLY remaining non-DONE/non-SKIPPED dependency was TASK-NNN, promote its status from
PLANNEDtoREADY - Output: "TASK-NNN set to SKIPPED. [N] downstream task(s) promoted to READY."
unblock TASK-NNN
Reset a BLOCKED task back to READY so it can be picked up by the loop.
- Validate the task file exists:
nazgul/tasks/TASK-NNN.md - If not found, error: "Task TASK-NNN not found."
- If the task is not BLOCKED, warn: "TASK-NNN is not blocked (current status: [status])."
- Update
Status:toREADY - Clear the
blocked_reason:field (set to empty or remove the line) - Reset
retry:count to0/3 - Output: "TASK-NNN unblocked and set to READY. It will be picked up in the next iteration."
add "description"
Create a new task manifest and append it to the plan.
- Scan existing task files to determine the next available TASK-NNN number
- Create
nazgul/tasks/TASK-NNN.mdwith the following template:
# TASK-NNN: [description]
- **Status:** PLANNED
- **Priority:** medium
- **Dependencies:** none
- **Retry:** 0/3
- **Created:** [ISO 8601 timestamp]
- **Source:** manual (via /nazgul:task add)
## Description
[description]
## Acceptance Criteria
- [ ] TBD — define acceptance criteria
## Implementation Notes
_To be filled by implementer._
- If there are no dependencies (check if any were specified in the description), set status to
READYinstead ofPLANNED - Append the task to
nazgul/plan.mdin the task list section - Output: "Created TASK-NNN: [description]. Status: [PLANNED|READY]."
prioritize TASK-NNN --before TASK-MMM
Reorder tasks in the plan so TASK-NNN appears before TASK-MMM.
- Validate both task files exist
- Read
nazgul/plan.md - Find the lines referencing both tasks in the plan's task list
- Remove TASK-NNN's line from its current position
- Insert it immediately before TASK-MMM's line
- Write the updated plan.md
- Output: "TASK-NNN moved before TASK-MMM in the plan."
Note: This changes execution order but does NOT override dependency constraints. If TASK-NNN depends on TASK-MMM, warn the user about the circular dependency.
info TASK-NNN
Show full details for a specific task.
- Validate the task file exists:
nazgul/tasks/TASK-NNN.md - If not found, error: "Task TASK-NNN not found."
- Read and display the full contents of
nazgul/tasks/TASK-NNN.md - Check for review history: look for files matching
nazgul/reviews/TASK-NNN-*.md - If review files exist, display them in chronological order:
Task Details
═══════════════════════════════════════
[full task manifest contents]
Review History
─────────────────────────────────────
[review 1 contents]
[review 2 contents]
...
- Check for delegation briefs:
nazgul/tasks/TASK-NNN-delegation.md - If a delegation brief exists, include it in the output
Error Handling
- If Nazgul is not initialized (no
nazgul/config.json): "Nazgul not initialized. Run/nazgul:initfirst." - If no tasks exist: "No tasks found. Run
/nazgul:startto generate a plan." - If an unknown subcommand is provided: "Unknown subcommand: [X]. Available: list, skip, unblock, add, prioritize, info"
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/nazgul-task-lifecycle-management-mrwakc5g/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/nazgul-task-lifecycle-management-mrwakc5g' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/nazgul-task-lifecycle-management-mrwakc5g/download' --output '.skill-downloads/nazgul-task-lifecycle-management-mrwakc5g/SKILL.md.part' && mv '.skill-downloads/nazgul-task-lifecycle-management-mrwakc5g/SKILL.md.part' '.skill-downloads/nazgul-task-lifecycle-management-mrwakc5g/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.
Outils déclarés par l’auteur (à vérifier dans votre agent) : Read, Write, Edit, Bash, Glob, Grep
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
Le fichier ne fournit pas un en-tête name/description exploitable pour cette procédure native. Le téléchargement reste disponible pour lecture ; utilisez le mode manuel ci-dessous.
Mode 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/nazgul-task-lifecycle-management-mrwakc5g/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.