@chrono-meta/fh-gate 1.0.3 โ†’ 1.2.0

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.
Files changed (69) hide show
  1. package/.claude/agents/challenger.md +169 -0
  2. package/AGENTS.md +160 -0
  3. package/CATALOG.md +256 -0
  4. package/CHEATSHEET.md +367 -0
  5. package/CLAUDE.md +331 -0
  6. package/CONTRIBUTING.md +198 -0
  7. package/LICENSE +21 -0
  8. package/README.md +131 -418
  9. package/bin/fh-goal.js +9 -0
  10. package/bin/fh-run.js +9 -0
  11. package/docs/banner.png +0 -0
  12. package/docs/codex-compat.md +123 -0
  13. package/docs/pillars.svg +70 -0
  14. package/knowledge/shared/harness-core/fh_integration_contract.md +48 -29
  15. package/package.json +31 -6
  16. package/plugins/fh-commons/README.md +37 -0
  17. package/plugins/fh-commons/agents/quench-challenger.md +373 -0
  18. package/plugins/fh-commons/skills/convergence-loop/SKILL.md +155 -0
  19. package/plugins/fh-commons/skills/deliberation/SKILL.md +288 -0
  20. package/plugins/fh-commons/skills/mcp-circuit-breaker/SKILL.md +196 -0
  21. package/plugins/fh-commons/skills/token-budget-gate/SKILL.md +175 -0
  22. package/plugins/fh-meta/agents/fact-checker.md +121 -0
  23. package/plugins/fh-meta/agents/hub-persona-auditor.md +109 -0
  24. package/plugins/fh-meta/agents/persona-innovator.md +195 -0
  25. package/plugins/fh-meta/skills/agent-composer/SKILL.md +461 -0
  26. package/plugins/fh-meta/skills/agent-composer/SKILL_detail.md +464 -0
  27. package/plugins/fh-meta/skills/apex-review/SKILL.md +185 -0
  28. package/plugins/fh-meta/skills/asset-placement-gate/SKILL.md +135 -0
  29. package/plugins/fh-meta/skills/contention-layer/SKILL.md +127 -0
  30. package/plugins/fh-meta/skills/context-bridge-dispatch/SKILL.md +30 -0
  31. package/plugins/fh-meta/skills/context-bridge-dispatch/SKILL_detail.md +144 -0
  32. package/plugins/fh-meta/skills/context-doctor/SKILL.md +341 -0
  33. package/plugins/fh-meta/skills/cross-ecosystem-synergy-detection/SKILL.md +202 -0
  34. package/plugins/fh-meta/skills/deep-clarify/SKILL.md +144 -0
  35. package/plugins/fh-meta/skills/edit-manifest/SKILL.md +210 -0
  36. package/plugins/fh-meta/skills/field-harvest/SKILL.md +384 -0
  37. package/plugins/fh-meta/skills/frontier-digest/SKILL.md +272 -0
  38. package/plugins/fh-meta/skills/goal-quench/SKILL.md +509 -0
  39. package/plugins/fh-meta/skills/harness-doctor/SKILL.md +277 -0
  40. package/plugins/fh-meta/skills/harness-doctor/SKILL_detail.md +484 -0
  41. package/plugins/fh-meta/skills/harvest-loop/SKILL.md +231 -0
  42. package/plugins/fh-meta/skills/harvest-loop/SKILL_detail.md +201 -0
  43. package/plugins/fh-meta/skills/hub-cc-pr-reviewer/SKILL.md +129 -0
  44. package/plugins/fh-meta/skills/hub-cc-pr-reviewer/SKILL_detail.md +158 -0
  45. package/plugins/fh-meta/skills/install-doctor/SKILL.md +207 -0
  46. package/plugins/fh-meta/skills/install-wizard/SKILL.md +613 -0
  47. package/plugins/fh-meta/skills/marketplace-gate/SKILL.md +193 -0
  48. package/plugins/fh-meta/skills/memory-hygiene/SKILL.md +143 -0
  49. package/plugins/fh-meta/skills/meta-prompt-builder/SKILL.md +167 -0
  50. package/plugins/fh-meta/skills/meta-prompt-builder/SKILL_detail.md +37 -0
  51. package/plugins/fh-meta/skills/pipeline-conductor/SKILL.md +430 -0
  52. package/plugins/fh-meta/skills/plugin-recommender/SKILL.md +221 -0
  53. package/plugins/fh-meta/skills/plugin-recommender/SKILL_detail.md +220 -0
  54. package/plugins/fh-meta/skills/prompt-regression/SKILL.md +178 -0
  55. package/plugins/fh-meta/skills/public-surface-audit/SKILL.md +224 -0
  56. package/plugins/fh-meta/skills/return-path-gate/SKILL.md +257 -0
  57. package/plugins/fh-meta/skills/self-marketing-lint/SKILL.md +129 -0
  58. package/plugins/fh-meta/skills/sim-conductor/SKILL.md +364 -0
  59. package/plugins/fh-meta/skills/sim-conductor/SKILL_detail.md +337 -0
  60. package/plugins/fh-meta/skills/skill-splitter/SKILL.md +126 -0
  61. package/plugins/fh-meta/skills/skill-splitter/SKILL_detail.md +185 -0
  62. package/plugins/fh-meta/skills/source-grounding-audit/SKILL.md +230 -0
  63. package/plugins/fh-meta/skills/source-grounding-audit/SKILL_detail.md +182 -0
  64. package/plugins/fh-meta/skills/steel-quench/SKILL.md +226 -0
  65. package/plugins/fh-meta/skills/steel-quench/SKILL_detail.md +453 -0
  66. package/plugins/fh-meta/skills/verify-bidirectional/SKILL.md +238 -0
  67. package/scripts/fh-gate.sh +175 -40
  68. package/scripts/fh-goal.sh +182 -0
  69. package/scripts/fh-run.sh +269 -0
