cc-ship 0.0.7 → 0.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/agents/ship-architect.md +12 -5
- package/agents/ship-brainstormer-prd.md +14 -7
- package/agents/ship-brainstormer.md +256 -249
- package/agents/ship-executor.md +17 -4
- package/agents/ship-shaper.md +159 -146
- package/agents/ship-specifier.md +12 -5
- package/agents/ship-splitter.md +13 -6
- package/agents/ship-verifier.md +15 -2
- package/bin/install.js +29 -3
- package/commands/ship/architect.md +17 -8
- package/commands/ship/brainstorm.md +84 -75
- package/commands/ship/execute.md +16 -13
- package/commands/ship/help.md +111 -105
- package/commands/ship/init.md +73 -0
- package/commands/ship/next.md +35 -14
- package/commands/ship/prd.md +16 -7
- package/commands/ship/shape.md +112 -103
- package/commands/ship/specify.md +16 -7
- package/commands/ship/split.md +20 -11
- package/commands/ship/status.md +136 -129
- package/commands/ship/verify.md +13 -10
- package/hooks/check-agent-completion.js +64 -0
- package/hooks/lib/config.js +34 -0
- package/hooks/lib/find-packages.js +37 -0
- package/hooks/lib/parse-frontmatter.js +135 -0
- package/hooks/validate-frontmatter.js +109 -0
- package/hooks/validate-transition.js +136 -0
- package/hooks-settings.json +26 -0
- package/package.json +33 -31
- package/skills/ship-shaping/SKILL.md +151 -151
- package/skills/ship-writing/SKILL.md +152 -152
|
@@ -1,151 +1,151 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: ship-shaping
|
|
3
|
-
description: "Templates et guidelines pour le shaping de packages en scopes indépendants"
|
|
4
|
-
user-invocable: false
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Skill: Shaping
|
|
8
|
-
|
|
9
|
-
Ce skill fournit les templates et guidelines pour la phase de shaping : planifier UN package en scopes indépendants avec critères de vérification.
|
|
10
|
-
|
|
11
|
-
## Ce que produit le Shaper
|
|
12
|
-
|
|
13
|
-
Le Shaper prend un package du mapping et produit sa planification détaillée :
|
|
14
|
-
|
|
15
|
-
```
|
|
16
|
-
.ship/packages/<nom-package>/
|
|
17
|
-
├── package.md # Vision, scopes, truths, artifacts, key links
|
|
18
|
-
└── verification.md # Critères de vérification par scope
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
**L'Executor viendra ensuite** implémenter scope par scope.
|
|
22
|
-
|
|
23
|
-
## Templates disponibles
|
|
24
|
-
|
|
25
|
-
Les templates sont dans le skill `ship-writing` :
|
|
26
|
-
|
|
27
|
-
| Template | Description | Fichier |
|
|
28
|
-
|----------|-------------|---------|
|
|
29
|
-
| **Package** | Planification du package en scopes | `skills/ship-writing/templates/package.md` |
|
|
30
|
-
| **Verification** | Critères de vérification | `skills/ship-writing/templates/verification.md` |
|
|
31
|
-
|
|
32
|
-
## Principes de shaping v2
|
|
33
|
-
|
|
34
|
-
### 1. UN package à la fois
|
|
35
|
-
|
|
36
|
-
Le Shaper se concentre sur UN seul package. Pour shaper un autre package, on relance l'agent.
|
|
37
|
-
|
|
38
|
-
### 2. Scopes indépendants
|
|
39
|
-
|
|
40
|
-
Chaque scope doit être :
|
|
41
|
-
- **Déployable seul** : apporte de la valeur en soi
|
|
42
|
-
- **Vérifiable seul** : pas besoin du scope suivant pour valider
|
|
43
|
-
- **Ordonné** : le scope N+1 peut dépendre de N, jamais l'inverse
|
|
44
|
-
|
|
45
|
-
### 3. Must-haves explicites
|
|
46
|
-
|
|
47
|
-
Pour chaque scope, on définit :
|
|
48
|
-
- **Truths** : comportements observables ("l'utilisateur peut...")
|
|
49
|
-
- **Artifacts** : fichiers/composants à créer
|
|
50
|
-
- **Key links** : connexions critiques entre éléments
|
|
51
|
-
|
|
52
|
-
### 4. Not included explicite
|
|
53
|
-
|
|
54
|
-
Ce qui est hors périmètre doit être documenté pour éviter le scope creep.
|
|
55
|
-
|
|
56
|
-
### 5. Critères de vérification
|
|
57
|
-
|
|
58
|
-
Chaque scope a des critères de vérification :
|
|
59
|
-
- **auto** : vérifiable par l'agent (tests, lint, build)
|
|
60
|
-
- **manual** : nécessite intervention humaine (UI, UX)
|
|
61
|
-
- **blocking** / **warning** / **info** : niveau de sévérité
|
|
62
|
-
|
|
63
|
-
## Bonnes pratiques
|
|
64
|
-
|
|
65
|
-
### Pour les scopes
|
|
66
|
-
|
|
67
|
-
- Commencer par le scope qui apporte le plus de valeur
|
|
68
|
-
- Limiter à 3-5 truths par scope
|
|
69
|
-
- Nommer les scopes par leur valeur utilisateur, pas par leur aspect technique
|
|
70
|
-
|
|
71
|
-
### Pour les truths
|
|
72
|
-
|
|
73
|
-
- Formuler en "L'utilisateur peut..." ou "Le système..."
|
|
74
|
-
- Vérifiables objectivement
|
|
75
|
-
- Granularité fine (pas de mega-truth)
|
|
76
|
-
|
|
77
|
-
### Pour les artifacts
|
|
78
|
-
|
|
79
|
-
- Lister les fichiers principaux, pas tous les fichiers
|
|
80
|
-
- Inclure le chemin relatif complet
|
|
81
|
-
- Décrire brièvement le rôle
|
|
82
|
-
|
|
83
|
-
### Pour les key links
|
|
84
|
-
|
|
85
|
-
- Se concentrer sur les connexions non-évidentes
|
|
86
|
-
- Documenter le sens de la dépendance
|
|
87
|
-
- Expliquer la nature (API, event, import...)
|
|
88
|
-
|
|
89
|
-
### Pour les critères de vérification
|
|
90
|
-
|
|
91
|
-
- Un critère = une vérification atomique
|
|
92
|
-
- Préférer auto quand c'est possible
|
|
93
|
-
- blocking pour les critères critiques uniquement
|
|
94
|
-
|
|
95
|
-
## Workflow de shaping v2
|
|
96
|
-
|
|
97
|
-
```
|
|
98
|
-
Inputs globaux Package du mapping
|
|
99
|
-
(prd.md, architecture.md, + (identifié dans mapping.md)
|
|
100
|
-
requirements.md)
|
|
101
|
-
│ │
|
|
102
|
-
└───────────────┬───────────────┘
|
|
103
|
-
│
|
|
104
|
-
▼
|
|
105
|
-
┌─────────────────────────────────────────┐
|
|
106
|
-
│ 1. EXTRACTION │
|
|
107
|
-
│ Extraire les exigences pertinentes │
|
|
108
|
-
│ pour CE package │
|
|
109
|
-
└─────────────────────────────────────────┘
|
|
110
|
-
│
|
|
111
|
-
▼
|
|
112
|
-
┌─────────────────────────────────────────┐
|
|
113
|
-
│ 2. DÉCOUPAGE EN SCOPES │
|
|
114
|
-
│ Proposer les scopes │
|
|
115
|
-
│ → Validation utilisateur │
|
|
116
|
-
└─────────────────────────────────────────┘
|
|
117
|
-
│
|
|
118
|
-
▼
|
|
119
|
-
┌─────────────────────────────────────────┐
|
|
120
|
-
│ 3. MUST-HAVES │
|
|
121
|
-
│ Pour chaque scope : │
|
|
122
|
-
│ - Truths (comportements) │
|
|
123
|
-
│ - Artifacts (fichiers) │
|
|
124
|
-
│ - Key links (connexions) │
|
|
125
|
-
└─────────────────────────────────────────┘
|
|
126
|
-
│
|
|
127
|
-
▼
|
|
128
|
-
┌─────────────────────────────────────────┐
|
|
129
|
-
│ 4. VÉRIFICATION │
|
|
130
|
-
│ Définir les critères par scope │
|
|
131
|
-
│ (auto/manual, blocking/warning/info) │
|
|
132
|
-
└─────────────────────────────────────────┘
|
|
133
|
-
│
|
|
134
|
-
▼
|
|
135
|
-
┌─────────────────────────────────────────┐
|
|
136
|
-
│ 5. NOT INCLUDED │
|
|
137
|
-
│ Expliciter ce qui est hors scope │
|
|
138
|
-
└─────────────────────────────────────────┘
|
|
139
|
-
│
|
|
140
|
-
▼
|
|
141
|
-
package.md + verification.md
|
|
142
|
-
```
|
|
143
|
-
|
|
144
|
-
## Utilisation
|
|
145
|
-
|
|
146
|
-
L'agent qui utilise ce skill doit :
|
|
147
|
-
|
|
148
|
-
1. **Lire les templates** pour structurer ses outputs
|
|
149
|
-
2. **Appliquer les principes** pour valider la qualité du shaping
|
|
150
|
-
3. **Suivre le workflow** pour ne rien oublier
|
|
151
|
-
4. **Valider les scopes** avec l'utilisateur avant de finaliser
|
|
1
|
+
---
|
|
2
|
+
name: ship-shaping
|
|
3
|
+
description: "Templates et guidelines pour le shaping de packages en scopes indépendants"
|
|
4
|
+
user-invocable: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Skill: Shaping
|
|
8
|
+
|
|
9
|
+
Ce skill fournit les templates et guidelines pour la phase de shaping : planifier UN package en scopes indépendants avec critères de vérification.
|
|
10
|
+
|
|
11
|
+
## Ce que produit le Shaper
|
|
12
|
+
|
|
13
|
+
Le Shaper prend un package du mapping et produit sa planification détaillée :
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
.ship/packages/<nom-package>/
|
|
17
|
+
├── package.md # Vision, scopes, truths, artifacts, key links
|
|
18
|
+
└── verification.md # Critères de vérification par scope
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
**L'Executor viendra ensuite** implémenter scope par scope.
|
|
22
|
+
|
|
23
|
+
## Templates disponibles
|
|
24
|
+
|
|
25
|
+
Les templates sont dans le skill `ship-writing` :
|
|
26
|
+
|
|
27
|
+
| Template | Description | Fichier |
|
|
28
|
+
|----------|-------------|---------|
|
|
29
|
+
| **Package** | Planification du package en scopes | `skills/ship-writing/templates/package.md` |
|
|
30
|
+
| **Verification** | Critères de vérification | `skills/ship-writing/templates/verification.md` |
|
|
31
|
+
|
|
32
|
+
## Principes de shaping v2
|
|
33
|
+
|
|
34
|
+
### 1. UN package à la fois
|
|
35
|
+
|
|
36
|
+
Le Shaper se concentre sur UN seul package. Pour shaper un autre package, on relance l'agent.
|
|
37
|
+
|
|
38
|
+
### 2. Scopes indépendants
|
|
39
|
+
|
|
40
|
+
Chaque scope doit être :
|
|
41
|
+
- **Déployable seul** : apporte de la valeur en soi
|
|
42
|
+
- **Vérifiable seul** : pas besoin du scope suivant pour valider
|
|
43
|
+
- **Ordonné** : le scope N+1 peut dépendre de N, jamais l'inverse
|
|
44
|
+
|
|
45
|
+
### 3. Must-haves explicites
|
|
46
|
+
|
|
47
|
+
Pour chaque scope, on définit :
|
|
48
|
+
- **Truths** : comportements observables ("l'utilisateur peut...")
|
|
49
|
+
- **Artifacts** : fichiers/composants à créer
|
|
50
|
+
- **Key links** : connexions critiques entre éléments
|
|
51
|
+
|
|
52
|
+
### 4. Not included explicite
|
|
53
|
+
|
|
54
|
+
Ce qui est hors périmètre doit être documenté pour éviter le scope creep.
|
|
55
|
+
|
|
56
|
+
### 5. Critères de vérification
|
|
57
|
+
|
|
58
|
+
Chaque scope a des critères de vérification :
|
|
59
|
+
- **auto** : vérifiable par l'agent (tests, lint, build)
|
|
60
|
+
- **manual** : nécessite intervention humaine (UI, UX)
|
|
61
|
+
- **blocking** / **warning** / **info** : niveau de sévérité
|
|
62
|
+
|
|
63
|
+
## Bonnes pratiques
|
|
64
|
+
|
|
65
|
+
### Pour les scopes
|
|
66
|
+
|
|
67
|
+
- Commencer par le scope qui apporte le plus de valeur
|
|
68
|
+
- Limiter à 3-5 truths par scope
|
|
69
|
+
- Nommer les scopes par leur valeur utilisateur, pas par leur aspect technique
|
|
70
|
+
|
|
71
|
+
### Pour les truths
|
|
72
|
+
|
|
73
|
+
- Formuler en "L'utilisateur peut..." ou "Le système..."
|
|
74
|
+
- Vérifiables objectivement
|
|
75
|
+
- Granularité fine (pas de mega-truth)
|
|
76
|
+
|
|
77
|
+
### Pour les artifacts
|
|
78
|
+
|
|
79
|
+
- Lister les fichiers principaux, pas tous les fichiers
|
|
80
|
+
- Inclure le chemin relatif complet
|
|
81
|
+
- Décrire brièvement le rôle
|
|
82
|
+
|
|
83
|
+
### Pour les key links
|
|
84
|
+
|
|
85
|
+
- Se concentrer sur les connexions non-évidentes
|
|
86
|
+
- Documenter le sens de la dépendance
|
|
87
|
+
- Expliquer la nature (API, event, import...)
|
|
88
|
+
|
|
89
|
+
### Pour les critères de vérification
|
|
90
|
+
|
|
91
|
+
- Un critère = une vérification atomique
|
|
92
|
+
- Préférer auto quand c'est possible
|
|
93
|
+
- blocking pour les critères critiques uniquement
|
|
94
|
+
|
|
95
|
+
## Workflow de shaping v2
|
|
96
|
+
|
|
97
|
+
```
|
|
98
|
+
Inputs globaux Package du mapping
|
|
99
|
+
(prd.md, architecture.md, + (identifié dans mapping.md)
|
|
100
|
+
requirements.md)
|
|
101
|
+
│ │
|
|
102
|
+
└───────────────┬───────────────┘
|
|
103
|
+
│
|
|
104
|
+
▼
|
|
105
|
+
┌─────────────────────────────────────────┐
|
|
106
|
+
│ 1. EXTRACTION │
|
|
107
|
+
│ Extraire les exigences pertinentes │
|
|
108
|
+
│ pour CE package │
|
|
109
|
+
└─────────────────────────────────────────┘
|
|
110
|
+
│
|
|
111
|
+
▼
|
|
112
|
+
┌─────────────────────────────────────────┐
|
|
113
|
+
│ 2. DÉCOUPAGE EN SCOPES │
|
|
114
|
+
│ Proposer les scopes │
|
|
115
|
+
│ → Validation utilisateur │
|
|
116
|
+
└─────────────────────────────────────────┘
|
|
117
|
+
│
|
|
118
|
+
▼
|
|
119
|
+
┌─────────────────────────────────────────┐
|
|
120
|
+
│ 3. MUST-HAVES │
|
|
121
|
+
│ Pour chaque scope : │
|
|
122
|
+
│ - Truths (comportements) │
|
|
123
|
+
│ - Artifacts (fichiers) │
|
|
124
|
+
│ - Key links (connexions) │
|
|
125
|
+
└─────────────────────────────────────────┘
|
|
126
|
+
│
|
|
127
|
+
▼
|
|
128
|
+
┌─────────────────────────────────────────┐
|
|
129
|
+
│ 4. VÉRIFICATION │
|
|
130
|
+
│ Définir les critères par scope │
|
|
131
|
+
│ (auto/manual, blocking/warning/info) │
|
|
132
|
+
└─────────────────────────────────────────┘
|
|
133
|
+
│
|
|
134
|
+
▼
|
|
135
|
+
┌─────────────────────────────────────────┐
|
|
136
|
+
│ 5. NOT INCLUDED │
|
|
137
|
+
│ Expliciter ce qui est hors scope │
|
|
138
|
+
└─────────────────────────────────────────┘
|
|
139
|
+
│
|
|
140
|
+
▼
|
|
141
|
+
package.md + verification.md
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
## Utilisation
|
|
145
|
+
|
|
146
|
+
L'agent qui utilise ce skill doit :
|
|
147
|
+
|
|
148
|
+
1. **Lire les templates** pour structurer ses outputs
|
|
149
|
+
2. **Appliquer les principes** pour valider la qualité du shaping
|
|
150
|
+
3. **Suivre le workflow** pour ne rien oublier
|
|
151
|
+
4. **Valider les scopes** avec l'utilisateur avant de finaliser
|
|
@@ -1,152 +1,152 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: ship-writing
|
|
3
|
-
description: "Guidelines de style pour la rédaction de documents markdown"
|
|
4
|
-
user-invocable: false
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Skill: Writing
|
|
8
|
-
|
|
9
|
-
Ce skill fournit des guidelines de style pour la rédaction de documents markdown cohérents et professionnels.
|
|
10
|
-
|
|
11
|
-
## Principes généraux
|
|
12
|
-
|
|
13
|
-
### Clarté avant tout
|
|
14
|
-
- Une idée par phrase
|
|
15
|
-
- Un sujet par paragraphe
|
|
16
|
-
- Éviter le jargon inutile
|
|
17
|
-
- Préférer les mots simples aux mots complexes
|
|
18
|
-
|
|
19
|
-
### Structure hiérarchique
|
|
20
|
-
- Utiliser les niveaux de titres (`#`, `##`, `###`) de manière logique
|
|
21
|
-
- Ne pas sauter de niveau (pas de `###` après `#`)
|
|
22
|
-
- Maximum 3-4 niveaux de profondeur
|
|
23
|
-
|
|
24
|
-
### Concision
|
|
25
|
-
- Aller droit au but
|
|
26
|
-
- Supprimer les mots inutiles
|
|
27
|
-
- "En raison du fait que" → "Parce que"
|
|
28
|
-
- "Dans le but de" → "Pour"
|
|
29
|
-
|
|
30
|
-
## Formatage markdown
|
|
31
|
-
|
|
32
|
-
### Titres
|
|
33
|
-
```markdown
|
|
34
|
-
# Titre principal (un seul par document)
|
|
35
|
-
|
|
36
|
-
## Section majeure
|
|
37
|
-
|
|
38
|
-
### Sous-section
|
|
39
|
-
|
|
40
|
-
#### Détail (utiliser avec parcimonie)
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
### Listes
|
|
44
|
-
- Utiliser `-` pour les listes non ordonnées
|
|
45
|
-
- Utiliser `1.` pour les listes ordonnées
|
|
46
|
-
- Indenter avec 2 espaces pour les sous-listes
|
|
47
|
-
|
|
48
|
-
```markdown
|
|
49
|
-
- Premier item
|
|
50
|
-
- Sous-item
|
|
51
|
-
- Autre sous-item
|
|
52
|
-
- Deuxième item
|
|
53
|
-
|
|
54
|
-
1. Étape 1
|
|
55
|
-
2. Étape 2
|
|
56
|
-
3. Étape 3
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
### Emphase
|
|
60
|
-
- **Gras** pour les concepts importants
|
|
61
|
-
- *Italique* pour les termes techniques ou citations
|
|
62
|
-
- `Code inline` pour les commandes, noms de fichiers, variables
|
|
63
|
-
|
|
64
|
-
### Code blocks
|
|
65
|
-
Toujours spécifier le langage :
|
|
66
|
-
|
|
67
|
-
```markdown
|
|
68
|
-
```javascript
|
|
69
|
-
const example = "Hello";
|
|
70
|
-
```
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
### Tableaux
|
|
74
|
-
Pour les comparaisons et données structurées :
|
|
75
|
-
|
|
76
|
-
```markdown
|
|
77
|
-
| Colonne 1 | Colonne 2 |
|
|
78
|
-
|-----------|-----------|
|
|
79
|
-
| Valeur 1 | Valeur 2 |
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
### Citations
|
|
83
|
-
Pour les insights ou références importantes :
|
|
84
|
-
|
|
85
|
-
```markdown
|
|
86
|
-
> Citation importante ou insight clé
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
## Style de rédaction
|
|
90
|
-
|
|
91
|
-
### Ton
|
|
92
|
-
- **Professionnel** : pas de familiarité excessive
|
|
93
|
-
- **Direct** : pas de formules alambiquées
|
|
94
|
-
- **Actionnable** : le lecteur sait quoi faire après avoir lu
|
|
95
|
-
|
|
96
|
-
### Voix active vs passive
|
|
97
|
-
- Préférer la voix active : "L'utilisateur clique" vs "Le bouton est cliqué"
|
|
98
|
-
- La voix passive est acceptable pour les descriptions techniques
|
|
99
|
-
|
|
100
|
-
### Formulations à éviter
|
|
101
|
-
| Éviter | Préférer |
|
|
102
|
-
|--------|----------|
|
|
103
|
-
| "Il est important de noter que..." | Aller directement au point |
|
|
104
|
-
| "Comme mentionné précédemment..." | Répéter l'info si nécessaire |
|
|
105
|
-
| "En conclusion..." | Conclure directement |
|
|
106
|
-
| "Etc." | Lister explicitement ou utiliser "..." |
|
|
107
|
-
|
|
108
|
-
## Templates disponibles
|
|
109
|
-
|
|
110
|
-
| Template | Description | Fichier |
|
|
111
|
-
|----------|-------------|---------|
|
|
112
|
-
| **Brief** | L'idée structurée (output Brainstormer) | [brief.md](templates/brief.md) |
|
|
113
|
-
| **PRD** | Product Requirements Document (output Brainstormer PRD) | [prd.md](templates/prd.md) |
|
|
114
|
-
| **Requirements** | Software Requirements Specification (output Specifier) | [requirements.md](templates/requirements.md) |
|
|
115
|
-
| **Architecture** | Architecture technique (output Architect) | [architecture.md](templates/architecture.md) |
|
|
116
|
-
| **Mapping** | Découpage en packages (output Splitter) | [mapping.md](templates/mapping.md) |
|
|
117
|
-
| **Package** | Planification d'un package en scopes (output Shaper) | [package.md](templates/package.md) |
|
|
118
|
-
| **Verification** | Critères de vérification par scope (output Shaper) | [verification.md](templates/verification.md) |
|
|
119
|
-
|
|
120
|
-
## Structure des documents
|
|
121
|
-
|
|
122
|
-
### Documentation technique
|
|
123
|
-
```markdown
|
|
124
|
-
# [Nom du composant/feature]
|
|
125
|
-
|
|
126
|
-
## Description
|
|
127
|
-
[Quoi et pourquoi]
|
|
128
|
-
|
|
129
|
-
## Usage
|
|
130
|
-
[Comment l'utiliser avec exemples]
|
|
131
|
-
|
|
132
|
-
## API / Interface
|
|
133
|
-
[Détails techniques]
|
|
134
|
-
|
|
135
|
-
## Exemples
|
|
136
|
-
[Code exemples]
|
|
137
|
-
|
|
138
|
-
## Notes
|
|
139
|
-
[Cas particuliers, limitations]
|
|
140
|
-
```
|
|
141
|
-
|
|
142
|
-
## Checklist de qualité
|
|
143
|
-
|
|
144
|
-
Avant de finaliser un document :
|
|
145
|
-
|
|
146
|
-
- [ ] Le titre reflète le contenu
|
|
147
|
-
- [ ] La structure est logique et progressive
|
|
148
|
-
- [ ] Pas de fautes d'orthographe/grammaire
|
|
149
|
-
- [ ] Les listes sont cohérentes (même format)
|
|
150
|
-
- [ ] Le code est correctement formaté
|
|
151
|
-
- [ ] Les liens fonctionnent
|
|
152
|
-
- [ ] Le document est actionnable (le lecteur sait quoi faire)
|
|
1
|
+
---
|
|
2
|
+
name: ship-writing
|
|
3
|
+
description: "Guidelines de style pour la rédaction de documents markdown"
|
|
4
|
+
user-invocable: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Skill: Writing
|
|
8
|
+
|
|
9
|
+
Ce skill fournit des guidelines de style pour la rédaction de documents markdown cohérents et professionnels.
|
|
10
|
+
|
|
11
|
+
## Principes généraux
|
|
12
|
+
|
|
13
|
+
### Clarté avant tout
|
|
14
|
+
- Une idée par phrase
|
|
15
|
+
- Un sujet par paragraphe
|
|
16
|
+
- Éviter le jargon inutile
|
|
17
|
+
- Préférer les mots simples aux mots complexes
|
|
18
|
+
|
|
19
|
+
### Structure hiérarchique
|
|
20
|
+
- Utiliser les niveaux de titres (`#`, `##`, `###`) de manière logique
|
|
21
|
+
- Ne pas sauter de niveau (pas de `###` après `#`)
|
|
22
|
+
- Maximum 3-4 niveaux de profondeur
|
|
23
|
+
|
|
24
|
+
### Concision
|
|
25
|
+
- Aller droit au but
|
|
26
|
+
- Supprimer les mots inutiles
|
|
27
|
+
- "En raison du fait que" → "Parce que"
|
|
28
|
+
- "Dans le but de" → "Pour"
|
|
29
|
+
|
|
30
|
+
## Formatage markdown
|
|
31
|
+
|
|
32
|
+
### Titres
|
|
33
|
+
```markdown
|
|
34
|
+
# Titre principal (un seul par document)
|
|
35
|
+
|
|
36
|
+
## Section majeure
|
|
37
|
+
|
|
38
|
+
### Sous-section
|
|
39
|
+
|
|
40
|
+
#### Détail (utiliser avec parcimonie)
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### Listes
|
|
44
|
+
- Utiliser `-` pour les listes non ordonnées
|
|
45
|
+
- Utiliser `1.` pour les listes ordonnées
|
|
46
|
+
- Indenter avec 2 espaces pour les sous-listes
|
|
47
|
+
|
|
48
|
+
```markdown
|
|
49
|
+
- Premier item
|
|
50
|
+
- Sous-item
|
|
51
|
+
- Autre sous-item
|
|
52
|
+
- Deuxième item
|
|
53
|
+
|
|
54
|
+
1. Étape 1
|
|
55
|
+
2. Étape 2
|
|
56
|
+
3. Étape 3
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### Emphase
|
|
60
|
+
- **Gras** pour les concepts importants
|
|
61
|
+
- *Italique* pour les termes techniques ou citations
|
|
62
|
+
- `Code inline` pour les commandes, noms de fichiers, variables
|
|
63
|
+
|
|
64
|
+
### Code blocks
|
|
65
|
+
Toujours spécifier le langage :
|
|
66
|
+
|
|
67
|
+
```markdown
|
|
68
|
+
```javascript
|
|
69
|
+
const example = "Hello";
|
|
70
|
+
```
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### Tableaux
|
|
74
|
+
Pour les comparaisons et données structurées :
|
|
75
|
+
|
|
76
|
+
```markdown
|
|
77
|
+
| Colonne 1 | Colonne 2 |
|
|
78
|
+
|-----------|-----------|
|
|
79
|
+
| Valeur 1 | Valeur 2 |
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### Citations
|
|
83
|
+
Pour les insights ou références importantes :
|
|
84
|
+
|
|
85
|
+
```markdown
|
|
86
|
+
> Citation importante ou insight clé
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## Style de rédaction
|
|
90
|
+
|
|
91
|
+
### Ton
|
|
92
|
+
- **Professionnel** : pas de familiarité excessive
|
|
93
|
+
- **Direct** : pas de formules alambiquées
|
|
94
|
+
- **Actionnable** : le lecteur sait quoi faire après avoir lu
|
|
95
|
+
|
|
96
|
+
### Voix active vs passive
|
|
97
|
+
- Préférer la voix active : "L'utilisateur clique" vs "Le bouton est cliqué"
|
|
98
|
+
- La voix passive est acceptable pour les descriptions techniques
|
|
99
|
+
|
|
100
|
+
### Formulations à éviter
|
|
101
|
+
| Éviter | Préférer |
|
|
102
|
+
|--------|----------|
|
|
103
|
+
| "Il est important de noter que..." | Aller directement au point |
|
|
104
|
+
| "Comme mentionné précédemment..." | Répéter l'info si nécessaire |
|
|
105
|
+
| "En conclusion..." | Conclure directement |
|
|
106
|
+
| "Etc." | Lister explicitement ou utiliser "..." |
|
|
107
|
+
|
|
108
|
+
## Templates disponibles
|
|
109
|
+
|
|
110
|
+
| Template | Description | Fichier |
|
|
111
|
+
|----------|-------------|---------|
|
|
112
|
+
| **Brief** | L'idée structurée (output Brainstormer) | [brief.md](templates/brief.md) |
|
|
113
|
+
| **PRD** | Product Requirements Document (output Brainstormer PRD) | [prd.md](templates/prd.md) |
|
|
114
|
+
| **Requirements** | Software Requirements Specification (output Specifier) | [requirements.md](templates/requirements.md) |
|
|
115
|
+
| **Architecture** | Architecture technique (output Architect) | [architecture.md](templates/architecture.md) |
|
|
116
|
+
| **Mapping** | Découpage en packages (output Splitter) | [mapping.md](templates/mapping.md) |
|
|
117
|
+
| **Package** | Planification d'un package en scopes (output Shaper) | [package.md](templates/package.md) |
|
|
118
|
+
| **Verification** | Critères de vérification par scope (output Shaper) | [verification.md](templates/verification.md) |
|
|
119
|
+
|
|
120
|
+
## Structure des documents
|
|
121
|
+
|
|
122
|
+
### Documentation technique
|
|
123
|
+
```markdown
|
|
124
|
+
# [Nom du composant/feature]
|
|
125
|
+
|
|
126
|
+
## Description
|
|
127
|
+
[Quoi et pourquoi]
|
|
128
|
+
|
|
129
|
+
## Usage
|
|
130
|
+
[Comment l'utiliser avec exemples]
|
|
131
|
+
|
|
132
|
+
## API / Interface
|
|
133
|
+
[Détails techniques]
|
|
134
|
+
|
|
135
|
+
## Exemples
|
|
136
|
+
[Code exemples]
|
|
137
|
+
|
|
138
|
+
## Notes
|
|
139
|
+
[Cas particuliers, limitations]
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
## Checklist de qualité
|
|
143
|
+
|
|
144
|
+
Avant de finaliser un document :
|
|
145
|
+
|
|
146
|
+
- [ ] Le titre reflète le contenu
|
|
147
|
+
- [ ] La structure est logique et progressive
|
|
148
|
+
- [ ] Pas de fautes d'orthographe/grammaire
|
|
149
|
+
- [ ] Les listes sont cohérentes (même format)
|
|
150
|
+
- [ ] Le code est correctement formaté
|
|
151
|
+
- [ ] Les liens fonctionnent
|
|
152
|
+
- [ ] Le document est actionnable (le lecteur sait quoi faire)
|