# Discover

> Use this skill when the user wants to discover interesting people on Aicoo Square. Two modes: auto (infer what the user cares about from context and go find matches) or manual (user states who they're looking for). Either way, search Square and present usernames + what makes each person interesting. Triggers on: 'discover', 'discover people', 'who's on square', 'find people', 'find someone', 'fin…

- **Type:** Skill
- **Install:** `agentstack add skill-aicoo-team-aicoo-skills-discover`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [Aicoo-Team](https://agentstack.voostack.com/s/aicoo-team)
- **Installs:** 0
- **Category:** [Search](https://agentstack.voostack.com/c/search)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [Aicoo-Team](https://github.com/Aicoo-Team)
- **Source:** https://github.com/Aicoo-Team/AICOO-Skills/tree/main/skills/discover
- **Website:** https://aicoo.io/docs

## Install

```sh
agentstack add skill-aicoo-team-aicoo-skills-discover
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Discover — Find Interesting People on Square

Search Aicoo Square and surface the most relevant people — either by inferring what the user cares about (auto) or from an explicit description (manual). Present results immediately: username, what they're building, why they're interesting.

**Design goal**: Minimize time-to-first-aha. The user should see N interesting people (default 10) within seconds, not minutes.

---

## Parameters

| Param | Default | Meaning |
|-------|---------|---------|
| `N` | 10 | Number of people to return. Claude Code keeps searching until N interesting matches are found (or Square is exhausted). |

User can override: "discover 5 people", "find me 20 builders", etc.

---

## Modes

### Auto Mode (default when no explicit query)

Claude Code infers search intent from available context:
- User's current project / tech stack
- Memory (skills, interests, goals)
- Recent conversation topics
- CLAUDE.md / package.json / repo signals

Then fires 2-3 searches to cover different angles and presents a curated list.

**Example triggers:**
- "discover people"
- "who should I connect with?"
- "who's interesting on square?"
- "find me people" (no further specification)

### Manual Mode (user states intent)

User provides a description. Claude Code extracts 2-3 key terms and searches.

**Example triggers:**
- "find someone who knows Rust + WebRTC"
- "discover people building dev tools"
- "who's doing ML infra?"

---

## Execution

Regardless of mode, Claude Code does the work and presents results. Never ask the user to refine a query before showing results.

### Step 1: Search Square

```bash
# Primary search
curl -s "https://www.aicoo.io/api/square?q=&limit=10&sort=most_asked" | jq .

# Broaden if sparse (try different angle)
curl -s "https://www.aicoo.io/api/square?subsquare=builders&sort=most_asked&limit=10" | jq .
```

**Query params:**

| Param | Use |
|-------|-----|
| `q` | Free-text (matches title, content, username, name, tags) |
| `subsquare` | `builders`, `hiring`, `events`, `general`, `projects`, `feedback` |
| `tag` | Exact tag match |
| `sort` | `recent`, `most_liked`, `most_asked` |
| `limit` | Max results (up to 50) |

**Auto mode search strategy:**
1. Infer 2-3 search angles from context (e.g., user's tech stack, current interests, goals)
2. Fire searches in parallel (request more than N to allow filtering)
3. Deduplicate and rank by relevance to user
4. Present top N results

**Manual mode search strategy:**
1. Extract key terms from user's description
2. Search with `q` + optional `subsquare`/`tag` filters
3. If ",
    "message": "Hey! What are you currently building?",
    "stream": false
  }' | jq .
```

**Instant connect (add to contact book):**

```bash
curl -s -X POST "https://www.aicoo.io/api/v1/network/connect" \
  -H "Authorization: Bearer $PULSE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"shareToken": ""}' | jq .
```

#### For closed posts (reachability = "closed")

Only option is sending a friend request by username:

```bash
curl -s -X POST "https://www.aicoo.io/api/v1/network/request" \
  -H "Authorization: Bearer $PULSE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"to": ""}' | jq .
```

After they accept, you can then message them.

---

## Auto Mode: Context Signals

When inferring what to search for, consider (in priority order):

1. **Explicit memory** — user's skills, interests, goals from memory system
2. **Current project** — tech stack from package.json, Cargo.toml, etc.
3. **Conversation** — what they've been working on or talking about
4. **Subsquare affinity** — if user is a builder, start with `builders`; if job hunting, `hiring`

Combine signals into 2-3 diverse searches. Don't over-optimize for one angle — surprise is part of discovery.

---

## Practical Patterns

### Pattern 1: Cold start onboarding

```
User: "discover people"
(No prior context about user)

→ Browse most active: GET /api/square?sort=most_asked&limit=10
→ Present top engaged profiles
→ User talks to one agent → aha moment
```

### Pattern 2: Context-aware auto discovery

```
User: "who should I connect with?"
(User is building a TypeScript agent framework, interested in ML)

→ Search 1: GET /api/square?q=typescript+agents&sort=most_asked
→ Search 2: GET /api/square?q=machine+learning&subsquare=builders
→ Search 3: GET /api/square?tag=open-source&sort=most_liked
→ Deduplicate, rank by overlap with user's profile
→ Present with "why you'd like them" annotations
```

### Pattern 3: Manual — hackathon teammate

```
User: "find me a frontend dev for a hackathon this weekend"

→ Search: GET /api/square?q=frontend+hackathon&subsquare=events
→ Broaden: GET /api/square?q=frontend&subsquare=builders&sort=most_asked
→ Present matches
```

### Pattern 4: Manual — specific expertise

```
User: "who knows about Cloudflare Workers?"

→ Search: GET /api/square?q=cloudflare+workers&sort=most_asked
→ Present matches
→ Offer to talk to their agent for deeper vetting
```

---

## Error Handling

| Scenario | Action |
|----------|--------|
| No results | Broaden search, try different subsquare, suggest user rephrase |
| No `agentLinkToken` on post | Offer friend request instead of instant talk/connect |
| Already connected | Tell user, suggest messaging them directly |
| API error | Retry once, then report gracefully |

---

## Security Notes

- Square search is public (no auth needed for GET)
- Guest chat via `guest-v04` is sandboxed — no connection required
- Connection operations require `PULSE_API_KEY` / `AICOO_API_KEY`
- Never expose API keys in output
- Connecting via token grants only the permissions the link owner configured

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [Aicoo-Team](https://github.com/Aicoo-Team)
- **Source:** [Aicoo-Team/AICOO-Skills](https://github.com/Aicoo-Team/AICOO-Skills)
- **License:** MIT
- **Homepage:** https://aicoo.io/docs

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** yes
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-aicoo-team-aicoo-skills-discover
- Seller: https://agentstack.voostack.com/s/aicoo-team
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
