@chrono-meta/fh-gate 1.1.0 → 1.2.1
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/.claude/agents/challenger.md +169 -0
- package/AGENTS.md +160 -0
- package/CATALOG.md +256 -0
- package/CHEATSHEET.md +367 -0
- package/CLAUDE.md +331 -0
- package/CONTRIBUTING.md +198 -0
- package/LICENSE +21 -0
- package/README.md +61 -8
- package/bin/fh-goal.js +9 -0
- package/bin/fh-run.js +9 -0
- package/docs/codex-compat.md +123 -0
- package/docs/pillars.svg +70 -0
- package/knowledge/shared/harness-core/fh_integration_contract.md +45 -28
- package/package.json +30 -6
- package/plugins/fh-commons/README.md +37 -0
- package/plugins/fh-commons/agents/quench-challenger.md +373 -0
- package/plugins/fh-commons/skills/convergence-loop/SKILL.md +155 -0
- package/plugins/fh-commons/skills/deliberation/SKILL.md +288 -0
- package/plugins/fh-commons/skills/mcp-circuit-breaker/SKILL.md +196 -0
- package/plugins/fh-commons/skills/token-budget-gate/SKILL.md +175 -0
- package/plugins/fh-meta/agents/fact-checker.md +121 -0
- package/plugins/fh-meta/agents/hub-persona-auditor.md +109 -0
- package/plugins/fh-meta/agents/persona-innovator.md +195 -0
- package/plugins/fh-meta/skills/agent-composer/SKILL.md +461 -0
- package/plugins/fh-meta/skills/agent-composer/SKILL_detail.md +464 -0
- package/plugins/fh-meta/skills/apex-review/SKILL.md +185 -0
- package/plugins/fh-meta/skills/asset-placement-gate/SKILL.md +135 -0
- package/plugins/fh-meta/skills/contention-layer/SKILL.md +127 -0
- package/plugins/fh-meta/skills/context-bridge-dispatch/SKILL.md +30 -0
- package/plugins/fh-meta/skills/context-bridge-dispatch/SKILL_detail.md +144 -0
- package/plugins/fh-meta/skills/context-doctor/SKILL.md +341 -0
- package/plugins/fh-meta/skills/cross-ecosystem-synergy-detection/SKILL.md +202 -0
- package/plugins/fh-meta/skills/deep-clarify/SKILL.md +144 -0
- package/plugins/fh-meta/skills/edit-manifest/SKILL.md +210 -0
- package/plugins/fh-meta/skills/field-harvest/SKILL.md +384 -0
- package/plugins/fh-meta/skills/frontier-digest/SKILL.md +272 -0
- package/plugins/fh-meta/skills/goal-quench/SKILL.md +509 -0
- package/plugins/fh-meta/skills/harness-doctor/SKILL.md +277 -0
- package/plugins/fh-meta/skills/harness-doctor/SKILL_detail.md +484 -0
- package/plugins/fh-meta/skills/harvest-loop/SKILL.md +231 -0
- package/plugins/fh-meta/skills/harvest-loop/SKILL_detail.md +201 -0
- package/plugins/fh-meta/skills/hub-cc-pr-reviewer/SKILL.md +129 -0
- package/plugins/fh-meta/skills/hub-cc-pr-reviewer/SKILL_detail.md +158 -0
- package/plugins/fh-meta/skills/install-doctor/SKILL.md +207 -0
- package/plugins/fh-meta/skills/install-wizard/SKILL.md +613 -0
- package/plugins/fh-meta/skills/marketplace-gate/SKILL.md +193 -0
- package/plugins/fh-meta/skills/memory-hygiene/SKILL.md +143 -0
- package/plugins/fh-meta/skills/meta-prompt-builder/SKILL.md +167 -0
- package/plugins/fh-meta/skills/meta-prompt-builder/SKILL_detail.md +37 -0
- package/plugins/fh-meta/skills/pipeline-conductor/SKILL.md +430 -0
- package/plugins/fh-meta/skills/plugin-recommender/SKILL.md +221 -0
- package/plugins/fh-meta/skills/plugin-recommender/SKILL_detail.md +220 -0
- package/plugins/fh-meta/skills/prompt-regression/SKILL.md +178 -0
- package/plugins/fh-meta/skills/public-surface-audit/SKILL.md +224 -0
- package/plugins/fh-meta/skills/return-path-gate/SKILL.md +257 -0
- package/plugins/fh-meta/skills/self-marketing-lint/SKILL.md +129 -0
- package/plugins/fh-meta/skills/sim-conductor/SKILL.md +364 -0
- package/plugins/fh-meta/skills/sim-conductor/SKILL_detail.md +337 -0
- package/plugins/fh-meta/skills/skill-splitter/SKILL.md +126 -0
- package/plugins/fh-meta/skills/skill-splitter/SKILL_detail.md +185 -0
- package/plugins/fh-meta/skills/source-grounding-audit/SKILL.md +230 -0
- package/plugins/fh-meta/skills/source-grounding-audit/SKILL_detail.md +182 -0
- package/plugins/fh-meta/skills/steel-quench/SKILL.md +226 -0
- package/plugins/fh-meta/skills/steel-quench/SKILL_detail.md +453 -0
- package/plugins/fh-meta/skills/verify-bidirectional/SKILL.md +238 -0
- package/scripts/fh-gate.sh +175 -40
- package/scripts/fh-goal.sh +182 -0
- package/scripts/fh-run.sh +269 -0
|
@@ -0,0 +1,430 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: pipeline-conductor
|
|
3
|
+
description: Chains the four core FH verification pipelines (harvest-loop → steel-quench → source-grounding-audit → sim-conductor) into a single gated sweep. Accepts a scope (single skill, specific asset, full harness) and aggregates results into one structured report. Supports --quick mode (steps 2+3 only) and --full mode (all four steps). Triggered by "run the full pipeline", "chain all verifications", "end-to-end sweep", "pipeline-conductor", or "verify everything".
|
|
4
|
+
user-invocable: true
|
|
5
|
+
allowed-tools: ["Read", "Write", "Bash", "Grep", "Glob", "Agent"]
|
|
6
|
+
model: sonnet
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# pipeline-conductor — Chained Verification Sweep
|
|
10
|
+
|
|
11
|
+
Chains the four standalone FH verification pipelines into a gated sequence. Each step receives the previous step's verdict before proceeding. Aggregates all findings into a single structured report at the end.
|
|
12
|
+
|
|
13
|
+
The gap this closes: harvest-loop, steel-quench, source-grounding-audit, and sim-conductor are each invocable independently but have no automatic hand-off between them. Running them sequentially by hand loses inter-step signal — a FAIL in step 2 should block step 3 rather than silently continuing. pipeline-conductor enforces that ordering.
|
|
14
|
+
|
|
15
|
+
## Triggers
|
|
16
|
+
|
|
17
|
+
- `/pipeline-conductor`
|
|
18
|
+
- "Run the full verification pipeline", "chain all four verifications"
|
|
19
|
+
- "End-to-end sweep before I push", "verify everything at once"
|
|
20
|
+
- "I want to run all the checks in order", "do a full harness review"
|
|
21
|
+
- "Run quench then grounding then sim", "chain the pipelines"
|
|
22
|
+
- "Full pipeline on this skill", "sweep this asset before release"
|
|
23
|
+
|
|
24
|
+
> **Disambiguation**: "run the pipeline" alone may trigger harvest-loop (which uses identical phrasing). Prefer "run pipeline-conductor" or "chain all verifications" for unambiguous activation.
|
|
25
|
+
|
|
26
|
+
## Modes
|
|
27
|
+
|
|
28
|
+
| Flag | Steps run | When to use |
|
|
29
|
+
|---|---|---|
|
|
30
|
+
| `--full` (default) | Steps 1 → 2 → 3 → 4 | Complete verification sweep |
|
|
31
|
+
| `--quick` | Steps 2 → 3 only | Fast adversarial + phantom check; skip knowledge loop and simulation |
|
|
32
|
+
| `--no-sim` | Steps 1 → 2 → 3 | Skip sim-conductor (e.g., no sim environment available) |
|
|
33
|
+
|
|
34
|
+
**Mode qualifier on verdicts**: `CLEAN (--quick)` and `CLEAN (--no-sim)` do not qualify as pre-release gates. Only `CLEAN (--full)` is sufficient for external publish or PR approval.
|
|
35
|
+
|
|
36
|
+
## Verdict Format
|
|
37
|
+
|
|
38
|
+
Every step emits exactly one verdict line before handing control to the next step:
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
Verdict: PASS | CONDITIONAL_PASS | FAIL | ESCALATE
|
|
42
|
+
Basis: [one-line summary of deciding factor]
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
| Verdict | Meaning | Chain behavior |
|
|
46
|
+
|---|---|---|
|
|
47
|
+
| `PASS` | Step complete, no blocking issues | Proceed to next step |
|
|
48
|
+
| `CONDITIONAL_PASS` | Issues found but none are blockers; must be resolved before final report | Capture items, proceed to next step; flag in final report |
|
|
49
|
+
| `FAIL` | Blocking issue found | Halt chain, surface to user immediately |
|
|
50
|
+
| `ESCALATE` | Ambiguous state requiring human judgment | Pause chain, present three options to user |
|
|
51
|
+
|
|
52
|
+
`CONDITIONAL_PASS` means proceed, not skip. Items captured under `CONDITIONAL_PASS` accumulate into the final report's Pending section and must be addressed before the sweep is considered clean.
|
|
53
|
+
|
|
54
|
+
`FAIL` halts the chain. The user decides whether to fix-and-resume or abandon the sweep.
|
|
55
|
+
|
|
56
|
+
`ESCALATE` pauses the chain. The user chooses one of three paths — the chain resumes or closes based on their decision.
|
|
57
|
+
|
|
58
|
+
### ESCALATE Handling
|
|
59
|
+
|
|
60
|
+
When any step returns `ESCALATE`, present:
|
|
61
|
+
|
|
62
|
+
> "Step N returned ESCALATE: [basis]. Choose:
|
|
63
|
+
> (a) Make a decision — state your judgment and I will incorporate it and continue the chain.
|
|
64
|
+
> (b) Accept and continue — mark this as PENDING in the report and proceed to the next step.
|
|
65
|
+
> (c) Abort — close the sweep as BLOCKED."
|
|
66
|
+
|
|
67
|
+
- Option (a): User provides judgment → incorporate as resolution note → re-evaluate step gate with decision context → continue chain.
|
|
68
|
+
- Option (b): Mark ESCALATE item as PENDING → continue chain from step N+1.
|
|
69
|
+
- Option (c): Halt, output BLOCKED report with ESCALATE item in blocking section.
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## Step 0. Scope, Mode, and Translation
|
|
74
|
+
|
|
75
|
+
Determine the following before running any pipeline step.
|
|
76
|
+
|
|
77
|
+
**1. Scope**: What is being verified?
|
|
78
|
+
- Single skill: path to `SKILL.md` (e.g., `plugins/fh-meta/skills/foo/SKILL.md`)
|
|
79
|
+
- Specific asset: file or directory path
|
|
80
|
+
- Full harness: all assets under `plugins/` and `templates/`
|
|
81
|
+
|
|
82
|
+
**2. Mode**: `--quick`, `--no-sim`, or `--full` (default)
|
|
83
|
+
|
|
84
|
+
**3. Branch**: Current git branch (used for regression guard and report header)
|
|
85
|
+
|
|
86
|
+
If scope is not specified, ask:
|
|
87
|
+
> "What should I sweep? (e.g., a specific skill path, a directory, or the full harness)"
|
|
88
|
+
|
|
89
|
+
Do not infer scope — a wrong scope produces misleading verdicts.
|
|
90
|
+
|
|
91
|
+
### Scope Translation Table
|
|
92
|
+
|
|
93
|
+
The four constituent skills use heterogeneous scope models. Translate the pipeline scope to each skill's invocation form before running any step:
|
|
94
|
+
|
|
95
|
+
| Pipeline scope | harvest-loop (Step 1) | steel-quench (Step 2) | source-grounding-audit (Step 3) | sim-conductor (Step 4) |
|
|
96
|
+
|---|---|---|---|---|
|
|
97
|
+
| Single SKILL.md | Check session findings relevant to this skill; propose mode only | Adversarial attack on this SKILL.md | Back-trace claims in this SKILL.md to declared sources | Area D (artifact review) on this SKILL.md |
|
|
98
|
+
| Specific directory | Check session findings in this domain | Attack all SKILL.md files in directory | Back-trace all claims in directory | Area A + Area D on the domain |
|
|
99
|
+
| Full harness | Check all recent session findings | Attack all harness assets under scope | Back-trace all claims across harness | Area A + Area B + Area D |
|
|
100
|
+
|
|
101
|
+
### Step 0 Output
|
|
102
|
+
|
|
103
|
+
```
|
|
104
|
+
pipeline-conductor — Sweep Plan
|
|
105
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
106
|
+
Scope: {scope}
|
|
107
|
+
Mode: {--full / --quick / --no-sim}
|
|
108
|
+
Branch: {branch name}
|
|
109
|
+
Steps: {1 → 2 → 3 → 4 / 2 → 3 / 1 → 2 → 3}
|
|
110
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
111
|
+
Proceed? (Y: run / N: cancel)
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## Step 0.5. return-path-gate — Pre-flight Chain Audit
|
|
117
|
+
|
|
118
|
+
> Skip if return-path-gate is not installed or scope is a single non-pipeline skill.
|
|
119
|
+
|
|
120
|
+
Run `/return-path-gate --skill [scope]`.
|
|
121
|
+
|
|
122
|
+
| return-path-gate result | Step 0.5 verdict | Chain behavior |
|
|
123
|
+
|---|---|---|
|
|
124
|
+
| 0 OPEN chains | `PASS` | Proceed |
|
|
125
|
+
| MEDIUM/LOW severity OPEN chains only | `CONDITIONAL_PASS` | Proceed; capture in Pending |
|
|
126
|
+
| 1+ HIGH severity OPEN chains | `FAIL` | **Halt sweep** — fix chains before running pipeline |
|
|
127
|
+
|
|
128
|
+
**On FAIL (HIGH severity OPEN chains)**:
|
|
129
|
+
|
|
130
|
+
```
|
|
131
|
+
[Step 0.5 — return-path-gate]
|
|
132
|
+
Verdict: FAIL
|
|
133
|
+
Basis: HIGH severity OPEN chain(s) — inter-step verdicts unreliable with broken chains
|
|
134
|
+
Open: [list of OPEN chains with severity]
|
|
135
|
+
|
|
136
|
+
Fix OPEN chains then re-run pipeline-conductor.
|
|
137
|
+
Skip? (S: override gate — records as degraded, disqualifies CLEAN (--full) status)
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
`S` (skip) is available but must be declared explicitly. Skipping records as `degraded: return-path-gate (user override)` in the final report and the sweep cannot reach `CLEAN (--full)` status regardless of subsequent step verdicts.
|
|
141
|
+
|
|
142
|
+
**On CONDITIONAL_PASS (MEDIUM/LOW only)**: Capture OPEN chains in Pending. Continue to Step 1.
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
## Step 1. harvest-loop — Knowledge Loop Check
|
|
147
|
+
|
|
148
|
+
> Skipped in `--quick` mode.
|
|
149
|
+
|
|
150
|
+
Check for harvest-loop signals in the current session. pipeline-conductor reads session context for harvest-loop findings rather than invoking harvest-loop directly — invoking harvest-loop mid-sweep would start a new harvest cycle that conflicts with the sweep's own pattern collection. If no harvest-loop run exists in this session, pipeline-conductor can invoke harvest-loop in proposal mode (`/harvest-loop`) as a pre-Step-1 option, but this is not automatic.
|
|
151
|
+
|
|
152
|
+
**What it checks**: Whether recent session learnings have been absorbed, whether duplicate skill candidates are pending, whether knowledge loop integrity issues exist in the current session.
|
|
153
|
+
|
|
154
|
+
**Invocation path**:
|
|
155
|
+
- If harvest-loop ran in this session: read its output and incorporate findings.
|
|
156
|
+
- If harvest-loop did not run in this session: output `CONDITIONAL_PASS` — knowledge loop not validated in this sweep.
|
|
157
|
+
- If harvest-loop auto-skipped (fewer than 3 patterns found): output `CONDITIONAL_PASS` — sub-threshold, knowledge loop not validated.
|
|
158
|
+
|
|
159
|
+
**Verdict criteria**:
|
|
160
|
+
|
|
161
|
+
| harvest-loop result | pipeline-conductor verdict |
|
|
162
|
+
|---|---|
|
|
163
|
+
| Ran this session — all steps pass, no pending patterns | `PASS` |
|
|
164
|
+
| Ran this session — patterns found but no blockers | `CONDITIONAL_PASS` — capture pattern list |
|
|
165
|
+
| Ran this session — semantic drift or loop failure detected | `FAIL` |
|
|
166
|
+
| Did not run this session | `CONDITIONAL_PASS` — note: knowledge loop not validated |
|
|
167
|
+
| Auto-skipped (< 3 patterns) | `CONDITIONAL_PASS` — note: sub-threshold, not validated |
|
|
168
|
+
|
|
169
|
+
**On FAIL**: Output the harvest-loop failure reason. Ask:
|
|
170
|
+
> "harvest-loop reported a blocking issue. Fix and re-run Step 1, or abort the sweep?"
|
|
171
|
+
|
|
172
|
+
**On CONDITIONAL_PASS**: Log all pending patterns or unvalidated notes. Continue to Step 2.
|
|
173
|
+
|
|
174
|
+
```
|
|
175
|
+
[Step 1 — harvest-loop]
|
|
176
|
+
Verdict: {verdict}
|
|
177
|
+
Basis: {one-line}
|
|
178
|
+
Pending: {list of items if CONDITIONAL_PASS, else "none"}
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
|
|
183
|
+
## Step 2. steel-quench — Adversarial Verification
|
|
184
|
+
|
|
185
|
+
Run steel-quench against the target scope.
|
|
186
|
+
|
|
187
|
+
**What it checks**: Design attack surface, trigger phrase collisions, over-engineered steps, self-declaration language, structural flaws surfaced by devil-advocate rounds.
|
|
188
|
+
|
|
189
|
+
**Invocation**: Run steel-quench in its standard mode. For `--quick`, this is the first step.
|
|
190
|
+
|
|
191
|
+
**steel-quench severity vocabulary** (S/A/B grade — not M/S/R):
|
|
192
|
+
- **S-grade**: Immediate blocker — must fix before proceeding
|
|
193
|
+
- **A-grade**: Required before deployment — fix before external release
|
|
194
|
+
- **B-grade**: Improvement recommended — non-blocking
|
|
195
|
+
|
|
196
|
+
**Verdict criteria**:
|
|
197
|
+
|
|
198
|
+
| steel-quench result | pipeline-conductor verdict |
|
|
199
|
+
|---|---|
|
|
200
|
+
| 0 S-grade findings | `PASS` |
|
|
201
|
+
| A-grade or B-grade findings only | `CONDITIONAL_PASS` — capture finding list |
|
|
202
|
+
| 1+ S-grade findings | `FAIL` |
|
|
203
|
+
| Wave 4 (Meta-Aware Adversary) surfaces structural ambiguity | `ESCALATE` |
|
|
204
|
+
|
|
205
|
+
**On FAIL**: Output S-grade finding(s) from steel-quench. Ask:
|
|
206
|
+
> "steel-quench found a blocking issue. Fix and re-run Step 2, or abort the sweep?"
|
|
207
|
+
|
|
208
|
+
**On CONDITIONAL_PASS**: Capture A-grade and B-grade findings. Continue to Step 3.
|
|
209
|
+
|
|
210
|
+
```
|
|
211
|
+
[Step 2 — steel-quench]
|
|
212
|
+
Verdict: {verdict}
|
|
213
|
+
Basis: {one-line}
|
|
214
|
+
Findings:
|
|
215
|
+
S-grade: {count} — {top item or "none"}
|
|
216
|
+
A-grade: {count} — {top item or "none"}
|
|
217
|
+
B-grade: {count} — {top item or "none"}
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
---
|
|
221
|
+
|
|
222
|
+
## Step 3. source-grounding-audit — Phantom Claim Detection
|
|
223
|
+
|
|
224
|
+
Run source-grounding-audit against the target scope.
|
|
225
|
+
|
|
226
|
+
**What it checks**: Proper nouns, numerical values, file paths, and branching conditions back-traced to declared source files. Claims not found in source are marked Phantom.
|
|
227
|
+
|
|
228
|
+
**Invocation**: Run source-grounding-audit scoped to the same target as Steps 1 and 2.
|
|
229
|
+
|
|
230
|
+
**Load-bearing Phantom** (binary test — apply mechanically):
|
|
231
|
+
|
|
232
|
+
A Phantom is load-bearing if it appears in any of:
|
|
233
|
+
- `§Done When` section of the skill under audit
|
|
234
|
+
- Any numbered `§Step N` execution body
|
|
235
|
+
- `§Chains` with mandatory dispatch language (`→ Mandatory next`)
|
|
236
|
+
|
|
237
|
+
All other locations (§Triggers, advisory §Chains language, frontmatter description) are non-load-bearing by definition.
|
|
238
|
+
|
|
239
|
+
**Verdict criteria**:
|
|
240
|
+
|
|
241
|
+
| source-grounding-audit result | pipeline-conductor verdict |
|
|
242
|
+
|---|---|
|
|
243
|
+
| 0 Phantoms, all claims grounded | `PASS` |
|
|
244
|
+
| Phantom claims found, none load-bearing (binary test) | `CONDITIONAL_PASS` — list Phantoms |
|
|
245
|
+
| 1+ load-bearing Phantoms | `FAIL` |
|
|
246
|
+
| Grounding ambiguous (source file exists but content unclear) | `ESCALATE` |
|
|
247
|
+
|
|
248
|
+
**On FAIL**: Output the load-bearing Phantom(s). Ask:
|
|
249
|
+
> "source-grounding-audit found a load-bearing Phantom claim. Fix and re-run Step 3, or abort the sweep?"
|
|
250
|
+
|
|
251
|
+
**On CONDITIONAL_PASS**: Capture non-load-bearing Phantoms. Continue to Step 4.
|
|
252
|
+
|
|
253
|
+
```
|
|
254
|
+
[Step 3 — source-grounding-audit]
|
|
255
|
+
Verdict: {verdict}
|
|
256
|
+
Basis: {one-line}
|
|
257
|
+
Phantoms: {count} — {load-bearing: Y/N} — {top item or "none"}
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
---
|
|
261
|
+
|
|
262
|
+
## Step 4. sim-conductor — Pre-Deploy Simulation
|
|
263
|
+
|
|
264
|
+
> Skipped in `--quick` and `--no-sim` modes.
|
|
265
|
+
|
|
266
|
+
Run sim-conductor against the target scope.
|
|
267
|
+
|
|
268
|
+
**What it checks**: Transferability to external users, new-user entry point friction, power-user edge cases, artifact quality from an outside perspective.
|
|
269
|
+
|
|
270
|
+
**Area B cadence check** (sim-conductor Area B has a once-per-week frequency limit):
|
|
271
|
+
|
|
272
|
+
```bash
|
|
273
|
+
find tracks/_meta/ -name "*sim_conductor*" -newer "$(date -v-7d +%Y-%m-%d 2>/dev/null || date -d '7 days ago' +%Y-%m-%d 2>/dev/null)" 2>/dev/null | head -1
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
- Result found (Area B ran within 7 days): skip Area B → run Area A + Area D only. Capture as `CONDITIONAL_PASS` with note: "Area B skipped — within 7-day cadence limit."
|
|
277
|
+
- No result (Area B not run within 7 days): run Area A + Area B + Area D (scope permitting).
|
|
278
|
+
|
|
279
|
+
**Invocation**: Area A + Area B (if cadence allows) + Area D (if scope is a specific SKILL.md or document).
|
|
280
|
+
|
|
281
|
+
**Verdict criteria**:
|
|
282
|
+
|
|
283
|
+
| sim-conductor result | pipeline-conductor verdict |
|
|
284
|
+
|---|---|
|
|
285
|
+
| 0 M-tier findings across all personas | `PASS` |
|
|
286
|
+
| S/R-tier findings only | `CONDITIONAL_PASS` — capture finding list |
|
|
287
|
+
| 1+ M-tier findings from any persona | `FAIL` |
|
|
288
|
+
| Persona results conflict, resolution requires human judgment | `ESCALATE` |
|
|
289
|
+
|
|
290
|
+
**On FAIL**: Output M-tier finding(s) from sim-conductor. Ask:
|
|
291
|
+
> "sim-conductor found a blocking issue. Fix and re-run Step 4, or accept findings and close with FAIL status?"
|
|
292
|
+
|
|
293
|
+
**On CONDITIONAL_PASS**: Capture S/R-tier findings. Proceed to final report.
|
|
294
|
+
|
|
295
|
+
```
|
|
296
|
+
[Step 4 — sim-conductor]
|
|
297
|
+
Verdict: {verdict}
|
|
298
|
+
Basis: {one-line}
|
|
299
|
+
Area B: {ran / skipped — cadence limit}
|
|
300
|
+
Findings:
|
|
301
|
+
M: {count} — {top item or "none"}
|
|
302
|
+
S: {count} — {top item or "none"}
|
|
303
|
+
R: {count} — {top item or "none"}
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
---
|
|
307
|
+
|
|
308
|
+
## Step 5. Aggregated Report
|
|
309
|
+
|
|
310
|
+
After all steps complete (or after chain halt), output the aggregated report.
|
|
311
|
+
|
|
312
|
+
```
|
|
313
|
+
pipeline-conductor — Sweep Report
|
|
314
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
315
|
+
Scope: {scope}
|
|
316
|
+
Mode: {mode}
|
|
317
|
+
Branch: {branch}
|
|
318
|
+
Date: {YYYY-MM-DD}
|
|
319
|
+
|
|
320
|
+
Step 0.5 — return-path-gate: {PASS / CONDITIONAL_PASS / FAIL / SKIPPED / degraded}
|
|
321
|
+
Step 1 — harvest-loop: {PASS / CONDITIONAL_PASS / FAIL / ESCALATE / SKIPPED}
|
|
322
|
+
Step 2 — steel-quench: {verdict}
|
|
323
|
+
Step 3 — source-grounding-audit: {verdict}
|
|
324
|
+
Step 4 — sim-conductor: {verdict}
|
|
325
|
+
|
|
326
|
+
Overall: {CLEAN (--full) / CLEAN (--quick) / CLEAN (--no-sim) / PENDING / BLOCKED}
|
|
327
|
+
|
|
328
|
+
── Pending items (CONDITIONAL_PASS steps + accepted ESCALATE) ──
|
|
329
|
+
{item list, or "none"}
|
|
330
|
+
|
|
331
|
+
── Blocking items (FAIL steps + unresolved ESCALATE) ──
|
|
332
|
+
{item list, or "none — sweep completed cleanly"}
|
|
333
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
**Overall verdict logic**:
|
|
337
|
+
|
|
338
|
+
| Condition | Overall |
|
|
339
|
+
|---|---|
|
|
340
|
+
| All steps PASS | `CLEAN ({mode})` |
|
|
341
|
+
| Any step CONDITIONAL_PASS or accepted ESCALATE; none FAIL | `PENDING` |
|
|
342
|
+
| Any step FAIL or unresolved ESCALATE (option c) | `BLOCKED` |
|
|
343
|
+
|
|
344
|
+
**Mode semantics**:
|
|
345
|
+
- `CLEAN (--full)`: Safe to proceed with commit, PR, or external release.
|
|
346
|
+
- `CLEAN (--quick)` / `CLEAN (--no-sim)`: Safe for internal iteration only — not sufficient for external publish or PR approval gate.
|
|
347
|
+
- `PENDING`: Resolve captured items before external release.
|
|
348
|
+
- `BLOCKED`: Do not proceed. Fix blocking items and re-run affected step(s).
|
|
349
|
+
|
|
350
|
+
### Report Persistence
|
|
351
|
+
|
|
352
|
+
Save the report to:
|
|
353
|
+
```
|
|
354
|
+
tracks/_meta/pipeline_conductor_{YYYY-MM-DD}_{scope-slug}.md
|
|
355
|
+
```
|
|
356
|
+
|
|
357
|
+
If `tracks/_meta/` does not exist, output a B-grade warning and skip persistence.
|
|
358
|
+
|
|
359
|
+
---
|
|
360
|
+
|
|
361
|
+
## Resume After Fix
|
|
362
|
+
|
|
363
|
+
**After FAIL**:
|
|
364
|
+
|
|
365
|
+
1. User fixes the issue.
|
|
366
|
+
2. User says "resume from step N" or "re-run step N".
|
|
367
|
+
3. pipeline-conductor re-runs only the failed step and its gate.
|
|
368
|
+
4. On PASS, continues the chain from step N+1.
|
|
369
|
+
5. Does not re-run steps that already passed (unless user explicitly requests a full restart).
|
|
370
|
+
|
|
371
|
+
Resume is scope-bound — the scope from Step 0 is preserved across resume calls.
|
|
372
|
+
|
|
373
|
+
**After ESCALATE**:
|
|
374
|
+
|
|
375
|
+
1. Present the three options (see ESCALATE Handling above).
|
|
376
|
+
2. Option (a) — user provides decision: incorporate as resolution note, re-evaluate the step gate with decision context, continue chain from step N or N+1.
|
|
377
|
+
3. Option (b) — accept and continue: mark ESCALATE item as PENDING, continue chain from step N+1.
|
|
378
|
+
4. Option (c) — abort: close sweep, output BLOCKED report with ESCALATE item in blocking section.
|
|
379
|
+
|
|
380
|
+
---
|
|
381
|
+
|
|
382
|
+
## Simplification Guards
|
|
383
|
+
|
|
384
|
+
- Do not propose pipeline-conductor for single-file read tasks or exploratory sessions.
|
|
385
|
+
- If the user invokes one of the four constituent skills directly, do not auto-redirect to pipeline-conductor.
|
|
386
|
+
- If only one step is needed, guide the user to call that skill directly.
|
|
387
|
+
- For `--quick` mode on a trivial scope (single short SKILL.md), Steps 2+3 should complete in one pass without sub-Wave fan-out.
|
|
388
|
+
|
|
389
|
+
---
|
|
390
|
+
|
|
391
|
+
## Chains
|
|
392
|
+
|
|
393
|
+
After a `CLEAN (--full)` or `PENDING` sweep, the following are natural follow-ons:
|
|
394
|
+
|
|
395
|
+
- `field-harvest` — harvest patterns surfaced during the sweep
|
|
396
|
+
- `hub-cc-pr-reviewer` — if sweep was run pre-PR, feed results into PR review
|
|
397
|
+
- `agent-composer` — if multiple fix tasks are needed across the Pending list, compose agents to resolve them in parallel
|
|
398
|
+
- `return-path-gate --all` — if Step 0.5 surfaced OPEN chains, run a full chain closure audit
|
|
399
|
+
|
|
400
|
+
## Complexity Routing
|
|
401
|
+
|
|
402
|
+
```yaml
|
|
403
|
+
complexity_routing:
|
|
404
|
+
base: sonnet
|
|
405
|
+
escalate_when:
|
|
406
|
+
- high_stakes # pre-external-publish or pre-deploy sweep
|
|
407
|
+
- full_revalidation # user requested "start over"
|
|
408
|
+
- cross_project # scope spans 3+ projects
|
|
409
|
+
high: opus
|
|
410
|
+
```
|
|
411
|
+
|
|
412
|
+
---
|
|
413
|
+
|
|
414
|
+
## Done When
|
|
415
|
+
|
|
416
|
+
```
|
|
417
|
+
Step 0 scope confirmed and scope translation table applied
|
|
418
|
+
+ Step 0.5 return-path-gate pre-flight: PASS / CONDITIONAL_PASS / FAIL (halts sweep) / explicitly skipped / degraded (user override)
|
|
419
|
+
+ All in-scope steps executed and verdicts emitted
|
|
420
|
+
+ Aggregated report output (Step 5 format)
|
|
421
|
+
+ Report saved to tracks/_meta/ (or skip warning issued)
|
|
422
|
+
+ Overall verdict qualified with mode: CLEAN (--full) / CLEAN (--quick) / CLEAN (--no-sim) / PENDING / BLOCKED
|
|
423
|
+
+ If BLOCKED: blocking items listed and user notified
|
|
424
|
+
+ If PENDING: pending items listed in report
|
|
425
|
+
+ If ESCALATE occurred: user presented three options; choice recorded in report
|
|
426
|
+
```
|
|
427
|
+
|
|
428
|
+
Verdict: PASS (all conditions met, sweep complete) | CONDITIONAL_PASS (sweep complete, pending items captured) | FAIL (chain halted, blocking items remain) | ESCALATE (chain paused, human decision required)
|
|
429
|
+
|
|
430
|
+
A sweep is not done until the Step 5 report is output. Emitting per-step verdicts without the aggregated report is incomplete.
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: plugin-recommender
|
|
3
|
+
description: Given a task description, searches internal and external open-source ecosystems (including Codex marketplace and Claude Code marketplace) to find and recommend suitable plugins with installation guidance. Recommendation is quality-validation based (marketplace-listed + performance-validated), not source-origin based. Activates on "recommend a plugin", "what tool should I use?", "is there a plugin for this?", "recommend a tool". Also checks for duplicate installations.
|
|
4
|
+
user-invocable: true
|
|
5
|
+
allowed-tools: ["Grep", "GoogleWebSearch", "Bash"]
|
|
6
|
+
model: sonnet
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
> **Note:** In external user install environments, the internal GHE org inventory and sister asset clusters are organization-specific examples from the original developer's environment. Adapt the core of this skill (multi-layer search + synergy evaluation + install support) to your own environment (see `## External User Environment Adaptation Path` §).
|
|
10
|
+
|
|
11
|
+
# plugin-recommender
|
|
12
|
+
|
|
13
|
+
Takes a task description as input, searches internal GHE, Claude Code marketplace, Codex marketplace, and external open-source ecosystems, then outputs a ranked list of suitable plugins and install commands. Ranking is quality-validation based — not source-origin based. Also reports duplicate installs and potential conflicts.
|
|
14
|
+
|
|
15
|
+
## Activation Triggers
|
|
16
|
+
|
|
17
|
+
Activates on the following types of phrasing.
|
|
18
|
+
|
|
19
|
+
1. **Direct recommendation request**: "Recommend a plugin", "What plugin should I use?", "Find a useful tool"
|
|
20
|
+
2. **Task-based implicit request**: "I want to handle Jira tickets", "I need to visualize DB data", "I want to auto-generate API docs"
|
|
21
|
+
3. **Environment setup questions**: "How do I integrate with Confluence?", "Set up plugins needed for a new project"
|
|
22
|
+
4. **Chained from sim-conductor** (persona/simulation amplification): "Find a persona/simulation validation plugin", "Install stronger personas for the review". When invoked this way, scope the search to persona/simulation/review-oriented plugins (e.g., deep-insight) and **return control to sim-conductor after install** so the simulation can re-run with the installed personas — see `## Return Path` §.
|
|
23
|
+
|
|
24
|
+
## Processing Steps (Step 0 Pre-check + 5-Step)
|
|
25
|
+
|
|
26
|
+
### Step 0: Search Pre-check — GitHub Token Auth Status
|
|
27
|
+
|
|
28
|
+
Before entering Step 2 multi-layer search, **gh CLI auth status check is mandatory**. Internal GHE + external GitHub auth are separate — if unauthenticated, guide user on how to generate and store tokens.
|
|
29
|
+
|
|
30
|
+
Run `gh auth status`. For full PAT setup commands and host-branching scripts, see `SKILL_detail.md §Discovery-Bash`.
|
|
31
|
+
|
|
32
|
+
**External users** (no internal GHE): skip internal GHE auth check — verify `gh auth status` for github.com only, then proceed to Step 1.
|
|
33
|
+
|
|
34
|
+
**Internal non-hub users**: run Step 0 as-is, but remap Step 2 [Priority 1.5] sister asset clusters to your own org. See `## External User Environment Adaptation Path`.
|
|
35
|
+
|
|
36
|
+
### Step 1: User Goal Analysis and Core Keyword Extraction
|
|
37
|
+
|
|
38
|
+
Analyze the user's natural language request to extract core **domain** and **task** keywords.
|
|
39
|
+
- `"I want to create Jira tickets and update their status"` → `domain: jira`, `task: create, update`
|
|
40
|
+
- `"I want to auto-generate API docs"` → `domain: api, documentation`, `task: generate, auto`
|
|
41
|
+
|
|
42
|
+
### Step 2: Multi-Layer Search Space Setup
|
|
43
|
+
|
|
44
|
+
Search in priority order based on extracted keywords.
|
|
45
|
+
|
|
46
|
+
#### Tier Classification Table (Quality-Validation Based)
|
|
47
|
+
|
|
48
|
+
Tier is **independent of platform origin** (Anthropic / OpenAI / community). A well-benchmarked community plugin ranks higher than an official plugin with no performance data.
|
|
49
|
+
|
|
50
|
+
| Tier | Criteria | Sources |
|
|
51
|
+
|---|---|---|
|
|
52
|
+
| **Tier 1** | Marketplace-listed + performance-validated (benchmark data or production usage evidence) | Anthropic official · Codex marketplace verified · CC marketplace verified · FH community reviewed (steel-quench + sim-conductor validated) |
|
|
53
|
+
| **Tier 2** | Marketplace-listed, no explicit performance data | Any marketplace source (CC marketplace · Codex marketplace · npm · GHE) |
|
|
54
|
+
| **Tier 3** | Not marketplace-listed, source-available (GitHub/npm) | Repo-only agents/plugins |
|
|
55
|
+
| **Tier 4** | Not verified, private/internal | Internal team builds · unreviewed local experiments |
|
|
56
|
+
|
|
57
|
+
1. **[Priority 1] Internal Curated List**: `knowledge/shared/plugin-catalog/recommended_plugins.md` — check this first for verified internal/external plugin list + Tier 1·2·3·4 classification. If user's task domain already appears in catalog, use results immediately.
|
|
58
|
+
|
|
59
|
+
2. **[Priority 1.5] Internal GHE Sister Assets (partially completed work — Tier 2)**: Check if user's task domain already exists in internal sister asset clusters. Prioritize direct use or adoption of sister assets if the user's task falls within these cluster domains.
|
|
60
|
+
|
|
61
|
+
3. **[Priority 2.5] Project Reference/Contribution Path**:
|
|
62
|
+
|
|
63
|
+
For cases where referencing or contributing to the project itself is more appropriate than installing a plugin. Provide guidance when there's intent for medium-term contribution rather than immediate use.
|
|
64
|
+
|
|
65
|
+
- **Fork reference**: Fork a similar project and customize for your environment
|
|
66
|
+
- **PR contribution**: Propose a PR to the relevant project if the desired feature is missing
|
|
67
|
+
- **Issue filing**: Guide on how to file a feature request issue
|
|
68
|
+
|
|
69
|
+
**Role separation (boundary with cross-ecosystem-synergy-detection)**:
|
|
70
|
+
- `plugin-recommender` [Priority 2.5]: When no immediately usable plugin is available → guide to project-level reference/contribution path (alternative to installing)
|
|
71
|
+
- `cross-ecosystem-synergy-detection`: Discover hidden synergies among already-installed skills (post-install utilization optimization)
|
|
72
|
+
|
|
73
|
+
Activation condition: Automatically entered when Step 2 [Priority 1]~[Priority 2] search yields no suitable plugin.
|
|
74
|
+
|
|
75
|
+
4. **[Priority 2] Organization's Internal GHE (Tier 1–4)**: Search internal GHE with keywords like `claude-plugin`, `gemini-plugin` + user keywords / API search. Replace with your organization's internal GHE orgs.
|
|
76
|
+
|
|
77
|
+
5. **[Priority 3] External Open-Source Ecosystem**: WebSearch / WebFetch — "best github actions for X", "claude plugin for Y", etc. Simplification guard: defer external install if internal assets suffice.
|
|
78
|
+
|
|
79
|
+
**Verified external search targets (as of 2026-05):**
|
|
80
|
+
- [`anthropics/claude-plugins-official`](https://github.com/anthropics/claude-plugins-official) — Anthropic-curated official plugin directory. Search here first for any task domain.
|
|
81
|
+
- [`Chat2AnyLLM/awesome-claude-plugins`](https://github.com/Chat2AnyLLM/awesome-claude-plugins) — Community aggregator: 75+ marketplaces, 1,196+ plugins catalogued (2026-05-25). Use for broad discovery.
|
|
82
|
+
- [`anthropics/claude-code/plugins/`](https://github.com/anthropics/claude-code/tree/main/plugins) — Anthropic first-party plugins bundled with Claude Code (e.g., `code-review` with 5 parallel Sonnet agents).
|
|
83
|
+
|
|
84
|
+
### Step 2.5: Platform-Aware Discovery
|
|
85
|
+
|
|
86
|
+
When queried for a specific capability (e.g., "adversarial reviewer for bash code"), search across all platforms before narrowing to candidates.
|
|
87
|
+
|
|
88
|
+
**Discovery order (stop when sufficient Tier 1 candidates found):**
|
|
89
|
+
|
|
90
|
+
1. **Installed locally** — `.claude/agents/`, `plugins/` in current cwd
|
|
91
|
+
2. **FH native skills** — always-loaded knowledge in `plugins/fh-meta/` and `plugins/fh-commons/`
|
|
92
|
+
3. **Claude Code marketplace** — `claude mcp search [capability]` or known CC registry (see verified targets above)
|
|
93
|
+
4. **Codex marketplace** — `npx @openai/codex list-agents [capability]` or known Codex registry
|
|
94
|
+
5. **npm ecosystem** — `@chrono-meta/`, `@anthropic/`, and other known-quality scoped packages
|
|
95
|
+
|
|
96
|
+
**Discovery priority**: installed > FH native > Tier 1 (any platform) > Tier 2 > Tier 3 > Tier 4
|
|
97
|
+
|
|
98
|
+
**When sim-conductor chains here for persona discovery**: apply the same platform-aware search scoped to persona/simulation/review capability tags. Return discovered agents with their Tier rating so sim-conductor can decide whether to install or use a built-in brief.
|
|
99
|
+
|
|
100
|
+
For discovery bash commands (`claude mcp search`, `npx @openai/codex list-agents`, npm scoped search), see `SKILL_detail.md §Discovery-Bash`.
|
|
101
|
+
|
|
102
|
+
### Step 2.6: Quality Validation Signals
|
|
103
|
+
|
|
104
|
+
Use this table to determine Tier placement when a candidate's tier is ambiguous.
|
|
105
|
+
|
|
106
|
+
| Quality signal | Weight |
|
|
107
|
+
|---|---|
|
|
108
|
+
| Published benchmark (accuracy/precision, reproducible) | High |
|
|
109
|
+
| Production usage evidence (download count, GitHub stars > 100) | Medium |
|
|
110
|
+
| Marketplace listing (official review process passed) | Medium |
|
|
111
|
+
| FH community reviewed (steel-quench + sim-conductor validated) | High |
|
|
112
|
+
| Author reputation (known team: Anthropic, chrono-meta, etc.) | Low |
|
|
113
|
+
|
|
114
|
+
**Tier assignment rule**: two or more High-weight signals → Tier 1. One High or two Medium → Tier 2. Listed but no signals → Tier 2. Not listed, source-only → Tier 3. No external presence → Tier 4.
|
|
115
|
+
|
|
116
|
+
### Step 3: Candidate Plugin Analysis and Ranking
|
|
117
|
+
|
|
118
|
+
Analyze each candidate plugin's `README.md` and `plugin.json` to score and rank based on:
|
|
119
|
+
|
|
120
|
+
- **Feature relevance**: How well does the description and keywords match user goals?
|
|
121
|
+
- **Reliability and recency**: Recent commit date, star/fork count (external), internal usage frequency, etc.
|
|
122
|
+
- **Install convenience**: Does it support `claude plugin install` directly?
|
|
123
|
+
- **Synergy effect**: Call `cross-ecosystem-synergy-detection` to check synergy grade (★~★★★) with other currently installed plugins.
|
|
124
|
+
- **Tier** (from §Tier Classification Table): report each candidate's Tier in the recommendation table.
|
|
125
|
+
|
|
126
|
+
### Step 4: Present Recommendation List
|
|
127
|
+
|
|
128
|
+
Output top 2-3 plugins in the following table format. Include Tier and Platform so the user can see the quality-validation basis at a glance. For full example outputs, see `SKILL_detail.md §Examples`.
|
|
129
|
+
|
|
130
|
+
| Rank | Plugin Name | Tier | Platform | Recommendation Reason | Key Features | Synergy Effect |
|
|
131
|
+
| :--- | :--- | :--- | :--- | :--- | :--- | :--- |
|
|
132
|
+
| 1 | `[name]` | Tier N | [source] | [reason + evidence] | [features] | [synergy grade] |
|
|
133
|
+
|
|
134
|
+
### Step 5: Install and Configuration Support
|
|
135
|
+
|
|
136
|
+
When user selects desired plugin from recommendation list, help with installation.
|
|
137
|
+
|
|
138
|
+
**5-0. Pre-install Duplicate Detection (pre-check — mandatory)**: check `claude plugin list`, `.claude/settings.json` `enabledPlugins`, and same-name conflict. For full duplicate detection procedure and same-name conflict handling steps, see `SKILL_detail.md §Install-Procedure`.
|
|
139
|
+
|
|
140
|
+
**5-1 through 5-3. Install**: confirm intent → run install command → post-install configuration (API token, MCP connection, verify). Full install commands and configuration guidance at `SKILL_detail.md §Install-Procedure`.
|
|
141
|
+
|
|
142
|
+
**5-B. External Asset Migration Path** (when non-plugin asset found): migration suitability check (3 criteria) → SKILL.md conversion template → location guidance. Full procedure at `SKILL_detail.md §Install-Procedure`.
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
## Constraints
|
|
147
|
+
|
|
148
|
+
- **Recommendations, not guarantees**: Does not guarantee plugin performance, stability, or security.
|
|
149
|
+
- **User consent required**: Does not auto-install without explicit consent.
|
|
150
|
+
- **Search scope limitations**: Only searches within configured search space.
|
|
151
|
+
|
|
152
|
+
## External User Environment Adaptation Path
|
|
153
|
+
|
|
154
|
+
The internal GHE org inventory + sister asset clusters in this skill are examples from the original developer's environment. External user (mode C install) environment adaptation path — following forge-harness core proposition *"Beta + public release = obligation to have practical capabilities"*.
|
|
155
|
+
|
|
156
|
+
### External User Environment Assumptions
|
|
157
|
+
|
|
158
|
+
External users in 2 tiers:
|
|
159
|
+
|
|
160
|
+
| Type | Internal GHE access | Applicable path |
|
|
161
|
+
|---|---|---|
|
|
162
|
+
| **Internal non-hub** (org employee, not owner) | Yes — run Step 0 as-is / remap Step 2 [1.5 priority] to own org sister assets | Use original developer environment as reference baseline / search based on own sister assets/org |
|
|
163
|
+
| **External** (outside org) | No — apply entire Fallback Matrix below | Auto-skip internal GHE steps / search based on external GitHub |
|
|
164
|
+
|
|
165
|
+
The core 5-step procedure (goal analysis → multi-layer search → candidate analysis → recommendation → install support) is cross-applicable to both types.
|
|
166
|
+
|
|
167
|
+
> The Fallback Matrix below is for **external users**. Internal non-hub users can use Step 0·2 as-is.
|
|
168
|
+
|
|
169
|
+
### Fallback Matrix (Original Developer Environment → External Environment Replacement)
|
|
170
|
+
|
|
171
|
+
| Original developer environment dependency | External user environment fallback |
|
|
172
|
+
|---|---|
|
|
173
|
+
| **Step 0** internal GHE auth check | Check external GitHub auth only (`gh auth status` default host) — auto-skip internal GHE step |
|
|
174
|
+
| **Step 2 [Priority 1.5]** internal sister asset clusters | User's own sister assets (personal/team GitHub org · internal marketplace) — this skill auto-maps user's own sister asset matrix |
|
|
175
|
+
| **Step 2 [Priority 2]** internal GHE org inventory | External GitHub default org inventory (`anthropics` · `oh-my-claudecode` etc. plugin ecosystem marketplace) |
|
|
176
|
+
| **Step 2 Tier table** Tier 1·2·3·4 classification | User's own Tier classification — use the quality-validation signals table (§Step 2.6) to assign tiers in your environment |
|
|
177
|
+
|
|
178
|
+
### External User Usage Scenarios
|
|
179
|
+
|
|
180
|
+
1. **External GitHub priority recommendations**: In environments without internal GHE access, call only Step 2 [Priority 1] curated list + [Priority 3] external GitHub search / auto-skip [Priority 1.5]·[Priority 2] internal GHE steps
|
|
181
|
+
2. **Plugin marketplace discovery assistance**: Auto-search external ecosystems like `anthropics/claude-code` marketplaces · `oh-my-claudecode` · personal/team marketplaces
|
|
182
|
+
3. **Core synergy evaluation**: Step 3 synergy evaluation + auto-calling cross-ecosystem-synergy-detection is cross-applicable to all environments
|
|
183
|
+
4. **Same install support baseline**: Step 5 token generation path · MCP connection · 3 verification sub-paths work the same in external GitHub environments
|
|
184
|
+
|
|
185
|
+
### Limitations (Explicit)
|
|
186
|
+
|
|
187
|
+
- **Internal GHE org inventory** (Step 0 / Step 2 [Priority 2]) = original developer's organization-specific environment / external users should treat as reference baseline (auto-skipped)
|
|
188
|
+
- **Sister asset clusters** (Step 2 [Priority 1.5]) = original developer's own environment / external users should map their own sister assets
|
|
189
|
+
- **Core 5-step of this skill** (goal analysis + multi-layer search + candidate analysis + recommendation + install) = cross-applicable to all user environments / original developer examples are for reference
|
|
190
|
+
- **catalog `recommended_plugins.md`** = original developer environment accumulated operation baseline / external users should create their own catalog or use this as reference baseline
|
|
191
|
+
|
|
192
|
+
## Return Path (when chained from sim-conductor)
|
|
193
|
+
|
|
194
|
+
When invoked as sim-conductor's **③ external-fetch branch** (Activation Trigger 4), this skill hands control back after install so the simulation can run with the new personas.
|
|
195
|
+
|
|
196
|
+
```
|
|
197
|
+
sim-conductor needs persona X (no installed/built-in match)
|
|
198
|
+
→ plugin-recommender: scope search to persona/simulation/review plugins (e.g., deep-insight)
|
|
199
|
+
→ recommend → install (user approval)
|
|
200
|
+
→ RETURN to sim-conductor: report "[plugin] installed, personas [list] now available"
|
|
201
|
+
→ sim-conductor re-runs the Area with persona X
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
**Done When (chained mode)**: install complete **AND** control returned to sim-conductor with the available-persona list. Ending at install without the return handoff = incomplete chain.
|
|
205
|
+
|
|
206
|
+
**Simplification guard**: If a suitable persona is already installed or a built-in role brief covers the need, do not search/install — report the existing match and return immediately. The cheapest persona is the one already present.
|
|
207
|
+
|
|
208
|
+
## Done When
|
|
209
|
+
|
|
210
|
+
```
|
|
211
|
+
All Steps 0~5 completed
|
|
212
|
+
+ Recommendation list table output (top 2~3 items, Tier + Platform + synergy grade included)
|
|
213
|
+
+ Install completed after user selection (or install skipped / 5-B migration path guided)
|
|
214
|
+
+ Duplicate detection results reported
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
## Failure Response
|
|
218
|
+
|
|
219
|
+
On Claude API / MCP failure → refer to [`references/fallback-guide.md`](../../references/fallback-guide.md) manual checklist.
|
|
220
|
+
|
|
221
|
+
---
|