{"id":"9cfd793b-de60-4a05-8ce9-0e6de5558385","entityType":"agent","slug":"clawhub-thesentitrader-institutional-13f-tracker","name":"institutional-13f-tracker","canonicalUrl":"https://www.xpersona.co/agent/clawhub-thesentitrader-institutional-13f-tracker","canonicalPath":"/agent/clawhub-thesentitrader-institutional-13f-tracker","generatedAt":"2026-10-11T17:43:04.515Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-11T15:29:53.691Z","emptyReason":null},"description":"13F institutional ownership tracker: quarterly hedge fund and mutual fund holdings from SEC 13F filings, by ticker or by manager, with top institutional holders per stock, quarter-over-quarter buying and selling deltas, and activist investor positions across thousands of managers. Use for 13F filings, 13F holdings changes, hedge fund holdings, institutional ownership by ticker, who owns this stock, activist fund positions, and superinvestor portfolios. Read-only. No trading, no purchases, no write operations, no wallet access. Skill: institutional-13f-tracker Owner: thesentitrader Summary: 13F institutional ownership tracker: quarterly hedge fund and mutual fund holdings from SEC 13F filings, by ticker or by manager, with top institutional holders per stock, quarter-over-quarter buying and selling deltas, and activist investor positions across thousands of managers. Use for 13F filings, 13F holdings changes, hedge fund holdings, institutio","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1K downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s171aan38r2dn7ew5hddyscf1983x1h9:institutional-13f-tracker","sourceUrl":"https://clawhub.ai/thesentitrader/institutional-13f-tracker","homepage":"https://clawhub.ai/thesentitrader/skills/institutional-13f-tracker","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/thesentitrader/institutional-13f-tracker","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/thesentitrader/skills/institutional-13f-tracker","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":60,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"13F institutional ownership tracker: quarterly hedge fund and mutual fund holdings from SEC 13F filings, by ticker or by manager, with top institutional holders"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-11T15:29:53.691Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T15:29:53.691Z","emptyReason":null},"stars":null,"forks":null,"downloads":1039,"packageName":null,"latestVersion":"1.1.7","tractionLabel":"1K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T15:29:53.619Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T15:29:53.691Z","lastCrawledAt":"2026-10-11T15:29:53.619Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T15:29:53.619Z","lastVerifiedAt":null,"highlights":[{"version":"1.1.7","createdAt":"2026-10-04T05:09:22.286Z","changelog":"notableChanges is described for both tiers: PRO returns it with limit, the free preview omits it. Upgrade link uses coupon AGENTS.","fileCount":3,"zipByteSize":7313},{"version":"1.1.6","createdAt":"2026-09-08T07:42:09.494Z","changelog":"Declares permissions: network, credential, shell, and files.","fileCount":3,"zipByteSize":7250},{"version":"1.1.5","createdAt":"2026-09-06T07:56:28.196Z","changelog":"Corrects the per-holding value field name to valueUsd, aligns the quarter parameter with the endpoint list, and describes the shape of the flows response.","fileCount":3,"zipByteSize":7283},{"version":"1.1.4","createdAt":"2026-09-04T22:49:08.408Z","changelog":"holders/{ticker} no longer requires reportDate: omit it and the endpoint resolves the latest settled quarter with holders for that ticker and echoes the quarter it used. The quarter-first rule now excepts holders. CLI pin 0.52.0.","fileCount":3,"zipByteSize":6529},{"version":"1.1.3","createdAt":"2026-09-01T02:28:48.560Z","changelog":"Resolve the 13F quarter by the pending flag, never by position. Once the 45-day filing window closes there is no pending entry at all, so code that skips the first row quotes a quarter a full three months staler than what it was served.","fileCount":3,"zipByteSize":6297},{"version":"1.1.2","createdAt":"2026-08-23T23:43:19.846Z","changelog":"Document FREE preview exception: returnedCount/offset/notableChanges omitted on free tier even with limit","fileCount":3,"zipByteSize":6152},{"version":"1.1.1","createdAt":"2026-08-20T21:53:42.972Z","changelog":"Convergence guidance now includes insider Form 4 activity.","fileCount":3,"zipByteSize":6199},{"version":"1.1.0","createdAt":"2026-08-20T09:03:00.243Z","changelog":"Bonds and options endpoints listed, agent identity guidance","fileCount":3,"zipByteSize":6143}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s171aan38r2dn7ew5hddyscf1983x1h9:institutional-13f-tracker","setupComplexity":"low","setupSteps":["Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-thesentitrader-institutional-13f-tracker/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-thesentitrader-institutional-13f-tracker/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-thesentitrader-institutional-13f-tracker/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-thesentitrader-institutional-13f-tracker/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-thesentitrader-institutional-13f-tracker/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-thesentitrader-institutional-13f-tracker/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-11T17:43:04.510Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-thesentitrader-institutional-13f-tracker/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-thesentitrader-institutional-13f-tracker/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-thesentitrader-institutional-13f-tracker/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-thesentitrader-institutional-13f-tracker/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-11T15:29:53.691Z","emptyReason":null},"readme":"Skill: institutional-13f-tracker\n\nOwner: thesentitrader\n\nSummary: 13F institutional ownership tracker: quarterly hedge fund and mutual fund holdings from SEC 13F filings, by ticker or by manager, with top institutional holders per stock, quarter-over-quarter buying and selling deltas, and activist investor positions across thousands of managers. Use for 13F filings, 13F holdings changes, hedge fund holdings, institutional ownership by ticker, who owns this stock, activist fund positions, and superinvestor portfolios. Read-only. No trading, no purchases, no write operations, no wallet access.\n\nTags: latest:1.1.7\n\nVersion history:\n\nv1.1.7 | 2026-10-04T05:09:22.286Z | user\n\nnotableChanges is described for both tiers: PRO returns it with limit, the free preview omits it. Upgrade link uses coupon AGENTS.\n\nv1.1.6 | 2026-09-08T07:42:09.494Z | user\n\nDeclares permissions: network, credential, shell, and files.\n\nv1.1.5 | 2026-09-06T07:56:28.196Z | user\n\nCorrects the per-holding value field name to valueUsd, aligns the quarter parameter with the endpoint list, and describes the shape of the flows response.\n\nv1.1.4 | 2026-09-04T22:49:08.408Z | user\n\nholders/{ticker} no longer requires reportDate: omit it and the endpoint resolves the latest settled quarter with holders for that ticker and echoes the quarter it used. The quarter-first rule now excepts holders. CLI pin 0.52.0.\n\nv1.1.3 | 2026-09-01T02:28:48.560Z | user\n\nResolve the 13F quarter by the pending flag, never by position. Once the 45-day filing window closes there is no pending entry at all, so code that skips the first row quotes a quarter a full three months staler than what it was served.\n\nv1.1.2 | 2026-08-23T23:43:19.846Z | user\n\nDocument FREE preview exception: returnedCount/offset/notableChanges omitted on free tier even with limit\n\nv1.1.1 | 2026-08-20T21:53:42.972Z | user\n\nConvergence guidance now includes insider Form 4 activity.\n\nv1.1.0 | 2026-08-20T09:03:00.243Z | user\n\nBonds and options endpoints listed, agent identity guidance\n\nv1.0.0 | 2026-07-18T22:14:27.877Z | user\n\nInitial release: 13F institutional ownership by ticker or manager, quarter-over-quarter ownership-change deltas, and top-10 holders per stock.\n\nArchive index:\n\nArchive v1.1.7: 3 files, 7313 bytes\n\nFiles: skill-card.md (2162b), SKILL.md (14095b), _meta.json (144b)\n\nFile v1.1.7:SKILL.md\n\n---\nname: institutional-13f-tracker\ndescription: \"13F institutional ownership tracker: quarterly hedge fund and mutual fund holdings from SEC 13F filings, by ticker or by manager, with top institutional holders per stock, quarter-over-quarter buying and selling deltas, and activist investor positions across thousands of managers. Use for 13F filings, 13F holdings changes, hedge fund holdings, institutional ownership by ticker, who owns this stock, activist fund positions, and superinvestor portfolios. Read-only. No trading, no purchases, no write operations, no wallet access.\"\nhomepage: https://sentisense.ai\nrequires:\n  env:\n    - SENTISENSE_API_KEY\nprimaryEnv: SENTISENSE_API_KEY\nmetadata:\n  openclaw:\n    requires:\n      env:\n        - SENTISENSE_API_KEY\n    primaryEnv: SENTISENSE_API_KEY\n---\n# Institutional 13F Tracker (SentiSense)\n\nSee who owns a stock and how the big money is repositioning. This skill reads institutional ownership from SEC 13F filings through the read-only SentiSense API: the top institutional holders for any ticker, aggregate buying and selling per stock, activist positions, and a full portfolio for any manager (from Berkshire Hathaway to the largest index funds), with quarter-over-quarter change types (new, increased, decreased, sold out) across thousands of filers.\n\nRead-only educational data interface. Output is informational context, never a personalized buy or sell recommendation.\n\n## When to Use\n\nReach for this skill when the question is about institutional ownership or 13F positioning:\n\n- \"Who owns $NVDA?\" or \"top institutional holders of $TSLA\"\n- \"What did Berkshire Hathaway buy and sell last quarter?\" (a manager's whole portfolio)\n- \"Is institutional money accumulating or distributing $AAPL?\" (aggregate flows)\n- \"Which activist funds took new positions this quarter?\"\n- \"How did 13F ownership of $COIN change quarter over quarter?\"\n\nThis skill pairs naturally with `politicians-stock-tracker` and `insider-trading-tracker`: line up 13F accumulation against a congressional purchase or an insider cluster buy on the same ticker. Convergence across sources is the high-conviction read.\n\nDo not use it for order entry, portfolio management, or personalized advice. It has no write, trading, or wallet surface; every endpoint is a GET.\n\n## What this data actually is (read before interpreting)\n\n- **13F is quarterly and lagged.** Institutions file 13F-HR within 45 days after each quarter end, so the freshest complete data is always the prior quarter. Never present it as real-time positioning.\n- **Always resolve the quarter first.** The quarter-scoped feeds (`/flows`, `/activist`, `/bonds`, `/options`) need a `reportDate`. Four endpoints do not: `/quarters` is the resolver itself, `/holders/{ticker}` resolves the latest settled quarter for the ticker when you omit it and echoes the one it used, `/institutions` takes an optional `quarter` (the `value` form, `2026Q2`, not a `reportDate`), and `/institution/{slugOrCik}` takes neither and answers on its own latest quarter. During the 45-day filing window after a quarter ends, the newest entry is `pending: true` and holds only early filers; use the first quarter with `pending: false` for complete data. **Filter on the flag, never on position.** Once the filing window closes, the pending entry is gone and the newest quarter in the array is already complete, so code that skips index 0 on the assumption that the first row is always pending will quote a quarter that is three months staler than what you were served. Checked live on 2026-08-31: the array led with Q2 2026 at `pending: false` and contained no pending entry at all.\n- **Filer categories:** `INDEX_FUND`, `HEDGE_FUND`, `ACTIVIST`, `PENSION`, `BANK`, `INSURANCE`, `MUTUAL_FUND`, `SOVEREIGN_WEALTH`, `ENDOWMENT`, `CONGLOMERATE`, `OTHER`.\n- **Parent/subsidiary rollups.** Large managers file under many CIKs (e.g. Vanguard). A filer profile carries `multiCikRollup` / `childCikCount` / `childCiks` so sub-manager holdings roll up into one portfolio. Report the rollup, not double-counted child rows.\n- **Report values as given.** The dollar field is **`valueUsd`** on both sides of the join: on a holder row under `/holders/{ticker}` and on a holding row inside a manager's portfolio. There is no bare `value` field on either. It arrives already denominated in US dollars, so quote it as the reported 13F value and do not re-scale or invent a unit. (`/bonds` names its own total `totalValue` and `/institutional/options` splits into `callValue` / `putValue`; those are the only other dollar keys in this family.)\n\n## Prerequisites\n\n- A free `SENTISENSE_API_KEY`. Get one at https://app.sentisense.ai/get-api-key. Required on every call; anonymous requests return `401 api_key_required`.\n- Any HTTP client. Plain `curl` works, or Python 3.8+ using only the standard library. On macOS python.org installs can raise `CERTIFICATE_VERIFY_FAILED`: run `Install Certificates.command`, use the system `/usr/bin/python3`, or use `curl`.\n- Network access to `https://app.sentisense.ai`.\n- Read-only scope. Every endpoint here is a GET.\n\n| Tier | Quota | Rate | 13F data |\n|------|-------|------|----------|\n| Free | 1,000 requests/month | 30 requests/min | preview slice (top N per endpoint) |\n| PRO ($15/mo) | Unlimited | 300 requests/min | full holder lists and full portfolios |\n\n## Permissions\n\n- Network: HTTPS to app.sentisense.ai only.\n- Credentials: SENTISENSE_API_KEY from the environment.\n- Shell: none required.\n- Files: none.\n\n## How to Run\n\nIssue HTTP GET requests to `https://app.sentisense.ai`, authenticated with the `X-SentiSense-API-Key` header. Keep the key in the shell environment; never place it in a query string or in user-facing output.\n\n**Step 1, always: resolve the quarter.** `/quarters` is a bare array (no envelope). Every other institutional endpoint returns the wrapped envelope `{ isPreview, previewReason, data }`, so unwrap `.data` first. Unwrapping is not the same as iterating: on `/holders/{ticker}`, `/institution/{slugOrCik}`, `/institutions` and `/flows` the unwrapped `data` is an **object**, and the rows sit one level further in (`data.holders`, `data.holdings`, `data.institutions`, and `data.inflows` / `data.outflows` respectively). Check for a list before you loop. A `429` returns a `Retry-After` header; back off rather than serving a stale value.\n\n**Identify your client.** Send a `User-Agent` naming your agent runtime and this skill, for\nexample `OpenClaw/1.4 (institutional-13f-tracker)` or `ClaudeCode/2.1 (institutional-13f-tracker)`. Substitute your own runtime and\nversion if neither matches. You can also volunteer what your agent is called by adding an\n`agent/<your-agent-name>` token inside the same parentheses, as in\n`OpenClaw/1.4 (institutional-13f-tracker; agent/research-desk)`. All of it is optional, and it is what tells\nus this skill has real integrations behind it, so it gets prioritized and you get notice before it\nchanges.\n\n```bash\n# 1) get valid reporting quarters, pick the first with pending=false\ncurl -s -H \"X-SentiSense-API-Key: $SENTISENSE_API_KEY\" \\\n  \"https://app.sentisense.ai/api/v1/institutional/quarters\"\n# -> [{ \"value\": ..., \"label\": \"Q4 2025\", \"reportDate\": \"2025-12-31\", \"pending\": false }, ...]\n```\n\n## Endpoints\n\n- **`GET /api/v1/institutional/quarters`** : available 13F reporting quarters. **Public**, bare array of `{ value, label, reportDate, pending }`, newest first. Call this first; use the first `pending: false` `reportDate` everywhere below.\n- **`GET /api/v1/institutional/holders/{ticker}`** : institutional holders for a stock. `reportDate` is **optional here**: omit it and the endpoint resolves the latest quarter that actually has holders for this ticker, preferring a settled quarter over a still-filing one, and tells you which one it used in `data.reportDate`. Pass `?reportDate=` from `/quarters` when you want a specific quarter or are comparing several tickers on one date. The holder list is nested at **`data.holders`** (not `data` directly). Each holder carries `filerName`, `filerCik`, `filerCategory`, `entitySlug`, `cikCount`, `shares`, `sharesChange`, `sharesChangePct`, **`valueUsd`** (the dollar field, there is no bare `value`), and `changeType` (`NEW` / `INCREASED` / `DECREASED` / `SOLD_OUT` / `UNCHANGED`). `data` always carries `holderCount` (full-quarter count). **Paging (recommended):** pass `limit` (1-1000), `offset`, `sortBy`, `sortDir`. A mega-cap can have 5,000+ holders, and `notableChanges` (holders with a 10%+ change on 10k+ shares) plus `returnedCount` are returned **only when `limit` is passed**. Free: top 5, and free previews omit `returnedCount`, `offset`, and `notableChanges` even when `limit` is passed (`holderCount` stays the full-quarter count).\n- **`GET /api/v1/institutional/flows?reportDate=`** : aggregate institutional buying/selling per ticker. **`data` is an object, not a list**, so iterating `.data` gets you nothing: the two ranked ticker arrays are at **`data.inflows`** and **`data.outflows`**, alongside `data.reportDate`, `data.filerCount`, `data.baselineFilerCount` and `data.isPending`. Each row carries `ticker`, `companyName`, `dollarFlowUsd`, `netSharesChange`, `totalSharesBought` / `totalSharesSold`, the position counts (`newPositions`, `increasedPositions`, `decreasedPositions`, `soldOutPositions`), `avgClosePrice`, and a per-category net-change breakdown (`hedgeFundNetChange`, `indexFundNetChange`, `activistNetChange`, and one per remaining filer category). Free: top 5.\n- **`GET /api/v1/institutional/activist?reportDate=`** : activist-filer positions for the quarter (NEW or INCREASED stakes). Free: top 3; PRO: full.\n- **`GET /api/v1/institutional/bonds?reportDate=`** : convertible bond flows grouped by base ticker, the credit-side leg of the same 13F filings. Free: top 3; PRO: full.\n- **`GET /api/v1/institutional/options?reportDate=`** : institutional options positions with the call/put breakdown, as disclosed on 13F. Quarterly and end-of-quarter, not live flow. Free: top 3; PRO: full.\n- **`GET /api/v1/institutional/institutions`** : the filterable universe of tracked filers (use it to find a manager's slug/CIK for the endpoint below). Query `category`, `minAumUsd`, `sort`, `quarter`. Full list on every tier, and quota-exempt.\n- **`GET /api/v1/institutional/institution/{slugOrCik}`** : a single manager's profile, summary stats, and current-quarter equity holdings. Resolve by URL slug (`Berkshire-Hathaway`) or numeric CIK (`1067983`). Free: profile + top 10 holdings; PRO: full holdings. Holdings include `ticker, companyName, shares, valueUsd, changeType, sharesChange, sharesChangePct, portfolioWeight`, plus `multiCikRollup` / `childCiks` for parent/subsidiary rollups. Returns 404 for an unknown slug or CIK.\n\n## Workflows\n\n**1. Who owns this stock?**\n\n```bash\nQ=2026-06-30  # first pending:false reportDate from /quarters\ncurl -s -H \"X-SentiSense-API-Key: $SENTISENSE_API_KEY\" \\\n  \"https://app.sentisense.ai/api/v1/institutional/holders/NVDA?reportDate=$Q&limit=25\"\n```\nRead `data.holders` and lead with the largest holders and their `NEW` / `INCREASED` / `SOLD_OUT` change types; on PRO, `limit` also returns `notableChanges` (a `count` of holders that changed 10% or more on 10k+ shares, plus the `top` five of them by dollar value), while a free preview omits it, so on free read the changes off the five holders shown and never report \"no notable changes\".\n\n**2. A manager's whole portfolio (what did they buy and sell?)**\n\n```bash\ncurl -s -H \"X-SentiSense-API-Key: $SENTISENSE_API_KEY\" \\\n  \"https://app.sentisense.ai/api/v1/institutional/institution/Berkshire-Hathaway\"\n```\nSummarize new positions, adds, trims, and exits by `changeType`, and the biggest holdings by `portfolioWeight`.\n\n**3. Aggregate accumulation vs distribution**\n\n```bash\nQ=2026-06-30  # first pending:false reportDate from /quarters\ncurl -s -H \"X-SentiSense-API-Key: $SENTISENSE_API_KEY\" \\\n  \"https://app.sentisense.ai/api/v1/institutional/flows?reportDate=$Q\"\n```\n\nRead the accumulation side from `data.inflows` and the distribution side from `data.outflows`, each already ranked by the size of `dollarFlowUsd` (negative on the outflow side). A ticker appears on the side its net quarter landed on, never on both, so read the two lists as one board rather than netting them against each other.\n\n**4. Activist watch**\n\n```bash\nQ=2026-06-30  # first pending:false reportDate from /quarters\ncurl -s -H \"X-SentiSense-API-Key: $SENTISENSE_API_KEY\" \\\n  \"https://app.sentisense.ai/api/v1/institutional/activist?reportDate=$Q\"\n```\n\n**5. Follow the convergence.** When institutional accumulation lines up with a congressional purchase (`politicians-stock-tracker`) or insider buying (`insider-trading-tracker`) on the same ticker, that agreement is the read worth surfacing. Cite each source.\n\n## Answering well\n\n- Always state the `reportDate` you are quoting and that 13F data is a quarterly snapshot filed up to 45 days after quarter end.\n- Attribute holdings to the filer and category; roll parent/subsidiary CIKs into one manager rather than double-counting.\n- Use `changeType` and `sharesChangePct` to describe direction; quote `valueUsd` as the reported 13F value without re-scaling.\n- Report only what the API returns. Do not infer positions, prices, or intent that are not in the data, and do not frame any of it as advice.\n\n## Going further\n\nFree covers every workflow above at a preview depth (top holders, top-10 portfolio). **PRO ($15/mo)** lifts the monthly cap (no monthly limit, just a 300/min rate) and returns full holder lists and full manager portfolios, plus congressional, insider, options, and AI-insight data across the SentiSense API. Apply coupon `AGENTS` at checkout for a builder launch discount: https://app.sentisense.ai/pricing?coupon=AGENTS\n\n**ClawHub Skill:** [clawhub.ai/TheSentiTrader/institutional-13f-tracker](https://clawhub.ai/TheSentiTrader/institutional-13f-tracker)\n\n---\n\n*SentiSense is a read-only financial intelligence API. This data is for informational and educational purposes only, not investment advice.*\n\nFile v1.1.7:_meta.json\n\n{\n  \"ownerId\": \"kn71ca3nrt3w6w0v3nhv3c4tan82x1ym\",\n  \"slug\": \"institutional-13f-tracker\",\n  \"version\": \"1.1.7\",\n  \"publishedAt\": 1791090562286\n}\n\nFile v1.1.7:skill-card.md\n\n## Description:\n\nSummarizes quarterly institutional holdings, ownership changes, fund portfolios, and activist positions from SEC 13F data through the read-only SentiSense API.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[thesentitrader](https://clawhub.ai/user/thesentitrader)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nInvestors and research analysts use this skill to investigate who holds a stock, how institutional positions changed between quarters, and which managers hold or changed positions. Results are informational research context, not investment advice.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The API key is sent to app.sentisense.ai for authenticated data retrieval.\n\nMitigation: Review the service before use; keep the key in the environment and out of URLs and shared output.\n\nRisk: Quarterly 13F filings are delayed, and market-signal language could be mistaken for current positioning or investment advice.\n\nMitigation: State the report date and filing lag; use the results as research context, not buy or sell advice.\n\nRisk: The skill includes optional client-identification headers and a paid-tier promotion.\n\nMitigation: Review optional identification and promotional content before use.\n\n## Reference(s):\n\n- [ClawHub skill release](https://clawhub.ai/thesentitrader/skills/institutional-13f-tracker)\n- [SentiSense](https://sentisense.ai)\n- [SentiSense API key](https://app.sentisense.ai/get-api-key)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Shell commands, Guidance]\n\n**Output Format:** [Markdown summaries with cited reporting quarters and optional curl examples]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Read-only quarterly 13F snapshots; free-tier results may be previews.]\n\n## Skill Version(s):\n\n1.1.7 (source: server-resolved ClawHub release)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.1.6: 3 files, 7250 bytes\n\nFiles: skill-card.md (2264b), SKILL.md (13869b), _meta.json (144b)\n\nFile v1.1.6:SKILL.md\n\n---\nname: institutional-13f-tracker\ndescription: \"13F institutional ownership tracker: quarterly hedge fund and mutual fund holdings from SEC 13F filings, by ticker or by manager, with top institutional holders per stock, quarter-over-quarter buying and selling deltas, and activist investor positions across thousands of managers. Use for 13F filings, 13F holdings changes, hedge fund holdings, institutional ownership by ticker, who owns this stock, activist fund positions, and superinvestor portfolios. Read-only. No trading, no purchases, no write operations, no wallet access.\"\nhomepage: https://sentisense.ai\nrequires:\n  env:\n    - SENTISENSE_API_KEY\nprimaryEnv: SENTISENSE_API_KEY\nmetadata:\n  openclaw:\n    requires:\n      env:\n        - SENTISENSE_API_KEY\n    primaryEnv: SENTISENSE_API_KEY\n---\n# Institutional 13F Tracker (SentiSense)\n\nSee who owns a stock and how the big money is repositioning. This skill reads institutional ownership from SEC 13F filings through the read-only SentiSense API: the top institutional holders for any ticker, aggregate buying and selling per stock, activist positions, and a full portfolio for any manager (from Berkshire Hathaway to the largest index funds), with quarter-over-quarter change types (new, increased, decreased, sold out) across thousands of filers.\n\nRead-only educational data interface. Output is informational context, never a personalized buy or sell recommendation.\n\n## When to Use\n\nReach for this skill when the question is about institutional ownership or 13F positioning:\n\n- \"Who owns $NVDA?\" or \"top institutional holders of $TSLA\"\n- \"What did Berkshire Hathaway buy and sell last quarter?\" (a manager's whole portfolio)\n- \"Is institutional money accumulating or distributing $AAPL?\" (aggregate flows)\n- \"Which activist funds took new positions this quarter?\"\n- \"How did 13F ownership of $COIN change quarter over quarter?\"\n\nThis skill pairs naturally with `politicians-stock-tracker` and `insider-trading-tracker`: line up 13F accumulation against a congressional purchase or an insider cluster buy on the same ticker. Convergence across sources is the high-conviction read.\n\nDo not use it for order entry, portfolio management, or personalized advice. It has no write, trading, or wallet surface; every endpoint is a GET.\n\n## What this data actually is (read before interpreting)\n\n- **13F is quarterly and lagged.** Institutions file 13F-HR within 45 days after each quarter end, so the freshest complete data is always the prior quarter. Never present it as real-time positioning.\n- **Always resolve the quarter first.** The quarter-scoped feeds (`/flows`, `/activist`, `/bonds`, `/options`) need a `reportDate`. Four endpoints do not: `/quarters` is the resolver itself, `/holders/{ticker}` resolves the latest settled quarter for the ticker when you omit it and echoes the one it used, `/institutions` takes an optional `quarter` (the `value` form, `2026Q2`, not a `reportDate`), and `/institution/{slugOrCik}` takes neither and answers on its own latest quarter. During the 45-day filing window after a quarter ends, the newest entry is `pending: true` and holds only early filers; use the first quarter with `pending: false` for complete data. **Filter on the flag, never on position.** Once the filing window closes, the pending entry is gone and the newest quarter in the array is already complete, so code that skips index 0 on the assumption that the first row is always pending will quote a quarter that is three months staler than what you were served. Checked live on 2026-08-31: the array led with Q2 2026 at `pending: false` and contained no pending entry at all.\n- **Filer categories:** `INDEX_FUND`, `HEDGE_FUND`, `ACTIVIST`, `PENSION`, `BANK`, `INSURANCE`, `MUTUAL_FUND`, `SOVEREIGN_WEALTH`, `ENDOWMENT`, `CONGLOMERATE`, `OTHER`.\n- **Parent/subsidiary rollups.** Large managers file under many CIKs (e.g. Vanguard). A filer profile carries `multiCikRollup` / `childCikCount` / `childCiks` so sub-manager holdings roll up into one portfolio. Report the rollup, not double-counted child rows.\n- **Report values as given.** The dollar field is **`valueUsd`** on both sides of the join: on a holder row under `/holders/{ticker}` and on a holding row inside a manager's portfolio. There is no bare `value` field on either. It arrives already denominated in US dollars, so quote it as the reported 13F value and do not re-scale or invent a unit. (`/bonds` names its own total `totalValue` and `/institutional/options` splits into `callValue` / `putValue`; those are the only other dollar keys in this family.)\n\n## Prerequisites\n\n- A free `SENTISENSE_API_KEY`. Get one at https://app.sentisense.ai/get-api-key. Required on every call; anonymous requests return `401 api_key_required`.\n- Any HTTP client. Plain `curl` works, or Python 3.8+ using only the standard library. On macOS python.org installs can raise `CERTIFICATE_VERIFY_FAILED`: run `Install Certificates.command`, use the system `/usr/bin/python3`, or use `curl`.\n- Network access to `https://app.sentisense.ai`.\n- Read-only scope. Every endpoint here is a GET.\n\n| Tier | Quota | Rate | 13F data |\n|------|-------|------|----------|\n| Free | 1,000 requests/month | 30 requests/min | preview slice (top N per endpoint) |\n| PRO ($15/mo) | Unlimited | 300 requests/min | full holder lists and full portfolios |\n\n## Permissions\n\n- Network: HTTPS to app.sentisense.ai only.\n- Credentials: SENTISENSE_API_KEY from the environment.\n- Shell: none required.\n- Files: none.\n\n## How to Run\n\nIssue HTTP GET requests to `https://app.sentisense.ai`, authenticated with the `X-SentiSense-API-Key` header. Keep the key in the shell environment; never place it in a query string or in user-facing output.\n\n**Step 1, always: resolve the quarter.** `/quarters` is a bare array (no envelope). Every other institutional endpoint returns the wrapped envelope `{ isPreview, previewReason, data }`, so unwrap `.data` first. Unwrapping is not the same as iterating: on `/holders/{ticker}`, `/institution/{slugOrCik}`, `/institutions` and `/flows` the unwrapped `data` is an **object**, and the rows sit one level further in (`data.holders`, `data.holdings`, `data.institutions`, and `data.inflows` / `data.outflows` respectively). Check for a list before you loop. A `429` returns a `Retry-After` header; back off rather than serving a stale value.\n\n**Identify your client.** Send a `User-Agent` naming your agent runtime and this skill, for\nexample `OpenClaw/1.4 (institutional-13f-tracker)` or `ClaudeCode/2.1 (institutional-13f-tracker)`. Substitute your own runtime and\nversion if neither matches. You can also volunteer what your agent is called by adding an\n`agent/<your-agent-name>` token inside the same parentheses, as in\n`OpenClaw/1.4 (institutional-13f-tracker; agent/research-desk)`. All of it is optional, and it is what tells\nus this skill has real integrations behind it, so it gets prioritized and you get notice before it\nchanges.\n\n```bash\n# 1) get valid reporting quarters, pick the first with pending=false\ncurl -s -H \"X-SentiSense-API-Key: $SENTISENSE_API_KEY\" \\\n  \"https://app.sentisense.ai/api/v1/institutional/quarters\"\n# -> [{ \"value\": ..., \"label\": \"Q4 2025\", \"reportDate\": \"2025-12-31\", \"pending\": false }, ...]\n```\n\n## Endpoints\n\n- **`GET /api/v1/institutional/quarters`** : available 13F reporting quarters. **Public**, bare array of `{ value, label, reportDate, pending }`, newest first. Call this first; use the first `pending: false` `reportDate` everywhere below.\n- **`GET /api/v1/institutional/holders/{ticker}`** : institutional holders for a stock. `reportDate` is **optional here**: omit it and the endpoint resolves the latest quarter that actually has holders for this ticker, preferring a settled quarter over a still-filing one, and tells you which one it used in `data.reportDate`. Pass `?reportDate=` from `/quarters` when you want a specific quarter or are comparing several tickers on one date. The holder list is nested at **`data.holders`** (not `data` directly). Each holder carries `filerName`, `filerCik`, `filerCategory`, `entitySlug`, `cikCount`, `shares`, `sharesChange`, `sharesChangePct`, **`valueUsd`** (the dollar field, there is no bare `value`), and `changeType` (`NEW` / `INCREASED` / `DECREASED` / `SOLD_OUT` / `UNCHANGED`). `data` always carries `holderCount` (full-quarter count). **Paging (recommended):** pass `limit` (1-1000), `offset`, `sortBy`, `sortDir`. A mega-cap can have 5,000+ holders, and `notableChanges` (holders with a 10%+ change on 10k+ shares) plus `returnedCount` are returned **only when `limit` is passed**. Free: top 5, and free previews omit `returnedCount`, `offset`, and `notableChanges` even when `limit` is passed (`holderCount` stays the full-quarter count).\n- **`GET /api/v1/institutional/flows?reportDate=`** : aggregate institutional buying/selling per ticker. **`data` is an object, not a list**, so iterating `.data` gets you nothing: the two ranked ticker arrays are at **`data.inflows`** and **`data.outflows`**, alongside `data.reportDate`, `data.filerCount`, `data.baselineFilerCount` and `data.isPending`. Each row carries `ticker`, `companyName`, `dollarFlowUsd`, `netSharesChange`, `totalSharesBought` / `totalSharesSold`, the position counts (`newPositions`, `increasedPositions`, `decreasedPositions`, `soldOutPositions`), `avgClosePrice`, and a per-category net-change breakdown (`hedgeFundNetChange`, `indexFundNetChange`, `activistNetChange`, and one per remaining filer category). Free: top 5.\n- **`GET /api/v1/institutional/activist?reportDate=`** : activist-filer positions for the quarter (NEW or INCREASED stakes). Free: top 3; PRO: full.\n- **`GET /api/v1/institutional/bonds?reportDate=`** : convertible bond flows grouped by base ticker, the credit-side leg of the same 13F filings. Free: top 3; PRO: full.\n- **`GET /api/v1/institutional/options?reportDate=`** : institutional options positions with the call/put breakdown, as disclosed on 13F. Quarterly and end-of-quarter, not live flow. Free: top 3; PRO: full.\n- **`GET /api/v1/institutional/institutions`** : the filterable universe of tracked filers (use it to find a manager's slug/CIK for the endpoint below). Query `category`, `minAumUsd`, `sort`, `quarter`. Full list on every tier, and quota-exempt.\n- **`GET /api/v1/institutional/institution/{slugOrCik}`** : a single manager's profile, summary stats, and current-quarter equity holdings. Resolve by URL slug (`Berkshire-Hathaway`) or numeric CIK (`1067983`). Free: profile + top 10 holdings; PRO: full holdings. Holdings include `ticker, companyName, shares, valueUsd, changeType, sharesChange, sharesChangePct, portfolioWeight`, plus `multiCikRollup` / `childCiks` for parent/subsidiary rollups. Returns 404 for an unknown slug or CIK.\n\n## Workflows\n\n**1. Who owns this stock?**\n\n```bash\nQ=2026-06-30  # first pending:false reportDate from /quarters\ncurl -s -H \"X-SentiSense-API-Key: $SENTISENSE_API_KEY\" \\\n  \"https://app.sentisense.ai/api/v1/institutional/holders/NVDA?reportDate=$Q&limit=25\"\n```\nRead `data.holders`; lead with the largest holders and the `NEW` / `INCREASED` / `SOLD_OUT` change types and `notableChanges` (returned because `limit` is set).\n\n**2. A manager's whole portfolio (what did they buy and sell?)**\n\n```bash\ncurl -s -H \"X-SentiSense-API-Key: $SENTISENSE_API_KEY\" \\\n  \"https://app.sentisense.ai/api/v1/institutional/institution/Berkshire-Hathaway\"\n```\nSummarize new positions, adds, trims, and exits by `changeType`, and the biggest holdings by `portfolioWeight`.\n\n**3. Aggregate accumulation vs distribution**\n\n```bash\nQ=2026-06-30  # first pending:false reportDate from /quarters\ncurl -s -H \"X-SentiSense-API-Key: $SENTISENSE_API_KEY\" \\\n  \"https://app.sentisense.ai/api/v1/institutional/flows?reportDate=$Q\"\n```\n\nRead the accumulation side from `data.inflows` and the distribution side from `data.outflows`, each already ranked by the size of `dollarFlowUsd` (negative on the outflow side). A ticker appears on the side its net quarter landed on, never on both, so read the two lists as one board rather than netting them against each other.\n\n**4. Activist watch**\n\n```bash\nQ=2026-06-30  # first pending:false reportDate from /quarters\ncurl -s -H \"X-SentiSense-API-Key: $SENTISENSE_API_KEY\" \\\n  \"https://app.sentisense.ai/api/v1/institutional/activist?reportDate=$Q\"\n```\n\n**5. Follow the convergence.** When institutional accumulation lines up with a congressional purchase (`politicians-stock-tracker`) or insider buying (`insider-trading-tracker`) on the same ticker, that agreement is the read worth surfacing. Cite each source.\n\n## Answering well\n\n- Always state the `reportDate` you are quoting and that 13F data is a quarterly snapshot filed up to 45 days after quarter end.\n- Attribute holdings to the filer and category; roll parent/subsidiary CIKs into one manager rather than double-counting.\n- Use `changeType` and `sharesChangePct` to describe direction; quote `valueUsd` as the reported 13F value without re-scaling.\n- Report only what the API returns. Do not infer positions, prices, or intent that are not in the data, and do not frame any of it as advice.\n\n## Going further\n\nFree covers every workflow above at a preview depth (top holders, top-10 portfolio). **PRO ($15/mo)** lifts the monthly cap (no monthly limit, just a 300/min rate) and returns full holder lists and full manager portfolios, plus congressional, insider, options, and AI-insight data across the SentiSense API. Apply coupon `AGENTS26` at checkout for a builder launch discount: https://app.sentisense.ai/pricing?coupon=AGENTS26\n\n**ClawHub Skill:** [clawhub.ai/TheSentiTrader/institutional-13f-tracker](https://clawhub.ai/TheSentiTrader/institutional-13f-tracker)\n\n---\n\n*SentiSense is a read-only financial intelligence API. This data is for informational and educational purposes only, not investment advice.*\n\nFile v1.1.6:_meta.json\n\n{\n  \"ownerId\": \"kn71ca3nrt3w6w0v3nhv3c4tan82x1ym\",\n  \"slug\": \"institutional-13f-tracker\",\n  \"version\": \"1.1.6\",\n  \"publishedAt\": 1788853329494\n}\n\nFile v1.1.6:skill-card.md\n\n## Description:\n\nTracks quarterly SEC 13F institutional holdings by ticker or manager, including top holders, quarter-over-quarter buying and selling deltas, activist positions, and read-only portfolio context.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[thesentitrader](https://clawhub.ai/user/thesentitrader)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and financial research agents use this skill to inspect institutional ownership, manager portfolios, aggregate 13F flows, and activist positions from read-only SentiSense API data. It supports informational research workflows and should not be used for trading, order entry, portfolio management, or personalized advice.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Financial outputs may be mistaken for trading advice or real-time positions.\n\nMitigation: State that 13F data is quarterly and delayed, include the reportDate, and present outputs as informational research rather than personalized buy or sell recommendations.\n\nRisk: Credential or network use could expose the SentiSense API key if handled unsafely.\n\nMitigation: Read SENTISENSE_API_KEY from the environment, send it only in the X-SentiSense-API-Key header to app.sentisense.ai, and avoid printing or embedding it in URLs.\n\n## Reference(s):\n\n- [ClawHub Skill Page](https://clawhub.ai/thesentitrader/skills/institutional-13f-tracker)\n- [SentiSense](https://sentisense.ai)\n- [SentiSense API](https://app.sentisense.ai)\n- [SentiSense API Key](https://app.sentisense.ai/get-api-key)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Shell commands, Configuration, Guidance]\n\n**Output Format:** [Markdown with inline shell commands and API response summaries]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Read-only financial research context using SentiSense API data; requires SENTISENSE_API_KEY.]\n\n## Skill Version(s):\n\n1.1.6 (source: server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.1.5: 3 files, 7283 bytes\n\nFiles: skill-card.md (2479b), SKILL.md (13713b), _meta.json (144b)\n\nFile v1.1.5:SKILL.md\n\n---\nname: institutional-13f-tracker\ndescription: \"13F institutional ownership tracker: quarterly hedge fund and mutual fund holdings from SEC 13F filings, by ticker or by manager, with top institutional holders per stock, quarter-over-quarter buying and selling deltas, and activist investor positions across thousands of managers. Use for 13F filings, 13F holdings changes, hedge fund holdings, institutional ownership by ticker, who owns this stock, activist fund positions, and superinvestor portfolios. Read-only. No trading, no purchases, no write operations, no wallet access.\"\nhomepage: https://sentisense.ai\nrequires:\n  env:\n    - SENTISENSE_API_KEY\nprimaryEnv: SENTISENSE_API_KEY\nmetadata:\n  openclaw:\n    requires:\n      env:\n        - SENTISENSE_API_KEY\n    primaryEnv: SENTISENSE_API_KEY\n---\n# Institutional 13F Tracker (SentiSense)\n\nSee who owns a stock and how the big money is repositioning. This skill reads institutional ownership from SEC 13F filings through the read-only SentiSense API: the top institutional holders for any ticker, aggregate buying and selling per stock, activist positions, and a full portfolio for any manager (from Berkshire Hathaway to the largest index funds), with quarter-over-quarter change types (new, increased, decreased, sold out) across thousands of filers.\n\nRead-only educational data interface. Output is informational context, never a personalized buy or sell recommendation.\n\n## When to Use\n\nReach for this skill when the question is about institutional ownership or 13F positioning:\n\n- \"Who owns $NVDA?\" or \"top institutional holders of $TSLA\"\n- \"What did Berkshire Hathaway buy and sell last quarter?\" (a manager's whole portfolio)\n- \"Is institutional money accumulating or distributing $AAPL?\" (aggregate flows)\n- \"Which activist funds took new positions this quarter?\"\n- \"How did 13F ownership of $COIN change quarter over quarter?\"\n\nThis skill pairs naturally with `politicians-stock-tracker` and `insider-trading-tracker`: line up 13F accumulation against a congressional purchase or an insider cluster buy on the same ticker. Convergence across sources is the high-conviction read.\n\nDo not use it for order entry, portfolio management, or personalized advice. It has no write, trading, or wallet surface; every endpoint is a GET.\n\n## What this data actually is (read before interpreting)\n\n- **13F is quarterly and lagged.** Institutions file 13F-HR within 45 days after each quarter end, so the freshest complete data is always the prior quarter. Never present it as real-time positioning.\n- **Always resolve the quarter first.** The quarter-scoped feeds (`/flows`, `/activist`, `/bonds`, `/options`) need a `reportDate`. Four endpoints do not: `/quarters` is the resolver itself, `/holders/{ticker}` resolves the latest settled quarter for the ticker when you omit it and echoes the one it used, `/institutions` takes an optional `quarter` (the `value` form, `2026Q2`, not a `reportDate`), and `/institution/{slugOrCik}` takes neither and answers on its own latest quarter. During the 45-day filing window after a quarter ends, the newest entry is `pending: true` and holds only early filers; use the first quarter with `pending: false` for complete data. **Filter on the flag, never on position.** Once the filing window closes, the pending entry is gone and the newest quarter in the array is already complete, so code that skips index 0 on the assumption that the first row is always pending will quote a quarter that is three months staler than what you were served. Checked live on 2026-08-31: the array led with Q2 2026 at `pending: false` and contained no pending entry at all.\n- **Filer categories:** `INDEX_FUND`, `HEDGE_FUND`, `ACTIVIST`, `PENSION`, `BANK`, `INSURANCE`, `MUTUAL_FUND`, `SOVEREIGN_WEALTH`, `ENDOWMENT`, `CONGLOMERATE`, `OTHER`.\n- **Parent/subsidiary rollups.** Large managers file under many CIKs (e.g. Vanguard). A filer profile carries `multiCikRollup` / `childCikCount` / `childCiks` so sub-manager holdings roll up into one portfolio. Report the rollup, not double-counted child rows.\n- **Report values as given.** The dollar field is **`valueUsd`** on both sides of the join: on a holder row under `/holders/{ticker}` and on a holding row inside a manager's portfolio. There is no bare `value` field on either. It arrives already denominated in US dollars, so quote it as the reported 13F value and do not re-scale or invent a unit. (`/bonds` names its own total `totalValue` and `/institutional/options` splits into `callValue` / `putValue`; those are the only other dollar keys in this family.)\n\n## Prerequisites\n\n- A free `SENTISENSE_API_KEY`. Get one at https://app.sentisense.ai/get-api-key. Required on every call; anonymous requests return `401 api_key_required`.\n- Any HTTP client. Plain `curl` works, or Python 3.8+ using only the standard library. On macOS python.org installs can raise `CERTIFICATE_VERIFY_FAILED`: run `Install Certificates.command`, use the system `/usr/bin/python3`, or use `curl`.\n- Network access to `https://app.sentisense.ai`.\n- Read-only scope. Every endpoint here is a GET.\n\n| Tier | Quota | Rate | 13F data |\n|------|-------|------|----------|\n| Free | 1,000 requests/month | 30 requests/min | preview slice (top N per endpoint) |\n| PRO ($15/mo) | Unlimited | 300 requests/min | full holder lists and full portfolios |\n\n## How to Run\n\nIssue HTTP GET requests to `https://app.sentisense.ai`, authenticated with the `X-SentiSense-API-Key` header. Keep the key in the shell environment; never place it in a query string or in user-facing output.\n\n**Step 1, always: resolve the quarter.** `/quarters` is a bare array (no envelope). Every other institutional endpoint returns the wrapped envelope `{ isPreview, previewReason, data }`, so unwrap `.data` first. Unwrapping is not the same as iterating: on `/holders/{ticker}`, `/institution/{slugOrCik}`, `/institutions` and `/flows` the unwrapped `data` is an **object**, and the rows sit one level further in (`data.holders`, `data.holdings`, `data.institutions`, and `data.inflows` / `data.outflows` respectively). Check for a list before you loop. A `429` returns a `Retry-After` header; back off rather than serving a stale value.\n\n**Identify your client.** Send a `User-Agent` naming your agent runtime and this skill, for\nexample `OpenClaw/1.4 (institutional-13f-tracker)` or `ClaudeCode/2.1 (institutional-13f-tracker)`. Substitute your own runtime and\nversion if neither matches. You can also volunteer what your agent is called by adding an\n`agent/<your-agent-name>` token inside the same parentheses, as in\n`OpenClaw/1.4 (institutional-13f-tracker; agent/research-desk)`. All of it is optional, and it is what tells\nus this skill has real integrations behind it, so it gets prioritized and you get notice before it\nchanges.\n\n```bash\n# 1) get valid reporting quarters, pick the first with pending=false\ncurl -s -H \"X-SentiSense-API-Key: $SENTISENSE_API_KEY\" \\\n  \"https://app.sentisense.ai/api/v1/institutional/quarters\"\n# -> [{ \"value\": ..., \"label\": \"Q4 2025\", \"reportDate\": \"2025-12-31\", \"pending\": false }, ...]\n```\n\n## Endpoints\n\n- **`GET /api/v1/institutional/quarters`** : available 13F reporting quarters. **Public**, bare array of `{ value, label, reportDate, pending }`, newest first. Call this first; use the first `pending: false` `reportDate` everywhere below.\n- **`GET /api/v1/institutional/holders/{ticker}`** : institutional holders for a stock. `reportDate` is **optional here**: omit it and the endpoint resolves the latest quarter that actually has holders for this ticker, preferring a settled quarter over a still-filing one, and tells you which one it used in `data.reportDate`. Pass `?reportDate=` from `/quarters` when you want a specific quarter or are comparing several tickers on one date. The holder list is nested at **`data.holders`** (not `data` directly). Each holder carries `filerName`, `filerCik`, `filerCategory`, `entitySlug`, `cikCount`, `shares`, `sharesChange`, `sharesChangePct`, **`valueUsd`** (the dollar field, there is no bare `value`), and `changeType` (`NEW` / `INCREASED` / `DECREASED` / `SOLD_OUT` / `UNCHANGED`). `data` always carries `holderCount` (full-quarter count). **Paging (recommended):** pass `limit` (1-1000), `offset`, `sortBy`, `sortDir`. A mega-cap can have 5,000+ holders, and `notableChanges` (holders with a 10%+ change on 10k+ shares) plus `returnedCount` are returned **only when `limit` is passed**. Free: top 5, and free previews omit `returnedCount`, `offset`, and `notableChanges` even when `limit` is passed (`holderCount` stays the full-quarter count).\n- **`GET /api/v1/institutional/flows?reportDate=`** : aggregate institutional buying/selling per ticker. **`data` is an object, not a list**, so iterating `.data` gets you nothing: the two ranked ticker arrays are at **`data.inflows`** and **`data.outflows`**, alongside `data.reportDate`, `data.filerCount`, `data.baselineFilerCount` and `data.isPending`. Each row carries `ticker`, `companyName`, `dollarFlowUsd`, `netSharesChange`, `totalSharesBought` / `totalSharesSold`, the position counts (`newPositions`, `increasedPositions`, `decreasedPositions`, `soldOutPositions`), `avgClosePrice`, and a per-category net-change breakdown (`hedgeFundNetChange`, `indexFundNetChange`, `activistNetChange`, and one per remaining filer category). Free: top 5.\n- **`GET /api/v1/institutional/activist?reportDate=`** : activist-filer positions for the quarter (NEW or INCREASED stakes). Free: top 3; PRO: full.\n- **`GET /api/v1/institutional/bonds?reportDate=`** : convertible bond flows grouped by base ticker, the credit-side leg of the same 13F filings. Free: top 3; PRO: full.\n- **`GET /api/v1/institutional/options?reportDate=`** : institutional options positions with the call/put breakdown, as disclosed on 13F. Quarterly and end-of-quarter, not live flow. Free: top 3; PRO: full.\n- **`GET /api/v1/institutional/institutions`** : the filterable universe of tracked filers (use it to find a manager's slug/CIK for the endpoint below). Query `category`, `minAumUsd`, `sort`, `quarter`. Full list on every tier, and quota-exempt.\n- **`GET /api/v1/institutional/institution/{slugOrCik}`** : a single manager's profile, summary stats, and current-quarter equity holdings. Resolve by URL slug (`Berkshire-Hathaway`) or numeric CIK (`1067983`). Free: profile + top 10 holdings; PRO: full holdings. Holdings include `ticker, companyName, shares, valueUsd, changeType, sharesChange, sharesChangePct, portfolioWeight`, plus `multiCikRollup` / `childCiks` for parent/subsidiary rollups. Returns 404 for an unknown slug or CIK.\n\n## Workflows\n\n**1. Who owns this stock?**\n\n```bash\nQ=2026-06-30  # first pending:false reportDate from /quarters\ncurl -s -H \"X-SentiSense-API-Key: $SENTISENSE_API_KEY\" \\\n  \"https://app.sentisense.ai/api/v1/institutional/holders/NVDA?reportDate=$Q&limit=25\"\n```\nRead `data.holders`; lead with the largest holders and the `NEW` / `INCREASED` / `SOLD_OUT` change types and `notableChanges` (returned because `limit` is set).\n\n**2. A manager's whole portfolio (what did they buy and sell?)**\n\n```bash\ncurl -s -H \"X-SentiSense-API-Key: $SENTISENSE_API_KEY\" \\\n  \"https://app.sentisense.ai/api/v1/institutional/institution/Berkshire-Hathaway\"\n```\nSummarize new positions, adds, trims, and exits by `changeType`, and the biggest holdings by `portfolioWeight`.\n\n**3. Aggregate accumulation vs distribution**\n\n```bash\nQ=2026-06-30  # first pending:false reportDate from /quarters\ncurl -s -H \"X-SentiSense-API-Key: $SENTISENSE_API_KEY\" \\\n  \"https://app.sentisense.ai/api/v1/institutional/flows?reportDate=$Q\"\n```\n\nRead the accumulation side from `data.inflows` and the distribution side from `data.outflows`, each already ranked by the size of `dollarFlowUsd` (negative on the outflow side). A ticker appears on the side its net quarter landed on, never on both, so read the two lists as one board rather than netting them against each other.\n\n**4. Activist watch**\n\n```bash\nQ=2026-06-30  # first pending:false reportDate from /quarters\ncurl -s -H \"X-SentiSense-API-Key: $SENTISENSE_API_KEY\" \\\n  \"https://app.sentisense.ai/api/v1/institutional/activist?reportDate=$Q\"\n```\n\n**5. Follow the convergence.** When institutional accumulation lines up with a congressional purchase (`politicians-stock-tracker`) or insider buying (`insider-trading-tracker`) on the same ticker, that agreement is the read worth surfacing. Cite each source.\n\n## Answering well\n\n- Always state the `reportDate` you are quoting and that 13F data is a quarterly snapshot filed up to 45 days after quarter end.\n- Attribute holdings to the filer and category; roll parent/subsidiary CIKs into one manager rather than double-counting.\n- Use `changeType` and `sharesChangePct` to describe direction; quote `valueUsd` as the reported 13F value without re-scaling.\n- Report only what the API returns. Do not infer positions, prices, or intent that are not in the data, and do not frame any of it as advice.\n\n## Going further\n\nFree covers every workflow above at a preview depth (top holders, top-10 portfolio). **PRO ($15/mo)** lifts the monthly cap (no monthly limit, just a 300/min rate) and returns full holder lists and full manager portfolios, plus congressional, insider, options, and AI-insight data across the SentiSense API. Apply coupon `AGENTS26` at checkout for a builder launch discount: https://app.sentisense.ai/pricing?coupon=AGENTS26\n\n**ClawHub Skill:** [clawhub.ai/TheSentiTrader/institutional-13f-tracker](https://clawhub.ai/TheSentiTrader/institutional-13f-tracker)\n\n---\n\n*SentiSense is a read-only financial intelligence API. This data is for informational and educational purposes only, not investment advice.*\n\nFile v1.1.5:_meta.json\n\n{\n  \"ownerId\": \"kn71ca3nrt3w6w0v3nhv3c4tan82x1ym\",\n  \"slug\": \"institutional-13f-tracker\",\n  \"version\": \"1.1.5\",\n  \"publishedAt\": 1788681388196\n}\n\nFile v1.1.5:skill-card.md\n\n## Description:\n\n13F institutional ownership tracker: quarterly hedge fund and mutual fund holdings from SEC 13F filings, by ticker or by manager, with top institutional holders per stock, quarter-over-quarter buying and selling deltas, and activist investor positions across thousands of managers.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[thesentitrader](https://clawhub.ai/user/thesentitrader)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and agents use this skill to retrieve read-only institutional ownership and 13F positioning context through the SentiSense API. It supports questions about stock holders, manager portfolios, quarter-over-quarter flows, activist positions, bond flows, and options positions without order entry, portfolio management, or personalized investment advice.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill sends authenticated read-only requests to the third-party SentiSense API for 13F data.\n\nMitigation: Keep SENTISENSE_API_KEY private, store it in the environment, and avoid placing it in query strings or user-facing output.\n\nRisk: 13F filings are quarterly delayed snapshots and can be mistaken for real-time institutional positioning.\n\nMitigation: Always state the reportDate and explain that the data is delayed, informational 13F context rather than investment advice.\n\n## Reference(s):\n\n- [ClawHub Skill Page](https://clawhub.ai/thesentitrader/skills/institutional-13f-tracker)\n- [SentiSense](https://sentisense.ai)\n- [SentiSense API Key](https://app.sentisense.ai/get-api-key)\n- [SentiSense Institutional Quarters Endpoint](https://app.sentisense.ai/api/v1/institutional/quarters)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Shell commands, Configuration, Guidance]\n\n**Output Format:** [Markdown responses with optional curl or Python examples and summaries of API data]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Outputs should state the reportDate, preserve valueUsd as reported, and describe 13F data as delayed informational context rather than investment advice.]\n\n## Skill Version(s):\n\n1.1.5 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.1.4: 3 files, 6529 bytes\n\nFiles: skill-card.md (2560b), SKILL.md (11708b), _meta.json (144b)\n\nFile v1.1.4:SKILL.md\n\n---\nname: institutional-13f-tracker\ndescription: \"13F institutional ownership tracker: quarterly hedge fund and mutual fund holdings from SEC 13F filings, by ticker or by manager, with top institutional holders per stock, quarter-over-quarter buying and selling deltas, and activist investor positions across thousands of managers. Use for 13F filings, 13F holdings changes, hedge fund holdings, institutional ownership by ticker, who owns this stock, activist fund positions, and superinvestor portfolios. Read-only. No trading, no purchases, no write operations, no wallet access.\"\nhomepage: https://sentisense.ai\nrequires:\n  env:\n    - SENTISENSE_API_KEY\nprimaryEnv: SENTISENSE_API_KEY\nmetadata:\n  openclaw:\n    requires:\n      env:\n        - SENTISENSE_API_KEY\n    primaryEnv: SENTISENSE_API_KEY\n---\n# Institutional 13F Tracker (SentiSense)\n\nSee who owns a stock and how the big money is repositioning. This skill reads institutional ownership from SEC 13F filings through the read-only SentiSense API: the top institutional holders for any ticker, aggregate buying and selling per stock, activist positions, and a full portfolio for any manager (from Berkshire Hathaway to the largest index funds), with quarter-over-quarter change types (new, increased, decreased, sold out) across thousands of filers.\n\nRead-only educational data interface. Output is informational context, never a personalized buy or sell recommendation.\n\n## When to Use\n\nReach for this skill when the question is about institutional ownership or 13F positioning:\n\n- \"Who owns $NVDA?\" or \"top institutional holders of $TSLA\"\n- \"What did Berkshire Hathaway buy and sell last quarter?\" (a manager's whole portfolio)\n- \"Is institutional money accumulating or distributing $AAPL?\" (aggregate flows)\n- \"Which activist funds took new positions this quarter?\"\n- \"How did 13F ownership of $COIN change quarter over quarter?\"\n\nThis skill pairs naturally with `politicians-stock-tracker` and `insider-trading-tracker`: line up 13F accumulation against a congressional purchase or an insider cluster buy on the same ticker. Convergence across sources is the high-conviction read.\n\nDo not use it for order entry, portfolio management, or personalized advice. It has no write, trading, or wallet surface; every endpoint is a GET.\n\n## What this data actually is (read before interpreting)\n\n- **13F is quarterly and lagged.** Institutions file 13F-HR within 45 days after each quarter end, so the freshest complete data is always the prior quarter. Never present it as real-time positioning.\n- **Always resolve the quarter first.** Every endpoint except `/quarters` and `/holders/{ticker}` needs a `reportDate` (holders resolves the latest settled quarter for the ticker when you omit it, and echoes the one it used). During the 45-day filing window after a quarter ends, the newest entry is `pending: true` and holds only early filers; use the first quarter with `pending: false` for complete data. **Filter on the flag, never on position.** Once the filing window closes, the pending entry is gone and the newest quarter in the array is already complete, so code that skips index 0 on the assumption that the first row is always pending will quote a quarter that is three months staler than what you were served. Checked live on 2026-08-31: the array led with Q2 2026 at `pending: false` and contained no pending entry at all.\n- **Filer categories:** `INDEX_FUND`, `HEDGE_FUND`, `ACTIVIST`, `PENSION`, `BANK`, `INSURANCE`, `MUTUAL_FUND`, `SOVEREIGN_WEALTH`, `ENDOWMENT`, `CONGLOMERATE`, `OTHER`.\n- **Parent/subsidiary rollups.** Large managers file under many CIKs (e.g. Vanguard). A filer profile carries `multiCikRollup` / `childCikCount` / `childCiks` so sub-manager holdings roll up into one portfolio. Report the rollup, not double-counted child rows.\n- **Report values as given.** The API returns `valueUsd` (institution holdings) and `value` (per-holder) already denominated; quote them as the reported 13F value and do not re-scale or invent a unit.\n\n## Prerequisites\n\n- A free `SENTISENSE_API_KEY`. Get one at https://app.sentisense.ai/get-api-key. Required on every call; anonymous requests return `401 api_key_required`.\n- Any HTTP client. Plain `curl` works, or Python 3.8+ using only the standard library. On macOS python.org installs can raise `CERTIFICATE_VERIFY_FAILED`: run `Install Certificates.command`, use the system `/usr/bin/python3`, or use `curl`.\n- Network access to `https://app.sentisense.ai`.\n- Read-only scope. Every endpoint here is a GET.\n\n| Tier | Quota | Rate | 13F data |\n|------|-------|------|----------|\n| Free | 1,000 requests/month | 30 requests/min | preview slice (top N per endpoint) |\n| PRO ($15/mo) | Unlimited | 300 requests/min | full holder lists and full portfolios |\n\n## How to Run\n\nIssue HTTP GET requests to `https://app.sentisense.ai`, authenticated with the `X-SentiSense-API-Key` header. Keep the key in the shell environment; never place it in a query string or in user-facing output.\n\n**Step 1, always: resolve the quarter.** `/quarters` is a bare array (no envelope). Every other institutional endpoint returns the wrapped envelope `{ isPreview, previewReason, data }`, so read `.data` before iterating. A `429` returns a `Retry-After` header; back off rather than serving a stale value.\n\n**Identify your client.** Send a `User-Agent` naming your agent runtime and this skill, for\nexample `OpenClaw/1.4 (institutional-13f-tracker)` or `ClaudeCode/2.1 (institutional-13f-tracker)`. Substitute your own runtime and\nversion if neither matches. You can also volunteer what your agent is called by adding an\n`agent/<your-agent-name>` token inside the same parentheses, as in\n`OpenClaw/1.4 (institutional-13f-tracker; agent/research-desk)`. All of it is optional, and it is what tells\nus this skill has real integrations behind it, so it gets prioritized and you get notice before it\nchanges.\n\n```bash\n# 1) get valid reporting quarters, pick the first with pending=false\ncurl -s -H \"X-SentiSense-API-Key: $SENTISENSE_API_KEY\" \\\n  \"https://app.sentisense.ai/api/v1/institutional/quarters\"\n# -> [{ \"value\": ..., \"label\": \"Q4 2025\", \"reportDate\": \"2025-12-31\", \"pending\": false }, ...]\n```\n\n## Endpoints\n\n- **`GET /api/v1/institutional/quarters`** : available 13F reporting quarters. **Public**, bare array of `{ value, label, reportDate, pending }`, newest first. Call this first; use the first `pending: false` `reportDate` everywhere below.\n- **`GET /api/v1/institutional/holders/{ticker}`** : institutional holders for a stock. `reportDate` is **optional here**: omit it and the endpoint resolves the latest quarter that actually has holders for this ticker, preferring a settled quarter over a still-filing one, and tells you which one it used in `data.reportDate`. Pass `?reportDate=` from `/quarters` when you want a specific quarter or are comparing several tickers on one date. The holder list is nested at **`data.holders`** (not `data` directly). Each holder: filer name, category, shares, value, `changeType` (`NEW` / `INCREASED` / `DECREASED` / `SOLD_OUT` / `UNCHANGED`). `data` always carries `holderCount` (full-quarter count). **Paging (recommended):** pass `limit` (1-1000), `offset`, `sortBy`, `sortDir`. A mega-cap can have 5,000+ holders, and `notableChanges` (holders with a 10%+ change on 10k+ shares) plus `returnedCount` are returned **only when `limit` is passed**. Free: top 5, and free previews omit `returnedCount`, `offset`, and `notableChanges` even when `limit` is passed (`holderCount` stays the full-quarter count).\n- **`GET /api/v1/institutional/flows?reportDate=`** : aggregate institutional buying/selling per ticker. Free: top 5.\n- **`GET /api/v1/institutional/activist?reportDate=`** : activist-filer positions for the quarter (NEW or INCREASED stakes). Free: top 3; PRO: full.\n- **`GET /api/v1/institutional/bonds?reportDate=`** : convertible bond flows grouped by base ticker, the credit-side leg of the same 13F filings. Free: top 3; PRO: full.\n- **`GET /api/v1/institutional/options?reportDate=`** : institutional options positions with the call/put breakdown, as disclosed on 13F. Quarterly and end-of-quarter, not live flow. Free: top 3; PRO: full.\n- **`GET /api/v1/institutional/institutions`** : the filterable universe of tracked filers (use it to find a manager's slug/CIK for the endpoint below). Query `category`, `minAumUsd`, `sort`, `quarter`. Full list on every tier, and quota-exempt.\n- **`GET /api/v1/institutional/institution/{slugOrCik}`** : a single manager's profile, summary stats, and current-quarter equity holdings. Resolve by URL slug (`Berkshire-Hathaway`) or numeric CIK (`1067983`). Free: profile + top 10 holdings; PRO: full holdings. Holdings include `ticker, companyName, shares, valueUsd, changeType, sharesChange, sharesChangePct, portfolioWeight`, plus `multiCikRollup` / `childCiks` for parent/subsidiary rollups. Returns 404 for an unknown slug or CIK.\n\n## Workflows\n\n**1. Who owns this stock?**\n\n```bash\nQ=2026-06-30  # first pending:false reportDate from /quarters\ncurl -s -H \"X-SentiSense-API-Key: $SENTISENSE_API_KEY\" \\\n  \"https://app.sentisense.ai/api/v1/institutional/holders/NVDA?reportDate=$Q&limit=25\"\n```\nRead `data.holders`; lead with the largest holders and the `NEW` / `INCREASED` / `SOLD_OUT` change types and `notableChanges` (returned because `limit` is set).\n\n**2. A manager's whole portfolio (what did they buy and sell?)**\n\n```bash\ncurl -s -H \"X-SentiSense-API-Key: $SENTISENSE_API_KEY\" \\\n  \"https://app.sentisense.ai/api/v1/institutional/institution/Berkshire-Hathaway\"\n```\nSummarize new positions, adds, trims, and exits by `changeType`, and the biggest holdings by `portfolioWeight`.\n\n**3. Aggregate accumulation vs distribution**\n\n```bash\nQ=2026-06-30  # first pending:false reportDate from /quarters\ncurl -s -H \"X-SentiSense-API-Key: $SENTISENSE_API_KEY\" \\\n  \"https://app.sentisense.ai/api/v1/institutional/flows?reportDate=$Q\"\n```\n\n**4. Activist watch**\n\n```bash\nQ=2026-06-30  # first pending:false reportDate from /quarters\ncurl -s -H \"X-SentiSense-API-Key: $SENTISENSE_API_KEY\" \\\n  \"https://app.sentisense.ai/api/v1/institutional/activist?reportDate=$Q\"\n```\n\n**5. Follow the convergence.** When institutional accumulation lines up with a congressional purchase (`politicians-stock-tracker`) or insider buying (`insider-trading-tracker`) on the same ticker, that agreement is the read worth surfacing. Cite each source.\n\n## Answering well\n\n- Always state the `reportDate` you are quoting and that 13F data is a quarterly snapshot filed up to 45 days after quarter end.\n- Attribute holdings to the filer and category; roll parent/subsidiary CIKs into one manager rather than double-counting.\n- Use `changeType` and `sharesChangePct` to describe direction; quote `valueUsd` / `value` as the reported 13F value without re-scaling.\n- Report only what the API returns. Do not infer positions, prices, or intent that are not in the data, and do not frame any of it as advice.\n\n## Going further\n\nFree covers every workflow above at a preview depth (top holders, top-10 portfolio). **PRO ($15/mo)** lifts the monthly cap (no monthly limit, just a 300/min rate) and returns full holder lists and full manager portfolios, plus congressional, insider, options, and AI-insight data across the SentiSense API. Apply coupon `AGENTS26` at checkout for a builder launch discount: https://app.sentisense.ai/pricing?coupon=AGENTS26\n\n**ClawHub Skill:** [clawhub.ai/TheSentiTrader/institutional-13f-tracker](https://clawhub.ai/TheSentiTrader/institutional-13f-tracker)\n\n---\n\n*SentiSense is a read-only financial intelligence API. This data is for informational and educational purposes only, not investment advice.*\n\nFile v1.1.4:_meta.json\n\n{\n  \"ownerId\": \"kn71ca3nrt3w6w0v3nhv3c4tan82x1ym\",\n  \"slug\": \"institutional-13f-tracker\",\n  \"version\": \"1.1.4\",\n  \"publishedAt\": 1788562148408\n}\n\nFile v1.1.4:skill-card.md\n\n## Description:\n\n13F institutional ownership tracker: quarterly hedge fund and mutual fund holdings from SEC 13F filings, by ticker or by manager, with top institutional holders per stock, quarter-over-quarter buying and selling deltas, and activist investor positions across thousands of managers.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[thesentitrader](https://clawhub.ai/user/thesentitrader)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users, developers, and financial research agents use this skill to query read-only SentiSense 13F data for institutional holders, manager portfolios, quarterly ownership changes, aggregate flows, and activist positions. Outputs should be treated as informational quarterly filing context, not real-time holdings or personalized investment advice.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill requires a SentiSense API key and sends ticker or manager queries to app.sentisense.ai.\n\nMitigation: Keep SENTISENSE_API_KEY in the environment, do not expose it in prompts or output, and install only if use of the SentiSense API is acceptable.\n\nRisk: 13F data is quarterly and lagged, so results can be mistaken for current holdings.\n\nMitigation: State the reportDate, describe results as lagged 13F filing data, and avoid presenting them as real-time positions or investment advice.\n\nRisk: The free tier may return preview slices rather than full holder lists or portfolios.\n\nMitigation: Disclose preview-limited responses when indicated by the API and avoid implying that partial results are exhaustive.\n\n## Reference(s):\n\n- [SentiSense](https://sentisense.ai)\n- [SentiSense API](https://app.sentisense.ai)\n- [SentiSense API Key](https://app.sentisense.ai/get-api-key)\n- [ClawHub Skill Page](https://clawhub.ai/thesentitrader/skills/institutional-13f-tracker)\n\n## Skill Output:\n\n**Output Type(s):** [Analysis, API Calls, Shell commands, Guidance]\n\n**Output Format:** [Markdown with inline shell commands and summarized financial data]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Read-only outputs based on SentiSense API responses; include reportDate and avoid investment advice.]\n\n## Skill Version(s):\n\n1.1.4 (source: release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.1.3: 3 files, 6297 bytes\n\nFiles: skill-card.md (2380b), SKILL.md (11235b), _meta.json (144b)\n\nFile v1.1.3:SKILL.md\n\n---\nname: institutional-13f-tracker\ndescription: \"13F institutional ownership tracker: quarterly hedge fund and mutual fund holdings from SEC 13F filings, by ticker or by manager, with top institutional holders per stock, quarter-over-quarter buying and selling deltas, and activist investor positions across thousands of managers. Use for 13F filings, 13F holdings changes, hedge fund holdings, institutional ownership by ticker, who owns this stock, activist fund positions, and superinvestor portfolios. Read-only. No trading, no purchases, no write operations, no wallet access.\"\nhomepage: https://sentisense.ai\nrequires:\n  env:\n    - SENTISENSE_API_KEY\nprimaryEnv: SENTISENSE_API_KEY\nmetadata:\n  openclaw:\n    requires:\n      env:\n        - SENTISENSE_API_KEY\n    primaryEnv: SENTISENSE_API_KEY\n---\n# Institutional 13F Tracker (SentiSense)\n\nSee who owns a stock and how the big money is repositioning. This skill reads institutional ownership from SEC 13F filings through the read-only SentiSense API: the top institutional holders for any ticker, aggregate buying and selling per stock, activist positions, and a full portfolio for any manager (from Berkshire Hathaway to the largest index funds), with quarter-over-quarter change types (new, increased, decreased, sold out) across thousands of filers.\n\nRead-only educational data interface. Output is informational context, never a personalized buy or sell recommendation.\n\n## When to Use\n\nReach for this skill when the question is about institutional ownership or 13F positioning:\n\n- \"Who owns $NVDA?\" or \"top institutional holders of $TSLA\"\n- \"What did Berkshire Hathaway buy and sell last quarter?\" (a manager's whole portfolio)\n- \"Is institutional money accumulating or distributing $AAPL?\" (aggregate flows)\n- \"Which activist funds took new positions this quarter?\"\n- \"How did 13F ownership of $COIN change quarter over quarter?\"\n\nThis skill pairs naturally with `politicians-stock-tracker` and `insider-trading-tracker`: line up 13F accumulation against a congressional purchase or an insider cluster buy on the same ticker. Convergence across sources is the high-conviction read.\n\nDo not use it for order entry, portfolio management, or personalized advice. It has no write, trading, or wallet surface; every endpoint is a GET.\n\n## What this data actually is (read before interpreting)\n\n- **13F is quarterly and lagged.** Institutions file 13F-HR within 45 days after each quarter end, so the freshest complete data is always the prior quarter. Never present it as real-time positioning.\n- **Always resolve the quarter first.** Every endpoint except `/quarters` needs a `reportDate`. During the 45-day filing window after a quarter ends, the newest entry is `pending: true` and holds only early filers; use the first quarter with `pending: false` for complete data. **Filter on the flag, never on position.** Once the filing window closes, the pending entry is gone and the newest quarter in the array is already complete, so code that skips index 0 on the assumption that the first row is always pending will quote a quarter that is three months staler than what you were served. Checked live on 2026-08-31: the array led with Q2 2026 at `pending: false` and contained no pending entry at all.\n- **Filer categories:** `INDEX_FUND`, `HEDGE_FUND`, `ACTIVIST`, `PENSION`, `BANK`, `INSURANCE`, `MUTUAL_FUND`, `SOVEREIGN_WEALTH`, `ENDOWMENT`, `CONGLOMERATE`, `OTHER`.\n- **Parent/subsidiary rollups.** Large managers file under many CIKs (e.g. Vanguard). A filer profile carries `multiCikRollup` / `childCikCount` / `childCiks` so sub-manager holdings roll up into one portfolio. Report the rollup, not double-counted child rows.\n- **Report values as given.** The API returns `valueUsd` (institution holdings) and `value` (per-holder) already denominated; quote them as the reported 13F value and do not re-scale or invent a unit.\n\n## Prerequisites\n\n- A free `SENTISENSE_API_KEY`. Get one at https://app.sentisense.ai/get-api-key. Required on every call; anonymous requests return `401 api_key_required`.\n- Any HTTP client. Plain `curl` works, or Python 3.8+ using only the standard library. On macOS python.org installs can raise `CERTIFICATE_VERIFY_FAILED`: run `Install Certificates.command`, use the system `/usr/bin/python3`, or use `curl`.\n- Network access to `https://app.sentisense.ai`.\n- Read-only scope. Every endpoint here is a GET.\n\n| Tier | Quota | Rate | 13F data |\n|------|-------|------|----------|\n| Free | 1,000 requests/month | 30 requests/min | preview slice (top N per endpoint) |\n| PRO ($15/mo) | Unlimited | 300 requests/min | full holder lists and full portfolios |\n\n## How to Run\n\nIssue HTTP GET requests to `https://app.sentisense.ai`, authenticated with the `X-SentiSense-API-Key` header. Keep the key in the shell environment; never place it in a query string or in user-facing output.\n\n**Step 1, always: resolve the quarter.** `/quarters` is a bare array (no envelope). Every other institutional endpoint returns the wrapped envelope `{ isPreview, previewReason, data }`, so read `.data` before iterating. A `429` returns a `Retry-After` header; back off rather than serving a stale value.\n\n**Identify your client.** Send a `User-Agent` naming your agent runtime and this skill, for\nexample `OpenClaw/1.4 (institutional-13f-tracker)` or `ClaudeCode/2.1 (institutional-13f-tracker)`. Substitute your own runtime and\nversion if neither matches. You can also volunteer what your agent is called by adding an\n`agent/<your-agent-name>` token inside the same parentheses, as in\n`OpenClaw/1.4 (institutional-13f-tracker; agent/research-desk)`. All of it is optional, and it is what tells\nus this skill has real integrations behind it, so it gets prioritized and you get notice before it\nchanges.\n\n```bash\n# 1) get valid reporting quarters, pick the first with pending=false\ncurl -s -H \"X-SentiSense-API-Key: $SENTISENSE_API_KEY\" \\\n  \"https://app.sentisense.ai/api/v1/institutional/quarters\"\n# -> [{ \"value\": ..., \"label\": \"Q4 2025\", \"reportDate\": \"2025-12-31\", \"pending\": false }, ...]\n```\n\n## Endpoints\n\n- **`GET /api/v1/institutional/quarters`** : available 13F reporting quarters. **Public**, bare array of `{ value, label, reportDate, pending }`, newest first. Call this first; use the first `pending: false` `reportDate` everywhere below.\n- **`GET /api/v1/institutional/holders/{ticker}?reportDate=`** : institutional holders for a stock. The holder list is nested at **`data.holders`** (not `data` directly). Each holder: filer name, category, shares, value, `changeType` (`NEW` / `INCREASED` / `DECREASED` / `SOLD_OUT` / `UNCHANGED`). `data` always carries `holderCount` (full-quarter count). **Paging (recommended):** pass `limit` (1-1000), `offset`, `sortBy`, `sortDir`. A mega-cap can have 5,000+ holders, and `notableChanges` (holders with a 10%+ change on 10k+ shares) plus `returnedCount` are returned **only when `limit` is passed**. Free: top 5, and free previews omit `returnedCount`, `offset`, and `notableChanges` even when `limit` is passed (`holderCount` stays the full-quarter count).\n- **`GET /api/v1/institutional/flows?reportDate=`** : aggregate institutional buying/selling per ticker. Free: top 5.\n- **`GET /api/v1/institutional/activist?reportDate=`** : activist-filer positions for the quarter (NEW or INCREASED stakes). Free: top 3; PRO: full.\n- **`GET /api/v1/institutional/bonds?reportDate=`** : convertible bond flows grouped by base ticker, the credit-side leg of the same 13F filings. Free: top 3; PRO: full.\n- **`GET /api/v1/institutional/options?reportDate=`** : institutional options positions with the call/put breakdown, as disclosed on 13F. Quarterly and end-of-quarter, not live flow. Free: top 3; PRO: full.\n- **`GET /api/v1/institutional/institutions`** : the filterable universe of tracked filers (use it to find a manager's slug/CIK for the endpoint below). Query `category`, `minAumUsd`, `sort`, `quarter`. Full list on every tier, and quota-exempt.\n- **`GET /api/v1/institutional/institution/{slugOrCik}`** : a single manager's profile, summary stats, and current-quarter equity holdings. Resolve by URL slug (`Berkshire-Hathaway`) or numeric CIK (`1067983`). Free: profile + top 10 holdings; PRO: full holdings. Holdings include `ticker, companyName, shares, valueUsd, changeType, sharesChange, sharesChangePct, portfolioWeight`, plus `multiCikRollup` / `childCiks` for parent/subsidiary rollups. Returns 404 for an unknown slug or CIK.\n\n## Workflows\n\n**1. Who owns this stock?**\n\n```bash\nQ=2026-06-30  # first pending:false reportDate from /quarters\ncurl -s -H \"X-SentiSense-API-Key: $SENTISENSE_API_KEY\" \\\n  \"https://app.sentisense.ai/api/v1/institutional/holders/NVDA?reportDate=$Q&limit=25\"\n```\nRead `data.holders`; lead with the largest holders and the `NEW` / `INCREASED` / `SOLD_OUT` change types and `notableChanges` (returned because `limit` is set).\n\n**2. A manager's whole portfolio (what did they buy and sell?)**\n\n```bash\ncurl -s -H \"X-SentiSense-API-Key: $SENTISENSE_API_KEY\" \\\n  \"https://app.sentisense.ai/api/v1/institutional/institution/Berkshire-Hathaway\"\n```\nSummarize new positions, adds, trims, and exits by `changeType`, and the biggest holdings by `portfolioWeight`.\n\n**3. Aggregate accumulation vs distribution**\n\n```bash\nQ=2026-06-30  # first pending:false reportDate from /quarters\ncurl -s -H \"X-SentiSense-API-Key: $SENTISENSE_API_KEY\" \\\n  \"https://app.sentisense.ai/api/v1/institutional/flows?reportDate=$Q\"\n```\n\n**4. Activist watch**\n\n```bash\nQ=2026-06-30  # first pending:false reportDate from /quarters\ncurl -s -H \"X-SentiSense-API-Key: $SENTISENSE_API_KEY\" \\\n  \"https://app.sentisense.ai/api/v1/institutional/activist?reportDate=$Q\"\n```\n\n**5. Follow the convergence.** When institutional accumulation lines up with a congressional purchase (`politicians-stock-tracker`) or insider buying (`insider-trading-tracker`) on the same ticker, that agreement is the read worth surfacing. Cite each source.\n\n## Answering well\n\n- Always state the `reportDate` you are quoting and that 13F data is a quarterly snapshot filed up to 45 days after quarter end.\n- Attribute holdings to the filer and category; roll parent/subsidiary CIKs into one manager rather than double-counting.\n- Use `changeType` and `sharesChangePct` to describe direction; quote `valueUsd` / `value` as the reported 13F value without re-scaling.\n- Report only what the API returns. Do not infer positions, prices, or intent that are not in the data, and do not frame any of it as advice.\n\n## Going further\n\nFree covers every workflow above at a preview depth (top holders, top-10 portfolio). **PRO ($15/mo)** lifts the monthly cap (no monthly limit, just a 300/min rate) and returns full holder lists and full manager portfolios, plus congressional, insider, options, and AI-insight data across the SentiSense API. Apply coupon `AGENTS26` at checkout for a builder launch discount: https://app.sentisense.ai/pricing?coupon=AGENTS26\n\n**ClawHub Skill:** [clawhub.ai/TheSentiTrader/institutional-13f-tracker](https://clawhub.ai/TheSentiTrader/institutional-13f-tracker)\n\n---\n\n*SentiSense is a read-only financial intelligence API. This data is for informational and educational purposes only, not investment advice.*\n\nFile v1.1.3:_meta.json\n\n{\n  \"ownerId\": \"kn71ca3nrt3w6w0v3nhv3c4tan82x1ym\",\n  \"slug\": \"institutional-13f-tracker\",\n  \"version\": \"1.1.3\",\n  \"publishedAt\": 1788229728560\n}\n\nFile v1.1.3:skill-card.md\n\n## Description:\n\nTracks SEC 13F institutional holdings by ticker or manager, including top holders, quarter-over-quarter changes, aggregate flows, activist positions, bonds, and options through the read-only SentiSense API.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[thesentitrader](https://clawhub.ai/user/thesentitrader)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal analysts, researchers, and financial agents use this skill to answer questions about institutional ownership, manager portfolios, 13F flows, and activist positioning from delayed SEC 13F filings.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: SentiSense API key exposure.\n\nMitigation: Keep SENTISENSE_API_KEY in the environment and do not place it in URLs or user-facing output.\n\nRisk: Ticker or manager queries are sent to SentiSense.\n\nMitigation: Use the skill only for queries acceptable to send to SentiSense and disclose that dependency when relevant.\n\nRisk: 13F data is delayed and incomplete for trading decisions.\n\nMitigation: State the reportDate and 45-day filing lag, and frame results as informational context rather than investment advice.\n\nRisk: Cross-source convergence summaries can overstate confidence.\n\nMitigation: Treat convergence across 13F, insider, or congressional sources as research context and cite each source separately.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/thesentitrader/skills/institutional-13f-tracker)\n- [SentiSense](https://sentisense.ai)\n- [SentiSense API](https://app.sentisense.ai)\n- [SentiSense API key setup](https://app.sentisense.ai/get-api-key)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown guidance with inline shell commands and API response interpretation]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Read-only API guidance; outputs should state the quoted 13F reportDate and avoid personalized investment advice.]\n\n## Skill Version(s):\n\n1.1.3 (source: server evidence release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.1.2: 3 files, 6152 bytes\n\nFiles: skill-card.md (2525b), SKILL.md (10667b), _meta.json (144b)\n\nFile v1.1.2:SKILL.md\n\n---\nname: institutional-13f-tracker\ndescription: \"13F institutional ownership tracker: quarterly hedge fund and mutual fund holdings from SEC 13F filings, by ticker or by manager, with top institutional holders per stock, quarter-over-quarter buying and selling deltas, and activist investor positions across thousands of managers. Use for 13F filings, 13F holdings changes, hedge fund holdings, institutional ownership by ticker, who owns this stock, activist fund positions, and superinvestor portfolios. Read-only. No trading, no purchases, no write operations, no wallet access.\"\nhomepage: https://sentisense.ai\nrequires:\n  env:\n    - SENTISENSE_API_KEY\nprimaryEnv: SENTISENSE_API_KEY\nmetadata:\n  openclaw:\n    requires:\n      env:\n        - SENTISENSE_API_KEY\n    primaryEnv: SENTISENSE_API_KEY\n---\n# Institutional 13F Tracker (SentiSense)\n\nSee who owns a stock and how the big money is repositioning. This skill reads institutional ownership from SEC 13F filings through the read-only SentiSense API: the top institutional holders for any ticker, aggregate buying and selling per stock, activist positions, and a full portfolio for any manager (from Berkshire Hathaway to the largest index funds), with quarter-over-quarter change types (new, increased, decreased, sold out) across thousands of filers.\n\nRead-only educational data interface. Output is informational context, never a personalized buy or sell recommendation.\n\n## When to Use\n\nReach for this skill when the question is about institutional ownership or 13F positioning:\n\n- \"Who owns $NVDA?\" or \"top institutional holders of $TSLA\"\n- \"What did Berkshire Hathaway buy and sell last quarter?\" (a manager's whole portfolio)\n- \"Is institutional money accumulating or distributing $AAPL?\" (aggregate flows)\n- \"Which activist funds took new positions this quarter?\"\n- \"How did 13F ownership of $COIN change quarter over quarter?\"\n\nThis skill pairs naturally with `politicians-stock-tracker` and `insider-trading-tracker`: line up 13F accumulation against a congressional purchase or an insider cluster buy on the same ticker. Convergence across sources is the high-conviction read.\n\nDo not use it for order entry, portfolio management, or personalized advice. It has no write, trading, or wallet surface; every endpoint is a GET.\n\n## What this data actually is (read before interpreting)\n\n- **13F is quarterly and lagged.** Institutions file 13F-HR within 45 days after each quarter end, so the freshest complete data is always the prior quarter. Never present it as real-time positioning.\n- **Always resolve the quarter first.** Every endpoint except `/quarters` needs a `reportDate`. The most recent quarter is `pending: true` during the 45-day filing window and holds only early filers; use the first quarter with `pending: false` for complete data.\n- **Filer categories:** `INDEX_FUND`, `HEDGE_FUND`, `ACTIVIST`, `PENSION`, `BANK`, `INSURANCE`, `MUTUAL_FUND`, `SOVEREIGN_WEALTH`, `ENDOWMENT`, `CONGLOMERATE`, `OTHER`.\n- **Parent/subsidiary rollups.** Large managers file under many CIKs (e.g. Vanguard). A filer profile carries `multiCikRollup` / `childCikCount` / `childCiks` so sub-manager holdings roll up into one portfolio. Report the rollup, not double-counted child rows.\n- **Report values as given.** The API returns `valueUsd` (institution holdings) and `value` (per-holder) already denominated; quote them as the reported 13F value and do not re-scale or invent a unit.\n\n## Prerequisites\n\n- A free `SENTISENSE_API_KEY`. Get one at https://app.sentisense.ai/get-api-key. Required on every call; anonymous requests return `401 api_key_required`.\n- Any HTTP client. Plain `curl` works, or Python 3.8+ using only the standard library. On macOS python.org installs can raise `CERTIFICATE_VERIFY_FAILED`: run `Install Certificates.command`, use the system `/usr/bin/python3`, or use `curl`.\n- Network access to `https://app.sentisense.ai`.\n- Read-only scope. Every endpoint here is a GET.\n\n| Tier | Quota | Rate | 13F data |\n|------|-------|------|----------|\n| Free | 1,000 requests/month | 30 requests/min | preview slice (top N per endpoint) |\n| PRO ($15/mo) | Unlimited | 300 requests/min | full holder lists and full portfolios |\n\n## How to Run\n\nIssue HTTP GET requests to `https://app.sentisense.ai`, authenticated with the `X-SentiSense-API-Key` header. Keep the key in the shell environment; never place it in a query string or in user-facing output.\n\n**Step 1, always: resolve the quarter.** `/quarters` is a bare array (no envelope). Every other institutional endpoint returns the wrapped envelope `{ isPreview, previewReason, data }`, so read `.data` before iterating. A `429` returns a `Retry-After` header; back off rather than serving a stale value.\n\n**Identify your client.** Send a `User-Agent` naming your agent runtime and this skill, for\nexample `OpenClaw/1.4 (institutional-13f-tracker)` or `ClaudeCode/2.1 (institutional-13f-tracker)`. Substitute your own runtime and\nversion if neither matches. You can also volunteer what your agent is called by adding an\n`agent/<your-agent-name>` token inside the same parentheses, as in\n`OpenClaw/1.4 (institutional-13f-tracker; agent/research-desk)`. All of it is optional, and it is what tells\nus this skill has real integrations behind it, so it gets prioritized and you get notice before it\nchanges.\n\n```bash\n# 1) get valid reporting quarters, pick the first with pending=false\ncurl -s -H \"X-SentiSense-API-Key: $SENTISENSE_API_KEY\" \\\n  \"https://app.sentisense.ai/api/v1/institutional/quarters\"\n# -> [{ \"value\": ..., \"label\": \"Q4 2025\", \"reportDate\": \"2025-12-31\", \"pending\": false }, ...]\n```\n\n## Endpoints\n\n- **`GET /api/v1/institutional/quarters`** : available 13F reporting quarters. **Public**, bare array of `{ value, label, reportDate, pending }`, newest first. Call this first; use the first `pending: false` `reportDate` everywhere below.\n- **`GET /api/v1/institutional/holders/{ticker}?reportDate=`** : institutional holders for a stock. The holder list is nested at **`data.holders`** (not `data` directly). Each holder: filer name, category, shares, value, `changeType` (`NEW` / `INCREASED` / `DECREASED` / `SOLD_OUT` / `UNCHANGED`). `data` always carries `holderCount` (full-quarter count). **Paging (recommended):** pass `limit` (1-1000), `offset`, `sortBy`, `sortDir`. A mega-cap can have 5,000+ holders, and `notableChanges` (holders with a 10%+ change on 10k+ shares) plus `returnedCount` are returned **only when `limit` is passed**. Free: top 5, and free previews omit `returnedCount`, `offset`, and `notableChanges` even when `limit` is passed (`holderCount` stays the full-quarter count).\n- **`GET /api/v1/institutional/flows?reportDate=`** : aggregate institutional buying/selling per ticker. Free: top 5.\n- **`GET /api/v1/institutional/activist?reportDate=`** : activist-filer positions for the quarter (NEW or INCREASED stakes). Free: top 3; PRO: full.\n- **`GET /api/v1/institutional/bonds?reportDate=`** : convertible bond flows grouped by base ticker, the credit-side leg of the same 13F filings. Free: top 3; PRO: full.\n- **`GET /api/v1/institutional/options?reportDate=`** : institutional options positions with the call/put breakdown, as disclosed on 13F. Quarterly and end-of-quarter, not live flow. Free: top 3; PRO: full.\n- **`GET /api/v1/institutional/institutions`** : the filterable universe of tracked filers (use it to find a manager's slug/CIK for the endpoint below). Query `category`, `minAumUsd`, `sort`, `quarter`. Full list on every tier, and quota-exempt.\n- **`GET /api/v1/institutional/institution/{slugOrCik}`** : a single manager's profile, summary stats, and current-quarter equity holdings. Resolve by URL slug (`Berkshire-Hathaway`) or numeric CIK (`1067983`). Free: profile + top 10 holdings; PRO: full holdings. Holdings include `ticker, companyName, shares, valueUsd, changeType, sharesChange, sharesChangePct, portfolioWeight`, plus `multiCikRollup` / `childCiks` for parent/subsidiary rollups. Returns 404 for an unknown slug or CIK.\n\n## Workflows\n\n**1. Who owns this stock?**\n\n```bash\nQ=2025-12-31  # first pending:false reportDate from /quarters\ncurl -s -H \"X-SentiSense-API-Key: $SENTISENSE_API_KEY\" \\\n  \"https://app.sentisense.ai/api/v1/institutional/holders/NVDA?reportDate=$Q&limit=25\"\n```\nRead `data.holders`; lead with the largest holders and the `NEW` / `INCREASED` / `SOLD_OUT` change types and `notableChanges` (returned because `limit` is set).\n\n**2. A manager's whole portfolio (what did they buy and sell?)**\n\n```bash\ncurl -s -H \"X-SentiSense-API-Key: $SENTISENSE_API_KEY\" \\\n  \"https://app.sentisense.ai/api/v1/institutional/institution/Berkshire-Hathaway\"\n```\nSummarize new positions, adds, trims, and exits by `changeType`, and the biggest holdings by `portfolioWeight`.\n\n**3. Aggregate accumulation vs distribution**\n\n```bash\ncurl -s -H \"X-SentiSense-API-Key: $SENTISENSE_API_KEY\" \\\n  \"https://app.sentisense.ai/api/v1/institutional/flows?reportDate=$Q\"\n```\n\n**4. Activist watch**\n\n```bash\ncurl -s -H \"X-SentiSense-API-Key: $SENTISENSE_API_KEY\" \\\n  \"https://app.sentisense.ai/api/v1/institutional/activist?reportDate=$Q\"\n```\n\n**5. Follow the convergence.** When institutional accumulation lines up with a congressional purchase (`politicians-stock-tracker`) or insider buying (`insider-trading-tracker`) on the same ticker, that agreement is the read worth surfacing. Cite each source.\n\n## Answering well\n\n- Always state the `reportDate` you are quoting and that 13F data is a quarterly snapshot filed up to 45 days after quarter end.\n- Attribute holdings to the filer and category; roll parent/subsidiary CIKs into one manager rather than double-counting.\n- Use `changeType` and `sharesChangePct` to describe direction; quote `valueUsd` / `value` as the reported 13F value without re-scaling.\n- Report only what the API returns. Do not infer positions, prices, or intent that are not in the data, and do not frame any of it as advice.\n\n## Going further\n\nFree covers every workflow above at a preview depth (top holders, top-10 portfolio). **PRO ($15/mo)** lifts the monthly cap (no monthly limit, just a 300/min rate) and returns full holder lists and full manager portfolios, plus congressional, insider, options, and AI-insight data across the SentiSense API. Apply coupon `AGENTS26` at checkout for a builder launch discount: https://app.sentisense.ai/pricing?coupon=AGENTS26\n\n**ClawHub Skill:** [clawhub.ai/TheSentiTrader/institutional-13f-tracker](https://clawhub.ai/TheSentiTrader/institutional-13f-tracker)\n\n---\n\n*SentiSense is a read-only financial intelligence API. This data is for informational and educational purposes only, not investment advice.*\n\nFile v1.1.2:_meta.json\n\n{\n  \"ownerId\": \"kn71ca3nrt3w6w0v3nhv3c4tan82x1ym\",\n  \"slug\": \"institutional-13f-tracker\",\n  \"version\": \"1.1.2\",\n  \"publishedAt\": 1787528599846\n}\n\nFile v1.1.2:skill-card.md\n\n## Description:\n\nTracks quarterly institutional ownership from SEC 13F filings by ticker or manager, including top holders, quarter-over-quarter position changes, aggregate flows, and activist positions.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[thesentitrader](https://clawhub.ai/user/thesentitrader)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users, developers, and financial research agents use this skill to inspect delayed 13F institutional ownership data, manager portfolios, aggregate buying and selling, and activist positions. It is for informational research context, not order entry, portfolio management, or personalized investment advice.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill requires a SentiSense API key and network access to query financial data.\n\nMitigation: Keep SENTISENSE_API_KEY in the environment, avoid exposing it in prompts or user-facing output, and confirm that network access to SentiSense is acceptable before use.\n\nRisk: 13F data is delayed quarterly research data and can be misread as current market positioning.\n\nMitigation: State the reportDate, explain the 45-day filing lag, and describe findings as historical 13F context rather than real-time positions.\n\nRisk: Financial research output may be mistaken for trading recommendations.\n\nMitigation: Frame correlations and position changes neutrally, report only API-returned data, and avoid personalized buy, sell, or portfolio-management advice.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/thesentitrader/skills/institutional-13f-tracker)\n- [SentiSense homepage](https://sentisense.ai)\n- [SentiSense API key signup](https://app.sentisense.ai/get-api-key)\n- [SentiSense API base](https://app.sentisense.ai)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Shell commands, API Calls, Guidance]\n\n**Output Format:** [Markdown with inline shell commands and API response interpretation]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires SENTISENSE_API_KEY and network access to SentiSense; uses read-only GET requests; 13F data is delayed and informational.]\n\n## Skill Version(s):\n\n1.1.2 (source: server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.1.1: 3 files, 6199 bytes\n\nFiles: skill-card.md (2684b), SKILL.md (10522b), _meta.json (144b)\n\nFile v1.1.1:SKILL.md\n\n---\nname: institutional-13f-tracker\ndescription: \"13F institutional ownership tracker: quarterly hedge fund and mutual fund holdings from SEC 13F filings, by ticker or by manager, with top institutional holders per stock, quarter-over-quarter buying and selling deltas, and activist investor positions across thousands of managers. Use for 13F filings, 13F holdings changes, hedge fund holdings, institutional ownership by ticker, who owns this stock, activist fund positions, and superinvestor portfolios. Read-only. No trading, no purchases, no write operations, no wallet access.\"\nhomepage: https://sentisense.ai\nrequires:\n  env:\n    - SENTISENSE_API_KEY\nprimaryEnv: SENTISENSE_API_KEY\nmetadata:\n  openclaw:\n    requires:\n      env:\n        - SENTISENSE_API_KEY\n    primaryEnv: SENTISENSE_API_KEY\n---\n# Institutional 13F Tracker (SentiSense)\n\nSee who owns a stock and how the big money is repositioning. This skill reads institutional ownership from SEC 13F filings through the read-only SentiSense API: the top institutional holders for any ticker, aggregate buying and selling per stock, activist positions, and a full portfolio for any manager (from Berkshire Hathaway to the largest index funds), with quarter-over-quarter change types (new, increased, decreased, sold out) across thousands of filers.\n\nRead-only educational data interface. Output is informational context, never a personalized buy or sell recommendation.\n\n## When to Use\n\nReach for this skill when the question is about institutional ownership or 13F positioning:\n\n- \"Who owns $NVDA?\" or \"top institutional holders of $TSLA\"\n- \"What did Berkshire Hathaway buy and sell last quarter?\" (a manager's whole portfolio)\n- \"Is institutional money accumulating or distributing $AAPL?\" (aggregate flows)\n- \"Which activist funds took new positions this quarter?\"\n- \"How did 13F ownership of $COIN change quarter over quarter?\"\n\nThis skill pairs naturally with `politicians-stock-tracker` and `insider-trading-tracker`: line up 13F accumulation against a congressional purchase or an insider cluster buy on the same ticker. Convergence across sources is the high-conviction read.\n\nDo not use it for order entry, portfolio management, or personalized advice. It has no write, trading, or wallet surface; every endpoint is a GET.\n\n## What this data actually is (read before interpreting)\n\n- **13F is quarterly and lagged.** Institutions file 13F-HR within 45 days after each quarter end, so the freshest complete data is always the prior quarter. Never present it as real-time positioning.\n- **Always resolve the quarter first.** Every endpoint except `/quarters` needs a `reportDate`. The most recent quarter is `pending: true` during the 45-day filing window and holds only early filers; use the first quarter with `pending: false` for complete data.\n- **Filer categories:** `INDEX_FUND`, `HEDGE_FUND`, `ACTIVIST`, `PENSION`, `BANK`, `INSURANCE`, `MUTUAL_FUND`, `SOVEREIGN_WEALTH`, `ENDOWMENT`, `CONGLOMERATE`, `OTHER`.\n- **Parent/subsidiary rollups.** Large managers file under many CIKs (e.g. Vanguard). A filer profile carries `multiCikRollup` / `childCikCount` / `childCiks` so sub-manager holdings roll up into one portfolio. Report the rollup, not double-counted child rows.\n- **Report values as given.** The API returns `valueUsd` (institution holdings) and `value` (per-holder) already denominated; quote them as the reported 13F value and do not re-scale or invent a unit.\n\n## Prerequisites\n\n- A free `SENTISENSE_API_KEY`. Get one at https://app.sentisense.ai/get-api-key. Required on every call; anonymous requests return `401 api_key_required`.\n- Any HTTP client. Plain `curl` works, or Python 3.8+ using only the standard library. On macOS python.org installs can raise `CERTIFICATE_VERIFY_FAILED`: run `Install Certificates.command`, use the system `/usr/bin/python3`, or use `curl`.\n- Network access to `https://app.sentisense.ai`.\n- Read-only scope. Every endpoint here is a GET.\n\n| Tier | Quota | Rate | 13F data |\n|------|-------|------|----------|\n| Free | 1,000 requests/month | 30 requests/min | preview slice (top N per endpoint) |\n| PRO ($15/mo) | Unlimited | 300 requests/min | full holder lists and full portfolios |\n\n## How to Run\n\nIssue HTTP GET requests to `https://app.sentisense.ai`, authenticated with the `X-SentiSense-API-Key` header. Keep the key in the shell environment; never place it in a query string or in user-facing output.\n\n**Step 1, always: resolve the quarter.** `/quarters` is a bare array (no envelope). Every other institutional endpoint returns the wrapped envelope `{ isPreview, previewReason, data }`, so read `.data` before iterating. A `429` returns a `Retry-After` header; back off rather than serving a stale value.\n\n**Identify your client.** Send a `User-Agent` naming your agent runtime and this skill, for\nexample `OpenClaw/1.4 (institutional-13f-tracker)` or `ClaudeCode/2.1 (institutional-13f-tracker)`. Substitute your own runtime and\nversion if neither matches. You can also volunteer what your agent is called by adding an\n`agent/<your-agent-name>` token inside the same parentheses, as in\n`OpenClaw/1.4 (institutional-13f-tracker; agent/research-desk)`. All of it is optional, and it is what tells\nus this skill has real integrations behind it, so it gets prioritized and you get notice before it\nchanges.\n\n```bash\n# 1) get valid reporting quarters, pick the first with pending=false\ncurl -s -H \"X-SentiSense-API-Key: $SENTISENSE_API_KEY\" \\\n  \"https://app.sentisense.ai/api/v1/institutional/quarters\"\n# -> [{ \"value\": ..., \"label\": \"Q4 2025\", \"reportDate\": \"2025-12-31\", \"pending\": false }, ...]\n```\n\n## Endpoints\n\n- **`GET /api/v1/institutional/quarters`** : available 13F reporting quarters. **Public**, bare array of `{ value, label, reportDate, pending }`, newest first. Call this first; use the first `pending: false` `reportDate` everywhere below.\n- **`GET /api/v1/institutional/holders/{ticker}?reportDate=`** : institutional holders for a stock. The holder list is nested at **`data.holders`** (not `data` directly). Each holder: filer name, category, shares, value, `changeType` (`NEW` / `INCREASED` / `DECREASED` / `SOLD_OUT` / `UNCHANGED`). `data` always carries `holderCount` (full-quarter count). **Paging (recommended):** pass `limit` (1-1000), `offset`, `sortBy`, `sortDir`. A mega-cap can have 5,000+ holders, and `notableChanges` (holders with a 10%+ change on 10k+ shares) plus `returnedCount` are returned **only when `limit` is passed**. Free: top 5.\n- **`GET /api/v1/institutional/flows?reportDate=`** : aggregate institutional buying/selling per ticker. Free: top 5.\n- **`GET /api/v1/institutional/activist?reportDate=`** : activist-filer positions for the quarter (NEW or INCREASED stakes). Free: top 3; PRO: full.\n- **`GET /api/v1/institutional/bonds?reportDate=`** : convertible bond flows grouped by base ticker, the credit-side leg of the same 13F filings. Free: top 3; PRO: full.\n- **`GET /api/v1/institutional/options?reportDate=`** : institutional options positions with the call/put breakdown, as disclosed on 13F. Quarterly and end-of-quarter, not live flow. Free: top 3; PRO: full.\n- **`GET /api/v1/institutional/institutions`** : the filterable universe of tracked filers (use it to find a manager's slug/CIK for the endpoint below). Query `category`, `minAumUsd`, `sort`, `quarter`. Full list on every tier, and quota-exempt.\n- **`GET /api/v1/institutional/institution/{slugOrCik}`** : a single manager's profile, summary stats, and current-quarter equity holdings. Resolve by URL slug (`Berkshire-Hathaway`) or numeric CIK (`1067983`). Free: profile + top 10 holdings; PRO: full holdings. Holdings include `ticker, companyName, shares, valueUsd, changeType, sharesChange, sharesChangePct, portfolioWeight`, plus `multiCikRollup` / `childCiks` for parent/subsidiary rollups. Returns 404 for an unknown slug or CIK.\n\n## Workflows\n\n**1. Who owns this stock?**\n\n```bash\nQ=2025-12-31  # first pending:false reportDate from /quarters\ncurl -s -H \"X-SentiSense-API-Key: $SENTISENSE_API_KEY\" \\\n  \"https://app.sentisense.ai/api/v1/institutional/holders/NVDA?reportDate=$Q&limit=25\"\n```\nRead `data.holders`; lead with the largest holders and the `NEW` / `INCREASED` / `SOLD_OUT` change types and `notableChanges` (returned because `limit` is set).\n\n**2. A manager's whole portfolio (what did they buy and sell?)**\n\n```bash\ncurl -s -H \"X-SentiSense-API-Key: $SENTISENSE_API_KEY\" \\\n  \"https://app.sentisense.ai/api/v1/institutional/institution/Berkshire-Hathaway\"\n```\nSummarize new positions, adds, trims, and exits by `changeType`, and the biggest holdings by `portfolioWeight`.\n\n**3. Aggregate accumulation vs distribution**\n\n```bash\ncurl -s -H \"X-SentiSense-API-Key: $SENTISENSE_API_KEY\" \\\n  \"https://app.sentisense.ai/api/v1/institutional/flows?reportDate=$Q\"\n```\n\n**4. Activist watch**\n\n```bash\ncurl -s -H \"X-SentiSense-API-Key: $SENTISENSE_API_KEY\" \\\n  \"https://app.sentisense.ai/api/v1/institutional/activist?reportDate=$Q\"\n```\n\n**5. Follow the convergence.** When institutional accumulation lines up with a congressional purchase (`politicians-stock-tracker`) or insider buying (`insider-trading-tracker`) on the same ticker, that agreement is the read worth surfacing. Cite each source.\n\n## Answering well\n\n- Always state the `reportDate` you are quoting and that 13F data is a quarterly snapshot filed up to 45 days after quarter end.\n- Attribute holdings to the filer and category; roll parent/subsidiary CIKs into one manager rather than double-counting.\n- Use `changeType` and `sharesChangePct` to describe direction; quote `valueUsd` / `value` as the reported 13F value without re-scaling.\n- Report only what the API returns. Do not infer positions, prices, or intent that are not in the data, and do not frame any of it as advice.\n\n## Going further\n\nFree covers every workflow above at a preview depth (top holders, top-10 portfolio). **PRO ($15/mo)** lifts the monthly cap (no monthly limit, just a 300/min rate) and returns full holder lists and full manager portfolios, plus congressional, insider, options, and AI-insight data across the SentiSense API. Apply coupon `AGENTS26` at checkout for a builder launch discount: https://app.sentisense.ai/pricing?coupon=AGENTS26\n\n**ClawHub Skill:** [clawhub.ai/TheSentiTrader/institutional-13f-tracker](https://clawhub.ai/TheSentiTrader/institutional-13f-tracker)\n\n---\n\n*SentiSense is a read-only financial intelligence API. This data is for informational and educational purposes only, not investment advice.*\n\nFile v1.1.1:_meta.json\n\n{\n  \"ownerId\": \"kn71ca3nrt3w6w0v3nhv3c4tan82x1ym\",\n  \"slug\": \"institutional-13f-tracker\",\n  \"version\": \"1.1.1\",\n  \"publishedAt\": 1787262822972\n}\n\nFile v1.1.1:skill-card.md\n\n## Description:\n\n13F institutional ownership tracker: quarterly hedge fund and mutual fund holdings from SEC 13F filings, by ticker or by manager, with top institutional holders per stock, quarter-over-quarter buying and selling deltas, and activist investor positions across thousands of managers. Use for 13F filings, 13F holdings changes, hedge fund holdings, institutional ownership by ticker, who owns this stock, activist fund positions, and superinvestor portfolios. Read-only. No trading, no purchases, no write operations, no wallet access.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[thesentitrader](https://clawhub.ai/user/thesentitrader)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to query SentiSense for SEC 13F institutional ownership, holder changes, manager portfolios, aggregate flows, and activist positions. It supports historical research and market context, not order entry, portfolio management, or personalized investment advice.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill sends financial-data queries to SentiSense using a SentiSense API key.\n\nMitigation: Install only if comfortable providing the API key; keep the key in environment variables and out of query strings or user-facing output.\n\nRisk: 13F data is quarterly, lagged, and informational, so users could mistake it for real-time positioning or investment advice.\n\nMitigation: State the reportDate, explain the 45-day filing lag, and avoid buy/sell recommendations or inferred intent beyond returned API data.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/thesentitrader/skills/institutional-13f-tracker)\n- [SentiSense homepage](https://sentisense.ai)\n- [SentiSense API key signup](https://app.sentisense.ai/get-api-key)\n- [SentiSense institutional quarters endpoint](https://app.sentisense.ai/api/v1/institutional/quarters)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Shell commands, API Calls, Guidance]\n\n**Output Format:** [Markdown with inline shell commands and API response summaries]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires SENTISENSE_API_KEY and network access to app.sentisense.ai; outputs are informational financial-data summaries from read-only GET endpoints.]\n\n## Skill Version(s):\n\n1.1.1 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.1.0: 3 files, 6143 bytes\n\nFiles: skill-card.md (2518b), SKILL.md (10420b), _meta.json (144b)\n\nFile v1.1.0:SKILL.md\n\n---\nname: institutional-13f-tracker\ndescription: \"13F institutional ownership tracker: quarterly hedge fund and mutual fund holdings from SEC 13F filings, by ticker or by manager, with top institutional holders per stock, quarter-over-quarter buying and selling deltas, and activist investor positions across thousands of managers. Use for 13F filings, 13F holdings changes, hedge fund holdings, institutional ownership by ticker, who owns this stock, activist fund positions, and superinvestor portfolios. Read-only. No trading, no purchases, no write operations, no wallet access.\"\nhomepage: https://sentisense.ai\nrequires:\n  env:\n    - SENTISENSE_API_KEY\nprimaryEnv: SENTISENSE_API_KEY\nmetadata:\n  openclaw:\n    requires:\n      env:\n        - SENTISENSE_API_KEY\n    primaryEnv: SENTISENSE_API_KEY\n---\n# Institutional 13F Tracker (SentiSense)\n\nSee who owns a stock and how the big money is repositioning. This skill reads institutional ownership from SEC 13F filings through the read-only SentiSense API: the top institutional holders for any ticker, aggregate buying and selling per stock, activist positions, and a full portfolio for any manager (from Berkshire Hathaway to the largest index funds), with quarter-over-quarter change types (new, increased, decreased, sold out) across thousands of filers.\n\nRead-only educational data interface. Output is informational context, never a personalized buy or sell recommendation.\n\n## When to Use\n\nReach for this skill when the question is about institutional ownership or 13F positioning:\n\n- \"Who owns $NVDA?\" or \"top institutional holders of $TSLA\"\n- \"What did Berkshire Hathaway buy and sell last quarter?\" (a manager's whole portfolio)\n- \"Is institutional money accumulating or distributing $AAPL?\" (aggregate flows)\n- \"Which activist funds took new positions this quarter?\"\n- \"How did 13F ownership of $COIN change quarter over quarter?\"\n\nThis skill pairs naturally with `politicians-stock-tracker`: line up 13F accumulation against a congressional purchase on the same ticker. Convergence across sources is the high-conviction read.\n\nDo not use it for order entry, portfolio management, or personalized advice. It has no write, trading, or wallet surface; every endpoint is a GET.\n\n## What this data actually is (read before interpreting)\n\n- **13F is quarterly and lagged.** Institutions file 13F-HR within 45 days after each quarter end, so the freshest complete data is always the prior quarter. Never present it as real-time positioning.\n- **Always resolve the quarter first.** Every endpoint except `/quarters` needs a `reportDate`. The most recent quarter is `pending: true` during the 45-day filing window and holds only early filers; use the first quarter with `pending: false` for complete data.\n- **Filer categories:** `INDEX_FUND`, `HEDGE_FUND`, `ACTIVIST`, `PENSION`, `BANK`, `INSURANCE`, `MUTUAL_FUND`, `SOVEREIGN_WEALTH`, `ENDOWMENT`, `CONGLOMERATE`, `OTHER`.\n- **Parent/subsidiary rollups.** Large managers file under many CIKs (e.g. Vanguard). A filer profile carries `multiCikRollup` / `childCikCount` / `childCiks` so sub-manager holdings roll up into one portfolio. Report the rollup, not double-counted child rows.\n- **Report values as given.** The API returns `valueUsd` (institution holdings) and `value` (per-holder) already denominated; quote them as the reported 13F value and do not re-scale or invent a unit.\n\n## Prerequisites\n\n- A free `SENTISENSE_API_KEY`. Get one at https://app.sentisense.ai/get-api-key. Required on every call; anonymous requests return `401 api_key_required`.\n- Any HTTP client. Plain `curl` works, or Python 3.8+ using only the standard library. On macOS python.org installs can raise `CERTIFICATE_VERIFY_FAILED`: run `Install Certificates.command`, use the system `/usr/bin/python3`, or use `curl`.\n- Network access to `https://app.sentisense.ai`.\n- Read-only scope. Every endpoint here is a GET.\n\n| Tier | Quota | Rate | 13F data |\n|------|-------|------|----------|\n| Free | 1,000 requests/month | 30 requests/min | preview slice (top N per endpoint) |\n| PRO ($15/mo) | Unlimited | 300 requests/min | full holder lists and full portfolios |\n\n## How to Run\n\nIssue HTTP GET requests to `https://app.sentisense.ai`, authenticated with the `X-SentiSense-API-Key` header. Keep the key in the shell environment; never place it in a query string or in user-facing output.\n\n**Step 1, always: resolve the quarter.** `/quarters` is a bare array (no envelope). Every other institutional endpoint returns the wrapped envelope `{ isPreview, previewReason, data }`, so read `.data` before iterating. A `429` returns a `Retry-After` header; back off rather than serving a stale value.\n\n**Identify your client.** Send a `User-Agent` naming your agent runtime and this skill, for\nexample `OpenClaw/1.4 (institutional-13f-tracker)` or `ClaudeCode/2.1 (institutional-13f-tracker)`. Substitute your own runtime and\nversion if neither matches. You can also volunteer what your agent is called by adding an\n`agent/<your-agent-name>` token inside the same parentheses, as in\n`OpenClaw/1.4 (institutional-13f-tracker; agent/research-desk)`. All of it is optional, and it is what tells\nus this skill has real integrations behind it, so it gets prioritized and you get notice before it\nchanges.\n\n```bash\n# 1) get valid reporting quarters, pick the first with pending=false\ncurl -s -H \"X-SentiSense-API-Key: $SENTISENSE_API_KEY\" \\\n  \"https://app.sentisense.ai/api/v1/institutional/quarters\"\n# -> [{ \"value\": ..., \"label\": \"Q4 2025\", \"reportDate\": \"2025-12-31\", \"pending\": false }, ...]\n```\n\n## Endpoints\n\n- **`GET /api/v1/institutional/quarters`** : available 13F reporting quarters. **Public**, bare array of `{ value, label, reportDate, pending }`, newest first. Call this first; use the first `pending: false` `reportDate` everywhere below.\n- **`GET /api/v1/institutional/holders/{ticker}?reportDate=`** : institutional holders for a stock. The holder list is nested at **`data.holders`** (not `data` directly). Each holder: filer name, category, shares, value, `changeType` (`NEW` / `INCREASED` / `DECREASED` / `SOLD_OUT` / `UNCHANGED`). `data` always carries `holderCount` (full-quarter count). **Paging (recommended):** pass `limit` (1-1000), `offset`, `sortBy`, `sortDir`. A mega-cap can have 5,000+ holders, and `notableChanges` (holders with a 10%+ change on 10k+ shares) plus `returnedCount` are returned **only when `limit` is passed**. Free: top 5.\n- **`GET /api/v1/institutional/flows?reportDate=`** : aggregate institutional buying/selling per ticker. Free: top 5.\n- **`GET /api/v1/institutional/activist?reportDate=`** : activist-filer positions for the quarter (NEW or INCREASED stakes). Free: top 3; PRO: full.\n- **`GET /api/v1/institutional/bonds?reportDate=`** : convertible bond flows grouped by base ticker, the credit-side leg of the same 13F filings. Free: top 3; PRO: full.\n- **`GET /api/v1/institutional/options?reportDate=`** : institutional options positions with the call/put breakdown, as disclosed on 13F. Quarterly and end-of-quarter, not live flow. Free: top 3; PRO: full.\n- **`GET /api/v1/institutional/institutions`** : the filterable universe of tracked filers (use it to find a manager's slug/CIK for the endpoint below). Query `category`, `minAumUsd`, `sort`, `quarter`. Full list on every tier, and quota-exempt.\n- **`GET /api/v1/institutional/institution/{slugOrCik}`** : a single manager's profile, summary stats, and current-quarter equity holdings. Resolve by URL slug (`Berkshire-Hathaway`) or numeric CIK (`1067983`). Free: profile + top 10 holdings; PRO: full holdings. Holdings include `ticker, companyName, shares, valueUsd, changeType, sharesChange, sharesChangePct, portfolioWeight`, plus `multiCikRollup` / `childCiks` for parent/subsidiary rollups. Returns 404 for an unknown slug or CIK.\n\n## Workflows\n\n**1. Who owns this stock?**\n\n```bash\nQ=2025-12-31  # first pending:false reportDate from /quarters\ncurl -s -H \"X-SentiSense-API-Key: $SENTISENSE_API_KEY\" \\\n  \"https://app.sentisense.ai/api/v1/institutional/holders/NVDA?reportDate=$Q&limit=25\"\n```\nRead `data.holders`; lead with the largest holders and the `NEW` / `INCREASED` / `SOLD_OUT` change types and `notableChanges` (returned because `limit` is set).\n\n**2. A manager's whole portfolio (what did they buy and sell?)**\n\n```bash\ncurl -s -H \"X-SentiSense-API-Key: $SENTISENSE_API_KEY\" \\\n  \"https://app.sentisense.ai/api/v1/institutional/institution/Berkshire-Hathaway\"\n```\nSummarize new positions, adds, trims, and exits by `changeType`, and the biggest holdings by `portfolioWeight`.\n\n**3. Aggregate accumulation vs distribution**\n\n```bash\ncurl -s -H \"X-SentiSense-API-Key: $SENTISENSE_API_KEY\" \\\n  \"https://app.sentisense.ai/api/v1/institutional/flows?reportDate=$Q\"\n```\n\n**4. Activist watch**\n\n```bash\ncurl -s -H \"X-SentiSense-API-Key: $SENTISENSE_API_KEY\" \\\n  \"https://app.sentisense.ai/api/v1/institutional/activist?reportDate=$Q\"\n```\n\n**5. Follow the convergence.** When institutional accumulation lines up with a congressional purchase (`politicians-stock-tracker`) on the same ticker, that agreement is the read worth surfacing. Cite each source.\n\n## Answering well\n\n- Always state the `reportDate` you are quoting and that 13F data is a quarterly snapshot filed up to 45 days after quarter end.\n- Attribute holdings to the filer and category; roll parent/subsidiary CIKs into one manager rather than double-counting.\n- Use `changeType` and `sharesChangePct` to describe direction; quote `valueUsd` / `value` as the reported 13F value without re-scaling.\n- Report only what the API returns. Do not infer positions, prices, or intent that are not in the data, and do not frame any of it as advice.\n\n## Going further\n\nFree covers every workflow above at a preview depth (top holders, top-10 portfolio). **PRO ($15/mo)** lifts the monthly cap (no monthly limit, just a 300/min rate) and returns full holder lists and full manager portfolios, plus congressional, insider, options, and AI-insight data across the SentiSense API. Apply coupon `AGENTS26` at checkout for a builder launch discount: https://app.sentisense.ai/pricing?coupon=AGENTS26\n\n**ClawHub Skill:** [clawhub.ai/TheSentiTrader/institutional-13f-tracker](https://clawhub.ai/TheSentiTrader/institutional-13f-tracker)\n\n---\n\n*SentiSense is a read-only financial intelligence API. This data is for informational and educational purposes only, not investment advice.*\n\nFile v1.1.0:_meta.json\n\n{\n  \"ownerId\": \"kn71ca3nrt3w6w0v3nhv3c4tan82x1ym\",\n  \"slug\": \"institutional-13f-tracker\",\n  \"version\": \"1.1.0\",\n  \"publishedAt\": 1787216580243\n}\n\nFile v1.1.0:skill-card.md\n\n## Description:\n\n13F institutional ownership tracker: quarterly hedge fund and mutual fund holdings from SEC 13F filings, by ticker or by manager, with top institutional holders per stock, quarter-over-quarter buying and selling deltas, and activist investor positions across thousands of managers.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[thesentitrader](https://clawhub.ai/user/thesentitrader)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to retrieve read-only institutional 13F ownership, holder, flow, activist, bond, option, and manager portfolio data for financial research. It is intended for informational context, not order entry, portfolio management, or personalized investment advice.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Authenticated requests to SentiSense may consume the user's quota or hit rate limits.\n\nMitigation: Verify the intended pricing and quota tier before use, avoid unnecessary requests, and respect Retry-After guidance on 429 responses.\n\nRisk: The required SENTISENSE_API_KEY could be exposed if placed in URLs, logs, or user-facing output.\n\nMitigation: Keep the key in the environment and X-SentiSense-API-Key header, and do not print or echo it in responses.\n\nRisk: 13F data is quarterly, delayed, and informational, so it can be misleading if presented as real-time positioning or advice.\n\nMitigation: State the reportDate, use the first complete non-pending quarter, describe the 45-day filing lag, and avoid buy or sell recommendations.\n\n## Reference(s):\n\n- [SentiSense](https://sentisense.ai)\n- [SentiSense API Key](https://app.sentisense.ai/get-api-key)\n- [ClawHub Skill Page](https://clawhub.ai/thesentitrader/skills/institutional-13f-tracker)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, guidance]\n\n**Output Format:** [Markdown with inline shell command examples and API response guidance]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Read-only output based on authenticated SentiSense API GET requests; responses should state reportDate and preserve reported values.]\n\n## Skill Version(s):\n\n1.1.0 (source: server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.0: 3 files, 5616 bytes\n\nFiles: skill-card.md (2402b), SKILL.md (9444b), _meta.json (144b)\n\nFile v1.0.0:SKILL.md\n\n---\nname: institutional-13f-tracker\ndescription: \"13F institutional ownership tracker: quarterly hedge fund and mutual fund holdings from SEC 13F filings, by ticker or by manager, with top institutional holders per stock, quarter-over-quarter buying and selling deltas, and activist investor positions across thousands of managers. Use for 13F filings, 13F holdings changes, hedge fund holdings, institutional ownership by ticker, who owns this stock, activist fund positions, and superinvestor portfolios. Read-only. No trading, no purchases, no write operations, no wallet access.\"\nhomepage: https://sentisense.ai\nrequires:\n  env:\n    - SENTISENSE_API_KEY\nprimaryEnv: SENTISENSE_API_KEY\nmetadata:\n  openclaw:\n    requires:\n      env:\n        - SENTISENSE_API_KEY\n    primaryEnv: SENTISENSE_API_KEY\n---\n# Institutional 13F Tracker (SentiSense)\n\nSee who owns a stock and how the big money is repositioning. This skill reads institutional ownership from SEC 13F filings through the read-only SentiSense API: the top institutional holders for any ticker, aggregate buying and selling per stock, activist positions, and a full portfolio for any manager (from Berkshire Hathaway to the largest index funds), with quarter-over-quarter change types (new, increased, decreased, sold out) across thousands of filers.\n\nRead-only educational data interface. Output is informational context, never a personalized buy or sell recommendation.\n\n## When to Use\n\nReach for this skill when the question is about institutional ownership or 13F positioning:\n\n- \"Who owns $NVDA?\" or \"top institutional holders of $TSLA\"\n- \"What did Berkshire Hathaway buy and sell last quarter?\" (a manager's whole portfolio)\n- \"Is institutional money accumulating or distributing $AAPL?\" (aggregate flows)\n- \"Which activist funds took new positions this quarter?\"\n- \"How did 13F ownership of $COIN change quarter over quarter?\"\n\nThis skill pairs naturally with `politicians-stock-tracker`: line up 13F accumulation against a congressional purchase on the same ticker. Convergence across sources is the high-conviction read.\n\nDo not use it for order entry, portfolio management, or personalized advice. It has no write, trading, or wallet surface; every endpoint is a GET.\n\n## What this data actually is (read before interpreting)\n\n- **13F is quarterly and lagged.** Institutions file 13F-HR within 45 days after each quarter end, so the freshest complete data is always the prior quarter. Never present it as real-time positioning.\n- **Always resolve the quarter first.** Every endpoint except `/quarters` needs a `reportDate`. The most recent quarter is `pending: true` during the 45-day filing window and holds only early filers; use the first quarter with `pending: false` for complete data.\n- **Filer categories:** `INDEX_FUND`, `HEDGE_FUND`, `ACTIVIST`, `PENSION`, `BANK`, `INSURANCE`, `MUTUAL_FUND`, `SOVEREIGN_WEALTH`, `ENDOWMENT`, `CONGLOMERATE`, `OTHER`.\n- **Parent/subsidiary rollups.** Large managers file under many CIKs (e.g. Vanguard). A filer profile carries `multiCikRollup` / `childCikCount` / `childCiks` so sub-manager holdings roll up into one portfolio. Report the rollup, not double-counted child rows.\n- **Report values as given.** The API returns `valueUsd` (institution holdings) and `value` (per-holder) already denominated; quote them as the reported 13F value and do not re-scale or invent a unit.\n\n## Prerequisites\n\n- A free `SENTISENSE_API_KEY`. Get one at https://app.sentisense.ai/get-api-key. Required on every call; anonymous requests return `401 api_key_required`.\n- Any HTTP client. Plain `curl` works, or Python 3.8+ using only the standard library. On macOS python.org installs can raise `CERTIFICATE_VERIFY_FAILED`: run `Install Certificates.command`, use the system `/usr/bin/python3`, or use `curl`.\n- Network access to `https://app.sentisense.ai`.\n- Read-only scope. Every endpoint here is a GET.\n\n| Tier | Quota | Rate | 13F data |\n|------|-------|------|----------|\n| Free | 1,000 requests/month | 30 requests/min | preview slice (top N per endpoint) |\n| PRO ($15/mo) | Unlimited | 300 requests/min | full holder lists and full portfolios |\n\n## How to Run\n\nIssue HTTP GET requests to `https://app.sentisense.ai`, authenticated with the `X-SentiSense-API-Key` header. Keep the key in the shell environment; never place it in a query string or in user-facing output.\n\n**Step 1, always: resolve the quarter.** `/quarters` is a bare array (no envelope). Every other institutional endpoint returns the wrapped envelope `{ isPreview, previewReason, data }`, so read `.data` before iterating. A `429` returns a `Retry-After` header; back off rather than serving a stale value.\n\n```bash\n# 1) get valid reporting quarters, pick the first with pending=false\ncurl -s -H \"X-SentiSense-API-Key: $SENTISENSE_API_KEY\" \\\n  \"https://app.sentisense.ai/api/v1/institutional/quarters\"\n# -> [{ \"value\": ..., \"label\": \"Q4 2025\", \"reportDate\": \"2025-12-31\", \"pending\": false }, ...]\n```\n\n## Endpoints\n\n- **`GET /api/v1/institutional/quarters`** : available 13F reporting quarters. **Public**, bare array of `{ value, label, reportDate, pending }`, newest first. Call this first; use the first `pending: false` `reportDate` everywhere below.\n- **`GET /api/v1/institutional/holders/{ticker}?reportDate=`** : institutional holders for a stock. The holder list is nested at **`data.holders`** (not `data` directly). Each holder: filer name, category, shares, value, `changeType` (`NEW` / `INCREASED` / `DECREASED` / `SOLD_OUT` / `UNCHANGED`). `data` always carries `holderCount` (full-quarter count). **Paging (recommended):** pass `limit` (1-1000), `offset`, `sortBy`, `sortDir`. A mega-cap can have 5,000+ holders, and `notableChanges` (holders with a 10%+ change on 10k+ shares) plus `returnedCount` are returned **only when `limit` is passed**. Free: top 5.\n- **`GET /api/v1/institutional/flows?reportDate=`** : aggregate institutional buying/selling per ticker. Free: top 5.\n- **`GET /api/v1/institutional/activist?reportDate=`** : activist-filer positions for the quarter (NEW or INCREASED stakes). Free: top 3; PRO: full.\n- **`GET /api/v1/institutional/institutions`** : the filterable universe of tracked filers (use it to find a manager's slug/CIK for the endpoint below). Query `category`, `minAumUsd`, `sort`, `quarter`. Full list on every tier, and quota-exempt.\n- **`GET /api/v1/institutional/institution/{slugOrCik}`** : a single manager's profile, summary stats, and current-quarter equity holdings. Resolve by URL slug (`Berkshire-Hathaway`) or numeric CIK (`1067983`). Free: profile + top 10 holdings; PRO: full holdings. Holdings include `ticker, companyName, shares, valueUsd, changeType, sharesChange, sharesChangePct, portfolioWeight`, plus `multiCikRollup` / `childCiks` for parent/subsidiary rollups. Returns 404 for an unknown slug or CIK.\n\n## Workflows\n\n**1. Who owns this stock?**\n\n```bash\nQ=2025-12-31  # first pending:false reportDate from /quarters\ncurl -s -H \"X-SentiSense-API-Key: $SENTISENSE_API_KEY\" \\\n  \"https://app.sentisense.ai/api/v1/institutional/holders/NVDA?reportDate=$Q&limit=25\"\n```\nRead `data.holders`; lead with the largest holders and the `NEW` / `INCREASED` / `SOLD_OUT` change types and `notableChanges` (returned because `limit` is set).\n\n**2. A manager's whole portfolio (what did they buy and sell?)**\n\n```bash\ncurl -s -H \"X-SentiSense-API-Key: $SENTISENSE_API_KEY\" \\\n  \"https://app.sentisense.ai/api/v1/institutional/institution/Berkshire-Hathaway\"\n```\nSummarize new positions, adds, trims, and exits by `changeType`, and the biggest holdings by `portfolioWeight`.\n\n**3. Aggregate accumulation vs distribution**\n\n```bash\ncurl -s -H \"X-SentiSense-API-Key: $SENTISENSE_API_KEY\" \\\n  \"https://app.sentisense.ai/api/v1/institutional/flows?reportDate=$Q\"\n```\n\n**4. Activist watch**\n\n```bash\ncurl -s -H \"X-SentiSense-API-Key: $SENTISENSE_API_KEY\" \\\n  \"https://app.sentisense.ai/api/v1/institutional/activist?reportDate=$Q\"\n```\n\n**5. Follow the convergence.** When institutional accumulation lines up with a congressional purchase (`politicians-stock-tracker`) on the same ticker, that agreement is the read worth surfacing. Cite each source.\n\n## Answering well\n\n- Always state the `reportDate` you are quoting and that 13F data is a quarterly snapshot filed up to 45 days after quarter end.\n- Attribute holdings to the filer and category; roll parent/subsidiary CIKs into one manager rather than double-counting.\n- Use `changeType` and `sharesChangePct` to describe direction; quote `valueUsd` / `value` as the reported 13F value without re-scaling.\n- Report only what the API returns. Do not infer positions, prices, or intent that are not in the data, and do not frame any of it as advice.\n\n## Going further\n\nFree covers every workflow above at a preview depth (top holders, top-10 portfolio). **PRO ($15/mo)** lifts the monthly cap (no monthly limit, just a 300/min rate) and returns full holder lists and full manager portfolios, plus congressional, insider, options, and AI-insight data across the SentiSense API. Apply coupon `AGENTS26` at checkout for a builder launch discount: https://app.sentisense.ai/pricing?coupon=AGENTS26\n\n**ClawHub Skill:** [clawhub.ai/TheSentiTrader/institutional-13f-tracker](https://clawhub.ai/TheSentiTrader/institutional-13f-tracker)\n\n---\n\n*SentiSense is a read-only financial intelligence API. This data is for informational and educational purposes only, not investment advice.*\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn71ca3nrt3w6w0v3nhv3c4tan82x1ym\",\n  \"slug\": \"institutional-13f-tracker\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1784412867877\n}\n\nFile v1.0.0:skill-card.md\n\n## Description: <br>\n13F institutional ownership tracker: quarterly hedge fund and mutual fund holdings from SEC 13F filings, by ticker or by manager, with top institutional holders per stock, quarter-over-quarter buying and selling deltas, and activist investor positions across thousands of managers. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[thesentitrader](https://clawhub.ai/user/thesentitrader) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers, agents, and financial research users use this skill to retrieve read-only 13F institutional ownership context by ticker, manager, quarter-over-quarter change, aggregate flow, or activist position. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Users may mistake delayed 13F context for real-time positions or personalized investment advice. <br>\nMitigation: State the reportDate and quarterly filing lag, and avoid presenting outputs as trading recommendations. <br>\nRisk: The SENTISENSE_API_KEY grants access to SentiSense financial-data lookups. <br>\nMitigation: Keep the key in an environment variable or request header, and do not expose it in query strings or user-facing output. <br>\nRisk: Cross-source convergence language may overstate confidence in an investment signal. <br>\nMitigation: Frame convergence as contextual comparison only and avoid suggesting trades solely from that language. <br>\n\n\n## Reference(s): <br>\n- [SentiSense](https://sentisense.ai) <br>\n- [SentiSense API Key](https://app.sentisense.ai/get-api-key) <br>\n- [ClawHub Skill Listing](https://clawhub.ai/thesentitrader/skills/institutional-13f-tracker) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Text, Markdown, Shell commands, Guidance] <br>\n**Output Format:** [Markdown with financial-data summaries and optional curl commands] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Requires SENTISENSE_API_KEY and read-only network access to app.sentisense.ai.] <br>\n\n## Skill Version(s): <br>\n1.0.0 (source: release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>","readmeExcerpt":"Skill: institutional-13f-tracker Owner: thesentitrader Summary: 13F institutional ownership tracker: quarterly hedge fund and mutual fund holdings from SEC 13F filings, by ticker or by manager, with top institutional holders per stock, quarter-over-quarter buying and selling deltas, and activist investor positions across thousands of managers. Use for 13F filings, 13F holdings changes, hedge fund holdings, institutio","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"curl -s -H \"X-SentiSense-API-Key: $SENTISENSE_API_KEY\" \\"},{"language":"bash","snippet":"# 1) get valid reporting quarters, pick the first with pending=false\ncurl -s -H \"X-SentiSense-API-Key: $SENTISENSE_API_KEY\" \\\n  \"https://app.sentisense.ai/api/v1/institutional/quarters\"\n# -> [{ \"value\": ..., \"label\": \"Q4 2025\", \"reportDate\": \"2025-12-31\", \"pending\": false }, ...]"},{"language":"bash","snippet":"curl -s -H \"X-SentiSense-API-Key: $SENTISENSE_API_KEY\" \\"},{"language":"bash","snippet":"Q=2026-06-30  # first pending:false reportDate from /quarters\ncurl -s -H \"X-SentiSense-API-Key: $SENTISENSE_API_KEY\" \\\n  \"https://app.sentisense.ai/api/v1/institutional/holders/NVDA?reportDate=$Q&limit=25\""},{"language":"bash","snippet":"curl -s -H \"X-SentiSense-API-Key: $SENTISENSE_API_KEY\" \\"},{"language":"bash","snippet":"curl -s -H \"X-SentiSense-API-Key: $SENTISENSE_API_KEY\" \\\n  \"https://app.sentisense.ai/api/v1/institutional/institution/Berkshire-Hathaway\""}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: institutional-13f-tracker\ndescription: \"13F institutional ownership tracker: quarterly hedge fund and mutual fund holdings from SEC 13F filings, by ticker or by manager, with top institutional holders per stock, quarter-over-quarter buying and selling deltas, and activist investor positions across thousands of managers. Use for 13F filings, 13F holdings changes, hedge fund holdings, institutional ownership by ticker, who owns this stock, activist fund positions, and superinvestor portfolios. Read-only. No trading, no purchases, no write operations, no wallet access.\"\nhomepage: https://sentisense.ai\nrequires:\n  env:\n    - SENTISENSE_API_KEY\nprimaryEnv: SENTISENSE_API_KEY\nmetadata:\n  openclaw:\n    requires:\n      env:\n        - SENTISENSE_API_KEY\n    primaryEnv: SENTISENSE_API_KEY\n---\n# Institutional 13F Tracker (SentiSense)\n\nSee who owns a stock and how the big money is repositioning. This skill reads institutional ownership from SEC 13F filings through the read-only SentiSense API: the top institutional holders for any ticker, aggregate buying and selling per stock, activist positions, and a full portfolio for any manager (from Berkshire Hathaway to the largest index funds), with quarter-over-quarter change types (new, increased, decreased, sold out) across thousands of filers.\n\nRead-only educational data interface. Output is informational context, never a personalized buy or sell recommendation.\n\n## When to Use\n\nReach for this skill when the question is about institutional ownership or 13F positioning:\n\n- \"Who owns $NVDA?\" or \"top institutional holders of $TSLA\"\n- \"What did Berkshire Hathaway buy and sell last quarter?\" (a manager's whole portfolio)\n- \"Is institutional money accumulating or distributing $AAPL?\" (aggregate flows)\n- \"Which activist funds took new positions this quarter?\"\n- \"How did 13F ownership of $COIN change quarter over quarter?\"\n\nThis skill pairs naturally with `politicians-stock-tracker` and `insider-trading-tracker`: line up 13F accumulation against a congressional purchase or an insider cluster buy on the same ticker. Convergence across sources is the high-conviction read.\n\nDo not use it for order entry, portfolio management, or personalized advice. It has no write, trading, or wallet surface; every endpoint is a GET.\n\n## What this data actually is (read before interpreting)\n\n- **13F is quarterly and lagged.** Institutions file 13F-HR within 45 days after each quarter end, so the freshest complete data is always the prior quarter. Never present it as real-time positioning.\n- **Always resolve the quarter first.** The quarter-scoped feeds (`/flows`, `/activist`, `/bonds`, `/options`) need a `reportDate`. Four endpoints do not: `/quarters` is the resolver itself, `/holders/{ticker}` resolves the latest settled quarter for the ticker when you omit it and echoes the one it used, `/institutions` takes an optional `quarter` (the `value` form, `2026Q2`, not a `reportDate`), and `/institution/{slugOrCik}` takes neither an"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn71ca3nrt3w6w0v3nhv3c4tan82x1ym\",\n  \"slug\": \"institutional-13f-tracker\",\n  \"version\": \"1.1.7\",\n  \"publishedAt\": 1791090562286\n}"},{"path":"skill-card.md","content":"## Description:\n\nSummarizes quarterly institutional holdings, ownership changes, fund portfolios, and activist positions from SEC 13F data through the read-only SentiSense API.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[thesentitrader](https://clawhub.ai/user/thesentitrader)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nInvestors and research analysts use this skill to investigate who holds a stock, how institutional positions changed between quarters, and which managers hold or changed positions. Results are informational research context, not investment advice.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The API key is sent to app.sentisense.ai for authenticated data retrieval.\n\nMitigation: Review the service before use; keep the key in the environment and out of URLs and shared output.\n\nRisk: Quarterly 13F filings are delayed, and market-signal language could be mistaken for current positioning or investment advice.\n\nMitigation: State the report date and filing lag; use the results as research context, not buy or sell advice.\n\nRisk: The skill includes optional client-identification headers and a paid-tier promotion.\n\nMitigation: Review optional identification and promotional content before use.\n\n## Reference(s):\n\n- [ClawHub skill release](https://clawhub.ai/thesentitrader/skills/institutional-13f-tracker)\n- [SentiSense](https://sentisense.ai)\n- [SentiSense API key](https://app.sentisense.ai/get-api-key)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Shell commands, Guidance]\n\n**Output Format:** [Markdown summaries with cited reporting quarters and optional curl examples]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Read-only quarterly 13F snapshots; free-tier results may be previews.]\n\n## Skill Version(s):\n\n1.1.7 (source: server-resolved ClawHub release)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"13F institutional ownership tracker: quarterly hedge fund and mutual fund holdings from SEC 13F filings, by ticker or by manager, with top institutional holders per stock, quarter-over-quarter buying and selling deltas, and activist investor positions across thousands of managers. Use for 13F filings, 13F holdings changes, hedge fund holdings, institutional ownership by ticker, who owns this stock, activist fund positions, and superinvestor portfolios. Read-only. No trading, no purchases, no write operations, no wallet access. Skill: institutional-13f-tracker Owner: thesentitrader Summary: 13F institutional ownership tracker: quarterly hedge fund and mutual fund holdings from SEC 13F filings, by ticker or by manager, with top institutional holders per stock, quarter-over-quarter buying and selling deltas, and activist investor positions across thousands of managers. Use for 13F filings, 13F holdings changes, hedge fund holdings, institutio","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1315,"uniquenessScore":47,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T15:29:53.691Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-11T15:29:53.691Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-11T17:43:04.515Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}