@@ -0,0 +1,272 @@
1
+ ---
2
+ name: frontier-digest
3
+ description: Collects the latest AI/harness engineering trends from HackerNews and arxiv, then synthesizes them into actionable insights directly relevant to forge-harness operations. Triggered by "AI trends", "latest trends", "this week's AI updates", "what's on the frontier", "harness trends", "frontier-digest".
4
+ user-invocable: true
5
+ allowed-tools: ["Bash", "WebFetch", "WebSearch", "Write"]
6
+ model: sonnet
7
+ ---
8
+
9
+ # frontier-digest โ€” FH Frontier Insight Collection & Synthesis
10
+
11
+ > Automatically collects the latest AI/agent/harness engineering trends from HackerNews and arxiv,
12
+ > then compresses and synthesizes them into insights directly relevant to forge-harness skills and structure.
13
+
14
+ ## Triggers
15
+
16
+ ```
17
+ /frontier-digest # immediate execution
18
+ /frontier-digest --save # save result to file
19
+ "what's on the frontier"
20
+ "this week's AI trends"
21
+ "harness trends"
22
+ "latest agent developments"
23
+ "any ideas for improving the harness?"
24
+ ```
25
+
26
+ ---
27
+
28
+ ## Step 0. API Environment Detection
29
+
30
+ ```
31
+ Priority:
32
+ 1. ANTHROPIC_API_KEY environment variable โ†’ Claude Sonnet
33
+ 2. Neither โ†’ WebSearch mode (raw data only, no synthesis)
34
+ ```
35
+
36
+ Report detection result in one line. Example: `๐Ÿ”‘ Using Claude Sonnet`
37
+
38
+ ---
39
+
40
+ ## Step 1. Data Collection
41
+
42
+ ### HackerNews (Algolia API)
43
+
44
+ Collect latest stories by keyword. Via `curl`:
45
+
46
+ ```bash
47
+ for KW in "AI agent" "LLM harness" "Claude" "multi-agent" "context engineering"; do
48
+ curl -s --max-time 8 \
49
+ "https://hn.algolia.com/api/v1/search?query=$(echo $KW | tr ' ' '+')&tags=story&hitsPerPage=5&numericFilters=points>10"
50
+ done
51
+ ```
52
+
53
+ Collection criteria: score > 10, keyword-relevant items only. Max 15 items.
54
+
55
+ ### arxiv
56
+
57
+ ```bash
58
+ for Q in "multi-agent LLM" "AI software testing" "context engineering agents"; do
59
+ curl -s --max-time 8 \
60
+ "https://export.arxiv.org/api/query?search_query=all:${Q// /+}&max_results=2&sortBy=submittedDate&sortOrder=descending"
61
+ done
62
+ ```
63
+
64
+ Max 6 items.
65
+
66
+ ### TLDR AI (RSS)
67
+
68
+ ```bash
69
+ curl -s --max-time 8 "https://tldr.tech/api/rss/ai"
70
+ ```
71
+
72
+ Parse `<item>` โ†’ title + link. Max 5 items.
73
+
74
+ ### The Batch โ€” deeplearning.ai (HTML scraping)
75
+
76
+ ```bash
77
+ curl -s --max-time 10 -L "https://www.deeplearning.ai/the-batch/"
78
+ ```
79
+
80
+ Extract `"title":"..."` + `"slug":"issue-\d+"` pattern โ†’ URL: `https://www.deeplearning.ai/the-batch/{slug}/`. Max 5 items.
81
+
82
+ Report progress: `๐Ÿ“ก HN 15 items ยท arxiv 5 items ยท TLDR 5 items ยท Batch 5 items collected`
83
+
84
+ ---
85
+
86
+ ## Step 2. Synthesis
87
+
88
+ ### With Anthropic API
89
+
90
+ Prompt:
91
+
92
+ ```
93
+ You are an AI harness engineering expert.
94
+ Analyze the collected external data below and extract insights
95
+ directly relevant to forge-harness (FH) operations and improvement.
96
+
97
+ FH Context:
98
+ - FH = AI collaboration meta-harness (skill ยท plugin ยท agent system)
99
+ - Core skills: steel-quench, harness-doctor, sim-conductor,
100
+ agent-composer, apex-review
101
+ - Areas of interest: multi-agent orchestration, context engineering,
102
+ self-check gate, frontier cross-diagnosis
103
+
104
+ [Insert collected data]
105
+
106
+ Output format:
107
+ ## This Week's Frontier Highlights (max 3)
108
+ **[Title]** โ€” FH connection point in one sentence
109
+
110
+ ## FH Immediate Application Candidates
111
+ 2-3 specific ideas
112
+
113
+ ## Warning Signals
114
+ Noise or excessive complexity alerts (if any)
115
+
116
+ Length: within 400 characters. Start directly with content, no preamble.
117
+ ```
118
+
119
+ ### WebSearch Mode (no API key)
120
+
121
+ Search directly with WebSearch tool, then synthesize in context:
122
+
123
+ ```
124
+ Search: "AI agent harness 2025 site:news.ycombinator.com"
125
+ Search: "multi-agent LLM orchestration latest"
126
+ ```
127
+
128
+ ---
129
+
130
+ ## Step 3. Output
131
+
132
+ Print synthesis result in the conversation:
133
+
134
+ ```markdown
135
+ ## ๐Ÿ”ญ FH Frontier Digest โ€” YYYY-MM-DD
136
+
137
+ ๐Ÿ”‘ [Engine used: Claude Sonnet / WebSearch]
138
+
139
+ ## This Week's Frontier Highlights
140
+ ...
141
+
142
+ ## FH Immediate Application Candidates
143
+ ...
144
+
145
+ ## Warning Signals
146
+ ...
147
+
148
+ ---
149
+ ๐Ÿ“Š Collected: HN N items ยท arxiv N items ยท TLDR N items ยท Batch N items | [View sources โ†’]
150
+ ```
151
+
152
+ ### With --save flag
153
+
154
+ ```python
155
+ # Save path priority
156
+ # 1. FH install path digests/
157
+ # 2. ~/.claude/frontier-digest/digests/
158
+ # 3. current cwd/digests/
159
+
160
+ path = f"digests/frontier_{today}.md"
161
+ ```
162
+
163
+ After saving: `โœ… Saved: {path}`
164
+
165
+ ---
166
+
167
+ ## Step 4. Chaining โ€” Improvement Suggestion Connection
168
+
169
+ Immediately after Step 3 output, if **"FH Immediate Application Candidates"** has 1+ items, automatically suggest one of the following:
170
+
171
+ ### 4-a. FH Skill/Structure Improvement Suggestion (default)
172
+
173
+ ```
174
+ ๐Ÿ’ก Improvement candidate found โ€” would you like to connect to:
175
+
176
+ [1] /field-harvest โ€” absorb above candidates into FH skills/plugins
177
+ [2] /meta-prompt-builder โ€” write immediate candidates as skill prompts
178
+ [3] Save fh_signal โ€” record signal to tracks/_meta/fh_signal_{today}.md
179
+ [4] persona-innovator โ€” run innovator agent against candidates (naming/framing proposals + gap analysis)
180
+ [5] Skip (insights only for now)
181
+ ```
182
+
183
+ **โ†’ When to use [4] persona-innovator**: Frontier candidates contain new architectural patterns, naming opportunities, or design frames not yet in FH vocabulary. persona-innovator compares the external signal against existing FH assets and proposes concrete naming/framing actions. Runs as Mode E (external scan) with the frontier candidates as input context.
184
+
185
+ If user selects [3], create signal file in this format:
186
+
187
+ ```markdown
188
+ ---
189
+ date: YYYY-MM-DD
190
+ source: frontier-digest
191
+ engine: [Claude Sonnet / WebSearch]
192
+ ---
193
+
194
+ # FH Improvement Signal โ€” YYYY-MM-DD
195
+
196
+ ## Sources
197
+ HN N items + arxiv N items collected
198
+
199
+ ## Immediate Application Candidates
200
+ [Copy Step 2 "FH Immediate Application Candidates" items here]
201
+
202
+ ## Processing Status
203
+ - [ ] Pending review
204
+ ```
205
+
206
+ ### 4-b. Connected Project Improvement Suggestion (when context detected)
207
+
208
+ If keywords related to user projects appear in collected data:
209
+
210
+ ```
211
+ ๐Ÿ“Œ [Project name] related signal detected โ€” would you like to forward insights to that project?
212
+ e.g.: "QA testing automation" paper โ†’ can connect to your-project
213
+ ```
214
+
215
+ ### 4-c. Automatic Chaining (--chain flag)
216
+
217
+ When running `/frontier-digest --chain`:
218
+ 1. Auto-save immediate application candidates as fh_signal file (with `--save`)
219
+ 2. Auto-invoke `persona-innovator` Mode E with candidates as input โ€” extracts naming/framing proposals (no user prompt needed)
220
+ 3. Auto-propose `field-harvest` skill with persona-innovator output as context (with user approval gate)
221
+
222
+ ---
223
+
224
+ ## Environment Setup Guide (initial notice)
225
+
226
+ When running `/frontier-digest` for the first time without API key set:
227
+
228
+ ```
229
+ ๐Ÿ”‘ No API key detected โ€” running in WebSearch mode.
230
+
231
+ For more precise synthesis:
232
+ Anthropic: export ANTHROPIC_API_KEY=sk-ant-xxx
233
+
234
+ To save key permanently (~/.cc_secrets pattern):
235
+ echo 'export ANTHROPIC_API_KEY=sk-ant-xxx' > ~/.cc_secrets
236
+ chmod 600 ~/.cc_secrets
237
+ ```
238
+
239
+ ---
240
+
241
+ ## Done When
242
+
243
+ | Condition | Completion |
244
+ |---|---|
245
+ | Step 3 synthesis result printed in conversation | โœ… Basic execution complete |
246
+ | With `--save` flag: `โœ… Saved: {path}` confirmed | โœ… Save complete |
247
+ | With `--chain` flag: persona-innovator Mode E invoked + field-harvest proposed | โœ… Chaining complete |
248
+ | All curl failures โ†’ fallback to WebSearch synthesis output | โœ… Fallback complete |
249
+
250
+ **Incomplete**: Exiting without collection + synthesis output = Fail. `--save` invoked but no file = Fail.
251
+
252
+ **โ†’ Auto-propose chain when 1+ Immediate Application Candidates found (without --chain flag):**
253
+ Present Step 4 menu options [1]โ€“[5]. Do not skip to [5] silently โ€” surface the chain options even for basic runs.
254
+
255
+ ---
256
+
257
+ ## Simplification Guards
258
+
259
+ - If 3+ arxiv queries fail, proceed with HN only (do not abort)
260
+ - On curl timeout, skip that item and continue with the rest
261
+ - If synthesis result exceeds 400 characters, retain top 3 items and truncate the rest
262
+ - Without `--save`, do not create files (conversation output only)
263
+
264
+ ---
265
+
266
+ ## External Environment Adaptation
267
+
268
+ | Environment | Behavior |
269
+ |---|---|
270
+ | ANTHROPIC_API_KEY available | Claude Sonnet auto-selected |
271
+ | No API key | WebSearch mode auto-downgrade |
272
+ | All curl blocked | WebSearch mode forced |