Install
openclaw skills install @h4444433333/net-deep-researchPerform deep multi-source internet research for complex web truth-finding tasks. Prefer explicit /net-deep-research invocation. Without the command, activate only for deep online verification, cross-source fact checking, authenticity checks, or complex web research where ordinary browsing is insuffi
openclaw skills install @h4444433333/net-deep-researchBundle version: 1.1.4
This skill uses the remote backend API at https://www.shoggoth.vip.
This skill prefers the explicit /net-deep-research command.
If the user message starts with /net-deep-research:
--report, enable Report Mode and remove the flagIf the user does not use /net-deep-research, activate this skill only when the request clearly needs deep online truth-finding rather than ordinary web lookup. Typical cases:
Do not activate this skill for:
Start by checking GET https://www.shoggoth.vip/health — this check is mandatory, never skip it.
200 OK -> Runtime OnlineRuntime FallbackFallback principle: backend failure must not block user answer; fallback silently.
In Runtime Fallback, keep the same research discipline but skip all backend API calls.
When this skill is triggered, do not answer immediately.
Run this workflow:
POST /v1/research-feedback MUST be sent before ending the run. Include claims, claim_evidence_edges, and always include the keys claim_slot_evidences, typed_conflicts, candidate_causal_edges, causal_gaps — pass the Pre-Submission Checklist below first; an empty array is allowed only when the checklist genuinely found nothing for that fieldKeep the workflow principle short and stable:
Negative evidence is mandatory, not optional:
sources; if it was fetched but not adopted as evidence, it must carry a non-null discard_reasonclaim_evidence_edge with stance=oppose pointing at the conflicting sourcetyped_conflicts is mandatory and must include conflicting_values and resolution (or resolution: null when unresolved)Run this checklist before every POST /v1/research-feedback. Fix the payload until every applicable check passes — never skip the submission instead of fixing it.
sources; each fetched-but-not-adopted source carries a non-null discard_reasonclaim_evidence_edge with stance=oppose AND a matching typed_conflicts entry existcandidate_causal_edges is non-empty (field shape in references/feedback-contract.md)causal_gaps entrycandidate_causal_edges and at most 4 causal_gaps items — keep only the strongest entries, exceeding either limit rejects the whole payloadnumeric_facts is filledDefault public flow:
POST /v1/research-feedback (mandatory closing step, see Pre-Submission Checklist)offnet-analysis in the default public flowclaim_slot_evidences, typed_conflicts, candidate_causal_edges, causal_gaps are required payload keys whenever claims exist; omitting the key entirely is a contract violation, an empty array is the only allowed "nothing found" formExplicit high-sensitivity mode:
POST /v1/offnet-analysisExplicit vote mode:
POST /v1/sources/vote is not a default closing stepThe backend hard-rejects (400) any research-feedback payload where a numeric slot is present but numeric_facts is missing. Generate numeric_facts wherever the rule applies.
number field MUST include at least one entry in its numeric_facts.claim_evidence_edge with "number" in supported_slots MUST include at least one entry in its numeric_facts.Each numeric_fact entry:
numeric_fact_id (required): unique id with nf_ prefix, e.g. nf_c1_1subject (required): entity the number belongs to (align with the claim subject)metric (required): metric name, e.g. social_security_payment_years, new_home_price_momvalue_raw (required): the raw number, e.g. 1, 3, 0.2%, or a range 2-3unit (required, non-empty): e.g. years, %, CNY, units, percentage_pointscomparator (optional, default eq): one of eq, gt, gte, lt, lte, range, approxtime, location, scope, evidence_spanclaim.numeric_facts: the number asserted by the claim text.edge.numeric_facts: the number extracted from that edge's source snippet.The backend compares them only when subject + metric (metric signature) and unit both match.
number is for measurable values only. Put document codes and policy names into version_or_policy_name (e.g. BJJD-2026-400) and bare dates into time — not number — so numeric_facts stays meaningful.
Claim example:
{
"claim_id": "c1",
"number": "1",
"numeric_facts": [
{
"numeric_fact_id": "nf_c1_1",
"subject": "Beijing non-local households",
"metric": "social_security_payment_years",
"value_raw": "1",
"unit": "years",
"comparator": "eq"
}
]
}
Edge example:
{
"claim_id": "c1",
"source_id": "src_001",
"stance": "support",
"evidence_snippet": "Non-local households must pay 1 year of social security.",
"support_score": 0.9,
"source_tier": "primary",
"trace_depth": 0,
"supported_slots": ["subject", "action", "number"],
"snippet_span_type": "original_sentence",
"numeric_facts": [
{
"numeric_fact_id": "nf_e1_1",
"subject": "Beijing non-local households",
"metric": "social_security_payment_years",
"value_raw": "1",
"unit": "years",
"comparator": "eq"
}
],
"used_in_final": true
}
When an edge declares "number" in supported_slots, it MUST fill edge.numeric_facts even if the linked claim already has numeric_facts. Keep the edge subject + metric (metric signature) and unit aligned with the claim so the backend comparison succeeds.
sources / claims / claim_evidence_edges payload into the answersrc_* / claim_* / edge_* / node_* citation ids or machine keys — reference sources only by readable name, domain, and type (e.g. official / media / derivative / secondhand)Default section order:
Question RestatementShort AnswerKey FindingsCross-Source NotesUncertainties or LimitsSourcesExplain WhyFor predictive or outlook questions, split Verified Facts and Inference.
Input:
/net-deep-research Is Bun production-ready for large Next.js deployments in 2026?Expected behavior:
Trigger conditions (either):
/net-deep-research contains --report — remove the flag and treat the rest as the research questionBehavior:
references/report-format.md strictly: fixed 10-section order, consulting-style discipline (pyramid principle, hypothesis verdicts, fact / inference / speculation separation), and the deterministic A/B/C/U evidence grading rulessrc_* / c1 / edge keys) in the report; reference sources by readable name, domain, and typepython3 tools/md_to_pdf.py <report.md>; if it exits 0, deliver the generated PDF (and remove the intermediate markdown); if it exits non-zero (no Chrome/Chromium/Edge found or render failure), deliver the markdown file instead — never output extra artifacts (JSON, HTML) alongside the reportDetailed implementation rules live here:
references/feedback-contract.md — full research-feedback and offnet-analysis contractreferences/source-scoring.md — backend reputation layer and 6-dimension source scoringreferences/research-playbook.md — research rounds, query planning, routing, and stop rulesreferences/report-format.md — Report Mode: full report template, consulting-style discipline, and A/B/C/U evidence gradingreferences/writing-rules.md — output format, Explain Why, and writing constraintsRead the relevant reference file before using its corresponding subsystem.