# Send Nyne Deep Research to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "nyne-deep-research",
    "name": "Nyne Deep Research",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/MichaelFanous2/nyne-deep-research",
    "canonicalUrl": "https://clawhub.ai/MichaelFanous2/nyne-deep-research",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/nyne-deep-research",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=nyne-deep-research",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "SKILL.md"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "nyne-deep-research",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-06T07:10:26.236Z",
      "expiresAt": "2026-05-13T07:10:26.236Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=nyne-deep-research",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=nyne-deep-research",
        "contentDisposition": "attachment; filename=\"nyne-deep-research-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "nyne-deep-research"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/nyne-deep-research"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/nyne-deep-research",
    "downloadUrl": "https://openagent3.xyz/downloads/nyne-deep-research",
    "agentUrl": "https://openagent3.xyz/skills/nyne-deep-research/agent",
    "manifestUrl": "https://openagent3.xyz/skills/nyne-deep-research/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/nyne-deep-research/agent.md"
  }
}
```
## Documentation

### Nyne Deep Research Skill

Research any person by email, phone, social URL, or name. Returns a comprehensive intelligence dossier with psychographic profile, social graph, career analysis, conversation starters, and approach strategy.

Important: This API is async with high latency (2-5 min processing). You submit a request, get a request_id, then poll until complete.

### Agent Instructions

When presenting results to the user, show maximum depth — display every section of the dossier in full. Do not summarize or truncate. Walk through each section sequentially:

Identity Snapshot — who they are
Career DNA — trajectory and superpower
Psychographic Profile — values, motivations, archetypes
Personal Life & Hobbies — interests outside work
Social Graph Analysis — inner circle, professional network, interest graph
Interest Cluster Deep Dive — all 9 clusters with detail
Content & Voice Analysis — topics, tone, opinions, quotes
Key Relationships — full list with relationship nature and importance
Conversation Starters — all 4 hook categories
Recommendations / How Others See Them — reputation signals
Warnings & Landmines — topics to avoid, sensitivities
Creepy-Good Insights — non-obvious findings with evidence
Approach Strategy — best angle, topics, what not to do

Also include enrichment data (contact info, work history, education) and note whether following and articles sections have data.

If dossier is null, present the enrichment data and let the user know the full dossier was not generated (this can happen with duplicate or cached requests — resubmit with a different identifier).

If following or articles are null, simply note they were not available for this person.

### Setup

Required environment variables:

NYNE_API_KEY — your Nyne API key
NYNE_API_SECRET — your Nyne API secret

Get credentials at https://api.nyne.ai.

Set these in your shell before running any commands:

export NYNE_API_KEY="your-api-key"
export NYNE_API_SECRET="your-api-secret"

To persist across sessions, add the exports to your shell profile (~/.zshrc, ~/.bashrc, etc.) or create a .env file and source it:

# Create .env file (keep out of version control)
echo 'export NYNE_API_KEY="your-api-key"' >> ~/.nyne_env
echo 'export NYNE_API_SECRET="your-api-secret"' >> ~/.nyne_env
source ~/.nyne_env

Verify they're set:

echo "Key: ${NYNE_API_KEY:0:8}... Secret: ${NYNE_API_SECRET:0:6}..."

### Important: JSON Handling

The API response can contain control characters in JSON string values that break jq. All examples below use a nyne_parse helper that pipes through python3 to clean and re-encode the JSON before passing to jq. Define it once per session:

nyne_parse() {
  python3 -c "
import sys, json, re
raw = sys.stdin.read()
clean = re.sub(r'[\\x00-\\x1f]+', ' ', raw)
data = json.loads(clean)
json.dump(data, sys.stdout)
"
}

### Quick Start

Submit a research request by email and poll until complete:

# Define helper (strips control chars, re-encodes clean JSON)
nyne_parse() {
  python3 -c "
import sys, json, re
raw = sys.stdin.read()
clean = re.sub(r'[\\x00-\\x1f]+', ' ', raw)
data = json.loads(clean)
json.dump(data, sys.stdout)
"
}

# Submit research request
REQUEST_ID=$(curl -s -X POST "https://api.nyne.ai/person/deep-research" \\
  -H "Content-Type: application/json" \\
  -H "X-API-Key: $NYNE_API_KEY" \\
  -H "X-API-Secret: $NYNE_API_SECRET" \\
  -d '{"email": "someone@example.com"}' | nyne_parse | jq -r '.data.request_id')

echo "Request submitted: $REQUEST_ID"

# Poll until complete (checks every 5s, times out after 10 min)
SECONDS_WAITED=0
while [ $SECONDS_WAITED -lt 600 ]; do
  curl -s "https://api.nyne.ai/person/deep-research?request_id=$REQUEST_ID" \\
    -H "X-API-Key: $NYNE_API_KEY" \\
    -H "X-API-Secret: $NYNE_API_SECRET" | nyne_parse > /tmp/nyne_response.json
  STATUS=$(jq -r '.data.status' /tmp/nyne_response.json)
  echo "Status: $STATUS ($SECONDS_WAITED seconds elapsed)"
  if [ "$STATUS" = "completed" ]; then
    jq '.data.result' /tmp/nyne_response.json
    break
  elif [ "$STATUS" = "failed" ]; then
    echo "Research failed."
    jq . /tmp/nyne_response.json
    break
  fi
  sleep 5
  SECONDS_WAITED=$((SECONDS_WAITED + 5))
done

if [ $SECONDS_WAITED -ge 600 ]; then
  echo "Timed out after 10 minutes. Try polling manually with request_id: $REQUEST_ID"
fi

### Submit Research (POST)

Endpoint: POST https://api.nyne.ai/person/deep-research

Headers:

Content-Type: application/json
X-API-Key: $NYNE_API_KEY
X-API-Secret: $NYNE_API_SECRET

Parameters:

ParameterTypeDescriptionemailstringEmail addressphonestringPhone numbersocial_media_urlstring or arraySocial profile URL(s), up to 3namestringFull name (use with company or city for disambiguation)companystringCompany name (helps disambiguate name)citystringCity (helps disambiguate name)callback_urlstringWebhook URL to POST results when complete

At least one identifier is required: email, phone, social_media_url, or name with company/city.

### Examples

By email:

curl -s -X POST "https://api.nyne.ai/person/deep-research" \\
  -H "Content-Type: application/json" \\
  -H "X-API-Key: $NYNE_API_KEY" \\
  -H "X-API-Secret: $NYNE_API_SECRET" \\
  -d '{"email": "someone@example.com"}' | nyne_parse | jq .

By social media URL:

curl -s -X POST "https://api.nyne.ai/person/deep-research" \\
  -H "Content-Type: application/json" \\
  -H "X-API-Key: $NYNE_API_KEY" \\
  -H "X-API-Secret: $NYNE_API_SECRET" \\
  -d '{"social_media_url": "https://twitter.com/elonmusk"}' | nyne_parse | jq .

By multiple social URLs:

curl -s -X POST "https://api.nyne.ai/person/deep-research" \\
  -H "Content-Type: application/json" \\
  -H "X-API-Key: $NYNE_API_KEY" \\
  -H "X-API-Secret: $NYNE_API_SECRET" \\
  -d '{"social_media_url": ["https://twitter.com/elonmusk", "https://linkedin.com/in/elonmusk"]}' | nyne_parse | jq .

By name + company:

curl -s -X POST "https://api.nyne.ai/person/deep-research" \\
  -H "Content-Type: application/json" \\
  -H "X-API-Key: $NYNE_API_KEY" \\
  -H "X-API-Secret: $NYNE_API_SECRET" \\
  -d '{"name": "Jane Smith", "company": "Acme Corp"}' | nyne_parse | jq .

By phone:

curl -s -X POST "https://api.nyne.ai/person/deep-research" \\
  -H "Content-Type: application/json" \\
  -H "X-API-Key: $NYNE_API_KEY" \\
  -H "X-API-Secret: $NYNE_API_SECRET" \\
  -d '{"phone": "+14155551234"}' | nyne_parse | jq .

Submit response (HTTP 202):

{
  "success": true,
  "data": {
    "request_id": "abc123-def456-...",
    "status": "pending"
  }
}

### Poll for Results (GET)

Endpoint: GET https://api.nyne.ai/person/deep-research?request_id={id}

Headers: Same X-API-Key and X-API-Secret as above.

Status progression: pending → enriching → gathering → analyzing → completed (or failed)

This typically takes 2-3 minutes.

### Check status once

curl -s "https://api.nyne.ai/person/deep-research?request_id=$REQUEST_ID" \\
  -H "X-API-Key: $NYNE_API_KEY" \\
  -H "X-API-Secret: $NYNE_API_SECRET" | nyne_parse | jq '{status: .data.status, completed: .data.completed}'

### Full polling loop

SECONDS_WAITED=0
TIMEOUT=600  # 10 minutes

while [ $SECONDS_WAITED -lt $TIMEOUT ]; do
  curl -s "https://api.nyne.ai/person/deep-research?request_id=$REQUEST_ID" \\
    -H "X-API-Key: $NYNE_API_KEY" \\
    -H "X-API-Secret: $NYNE_API_SECRET" | nyne_parse > /tmp/nyne_response.json
  STATUS=$(jq -r '.data.status' /tmp/nyne_response.json)

  echo "[$(date +%H:%M:%S)] Status: $STATUS ($SECONDS_WAITED s)"

  case "$STATUS" in
    completed)
      jq '.data.result' /tmp/nyne_response.json
      break
      ;;
    failed)
      echo "Research failed:"
      jq '.data' /tmp/nyne_response.json
      break
      ;;
    *)
      sleep 5
      SECONDS_WAITED=$((SECONDS_WAITED + 5))
      ;;
  esac
done

if [ "$STATUS" != "completed" ] && [ "$STATUS" != "failed" ]; then
  echo "Timed out. Resume polling with request_id: $REQUEST_ID"
fi

### Response Structure

When status is completed, the response looks like:

{
  "success": true,
  "timestamp": "2025-01-15T12:00:00Z",
  "data": {
    "status": "completed",
    "completed": true,
    "request_id": "abc123-...",
    "created_on": "2025-01-15T11:57:00Z",
    "completed_on": "2025-01-15T12:00:00Z",
    "result": {
      "enrichment": { ... },
      "dossier": { ... },
      "following": { ... },
      "articles": [ ... ]
    }
  }
}

### result sections

SectionDescriptionenrichmentContact info, social profiles, bio, schools, work history (20+ keys)dossierThe main intelligence output — 15 sections (see below)followingTwitter/Instagram following data (can be null)articlesPress and media mentions (can be null)

### Dossier Sections Reference

The dossier object contains 15 sections:

### identity_snapshot

Top-level identity summary.

full_name, current_role, company, location, age_estimate, emails, social_profiles, headline, birthday, self_description

### career_dna

Career trajectory and strengths.

trajectory, superpower

### psychographic_profile

Values, motivations, and personality archetypes.

values, motivations, archetypes, political_leanings, cluster_analysis

### personal_life_hobbies

Interests and personality outside of work.

life_outside_work, entertainment_culture, personal_passions, active_hobbies_sports, quirks_personality

### social_graph_analysis

Network and relationship mapping.

inner_circle, professional_network, personal_interest_graph

### interest_cluster_deep_dive

Deep analysis across 9 interest clusters.

tech, sports_fitness, music_entertainment, food_lifestyle, causes_politics, intellectual_interests, geographic_ties, personal_network, unexpected_surprising

### content_voice_analysis

How they communicate and what they care about.

topics, tone, humor_style, strong_opinions, frustrations, notable_quotes, recent_wins

### content_analysis

Alias of content_voice_analysis (kept for backward compatibility).

### key_relationships

List of ~25 objects describing important connections.

Each: name, handle, followers, relationship_nature, why_important

### key_influencers

Alias of key_relationships.

### conversation_starters

Hooks to open conversation, in 4 categories.

professional_hooks, personal_interest_hooks, current_events_hooks, shared_experience_hooks

### recommendations_how_others_see_them

Public perception and reputation signals.

highlighted_qualities, colleague_descriptions, patterns_in_praise

### warnings_landmines

Topics and areas to avoid.

topics_to_avoid, political_hot_buttons, sensitive_career_history, competitors_they_dislike

### creepy_good_insights

Non-obvious insights derived from data.

List of objects: insight, evidence

### approach_strategy

How to approach this person.

best_angle, topics_that_resonate, personal_interests_to_reference, shared_connections, what_not_to_do

### Useful jq Filters

After polling completes, the clean response is at /tmp/nyne_response.json. Use jq directly on the file:

# Extract identity snapshot
jq '.data.result.dossier.identity_snapshot' /tmp/nyne_response.json

# Get all conversation starters
jq '.data.result.dossier.conversation_starters' /tmp/nyne_response.json

# List key relationships (name + why important)
jq '.data.result.dossier.key_relationships[] | {name, why_important}' /tmp/nyne_response.json

# Get approach strategy
jq '.data.result.dossier.approach_strategy' /tmp/nyne_response.json

# Extract a specific dossier section by name
jq --arg s "psychographic_profile" '.data.result.dossier[$s]' /tmp/nyne_response.json

# Get enrichment contact info
jq '.data.result.enrichment | {emails, phones, linkedin_url, twitter_url}' /tmp/nyne_response.json

# Check processing status only
jq '{status: .data.status, completed: .data.completed, request_id: .data.request_id}' /tmp/nyne_response.json

# Get warnings and landmines
jq '.data.result.dossier.warnings_landmines' /tmp/nyne_response.json

# List all creepy-good insights
jq '.data.result.dossier.creepy_good_insights[].insight' /tmp/nyne_response.json

### Error Handling

HTTP CodeErrorDescription400INVALID_PARAMETERSMalformed request body400MISSING_PARAMETERNo identifier provided (need email, phone, social_media_url, or name+company/city)401AUTHENTICATION_FAILEDInvalid or missing API key/secret402INSUFFICIENT_CREDITSNot enough credits (100 credits per request)403NO_ACTIVE_SUBSCRIPTIONSubscription required403ACCESS_DENIEDAccount does not have access429RATE_LIMIT_EXCEEDEDToo many requests500QUEUE_ERRORInternal processing error

### Rate Limits & Costs

Rate limits: 10 requests/minute, 100 requests/hour
Cost: 100 credits per research request
Processing time: Typically 2-3 minutes, up to 5 minutes
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: MichaelFanous2
- Version: 1.0.0
## Source health
- Status: healthy
- Item download looks usable.
- Yavira can redirect you to the upstream package for this item.
- Health scope: item
- Reason: direct_download_ok
- Checked at: 2026-05-06T07:10:26.236Z
- Expires at: 2026-05-13T07:10:26.236Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/nyne-deep-research)
- [Send to Agent page](https://openagent3.xyz/skills/nyne-deep-research/agent)
- [JSON manifest](https://openagent3.xyz/skills/nyne-deep-research/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/nyne-deep-research/agent.md)
- [Download page](https://openagent3.xyz/downloads/nyne-deep-research)