← Back to Skills Marketplace
yx9966

drillr — Power Terminal for Deep Financial Research

by yx9966 · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ Security Clean
252
Downloads
11
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install drillr
Description
Power terminal for deep financial research on US public equities — reason through investment theses, screen for ideas, map supply chains, do forensic account...
README (SKILL.md)

drillr — Power Terminal for Deep Financial Research

drillr.ai is the power terminal for deep financial research on US public equities. Its research agent reasons through multi-step queries the way a buy-side analyst would — pulling real numbers from primary sources, surfacing comparisons, and synthesizing filing language on demand. Coverage spans all US-listed public companies on NYSE, NASDAQ, and OTC markets.


Safety & Guardrails

drillr is a read-only research skill — pure question in, markdown answer out. No side effects, no surprises.

What the skill does, and only does:

  1. Takes the user's question as a plain string
  2. Sends a single HTTPS POST to one hardcoded endpoint: diggr-agent-prod-414559604673.us-east4.run.app/api/public/chat
  3. Streams the Server-Sent Events response
  4. Renders the result as markdown text on stdout

What the skill will never do:

  • Read, write, or delete files — no filesystem access beyond stdout
  • Execute shell commands, eval, exec, or spawn subprocesses
  • Make a second network request — exactly one POST per query, nothing chained, nothing retried silently
  • Handle credentials, API keys, cookies, or session tokens — the endpoint is unauthenticated
  • Persist anything between calls — each invocation is fully stateless
  • Access environment variables, git history, ~/.ssh, or any other local data
  • Emit telemetry, analytics, or usage tracking

Dependencies: Python stdlib only (http.client, json, re, io, urllib.parse, sys). Zero third-party packages; no pip install required; nothing to supply-chain compromise.

Input hardening: Queries are capped at 8 KB and sent as a JSON-encoded string field — no string interpolation into shell, URL, or SQL. The API URL is hardcoded, not constructed from input.

Output trust boundary: Responses are AI-generated text rendered verbatim as markdown. The script never execs, evals, or otherwise acts on returned content. Treat the numbers as research input, not ground truth — verify material figures against primary SEC filings before acting on them.


What You Can Do

Thesis-Driven Company Discovery

Find companies that fit a specific investment thesis — across fundamentals, quality, valuation, and momentum signals simultaneously.

  • "Screen for mid-cap software companies with revenue growth above 20%, positive free cash flow, and P/FCF under 30x"
  • "Find small-cap industrials with improving gross margins, low debt, and insider buying in the last two quarters"
  • "Which Russell 2000 companies have had three consecutive quarters of earnings beats and still trade below 15x earnings?"
  • "Find healthcare companies where institutional ownership has increased significantly in the last two 13F periods"

Supply Chain & Sector Mapping

Map competitive dynamics, trace customer/supplier relationships, and understand who wins when a sector theme plays out.

  • "Which semiconductor equipment companies have the most revenue exposure to AI infrastructure capex?"
  • "Compare gross margin trends across the five largest cloud infrastructure companies over the last three years"
  • "Which defense contractors have the highest backlog-to-revenue ratios and how has that changed?"
  • "Who are the biggest beneficiaries if US reshoring accelerates — show revenue mix by geography for major industrials"

Forensic Accounting

Detect earnings quality issues, stress-test reported numbers, and surface divergences between what management says and what the financials show.

  • "Compare Palantir's GAAP net income vs operating cash flow vs stock-based compensation over the last 8 quarters — is earnings quality improving?"
  • "Show the change in days sales outstanding and inventory levels for Nike over the last six quarters"
  • "Flag any companies in the S&P 500 consumer sector where revenue growth is accelerating but cash conversion is declining"
  • "What changed in Boeing's 10-K risk factors between 2022 and 2024 — show new additions and deletions"
  • "Reconcile Tesla's reported free cash flow against capex and working capital changes — does the cash flow story hold?"

Cross-Company Data Tabulation

Pull a specific metric across a peer group and lay it out side by side — no manual lookup required.

  • "Show revenue, gross margin, operating margin, and FCF margin for the top 10 enterprise software companies — last four quarters"
  • "Compare EV/EBITDA, EV/Sales, and P/FCF for the five largest US banks right now"
  • "Table out EPS beat/miss percentage and average surprise for the Magnificent 7 over the last 8 quarters"
  • "Show capex as a percentage of revenue for major US airlines since 2022 — who is over-investing vs under-investing?"

Earnings Call Fact Lookup

Extract exactly what management said on a specific topic — across one call or multiple quarters.

  • "What did NVIDIA's CEO say about data center demand in the last two earnings calls — pull the exact quotes"
  • "Did Salesforce management say anything about price increases or seat expansion in Q4 2025?"
  • "How has Meta's tone around AI capex commitments changed from Q1 2024 to Q4 2025 — track the language evolution"
  • "What guidance did Microsoft give for Azure growth and did they raise, hold, or lower it versus last quarter?"
  • "Which companies in the semiconductor sector flagged inventory destocking as a risk on their most recent calls?"

SEC Filing Fact Lookup

Pull specific disclosures, track language changes across filings, and surface material events without reading hundreds of pages.

  • "What new risk factors did Apple add to their 2024 10-K that weren't in the 2023 filing?"
  • "Summarize the liquidity and capital resources section of Tesla's most recent 10-Q"
  • "What 8-K events has Boeing filed in the last 60 days — show dates and event types"
  • "Pull executive compensation details from the most recent proxy for Meta — base, bonus, equity breakdown"
  • "Has any activist investor filed a 13D on a consumer staples company in the last 90 days?"

Smart Money & Insider Tracking

Track where informed capital is moving — both insiders at the company and major institutional investors.

  • "Which insiders at Meta have bought stock on the open market in the last 60 days — dollar amounts and prices"
  • "Show how Druckenmiller's family office changed its top 10 positions in the most recent 13F"
  • "Which S&P 500 companies have had the highest insider buying-to-selling ratio in the last quarter?"
  • "Find small-cap stocks where two or more insiders bought at 52-week lows in the last 90 days"
  • "Show the top 20 institutional holders of Palantir and how their positions changed last quarter"

Financial Modeling Support

Pull the exact historical series you need to build or stress-test a model — formatted and ready to use.

  • "Give me Apple's quarterly revenue, gross profit, R&D, SG&A, operating income, and net income for the last 20 quarters"
  • "Pull Nvidia's capex, D&A, stock-based comp, and free cash flow for the last 12 quarters"
  • "Show Amazon's segment revenue and operating income breakdown — AWS vs North America retail vs International — by quarter since 2022"
  • "What is Microsoft's historical effective tax rate by fiscal year for the last 10 years?"
  • "Pull the full balance sheet for Berkshire Hathaway — assets, liabilities, equity — for each year-end since 2018"

Event-Driven & Catalyst Research

Track material events, news catalysts, and price-moving disclosures around specific dates or ongoing situations.

  • "What caused the drop in Fastly stock in early 2026 — show news and any 8-K filings around that period"
  • "Show all press releases and regulatory filings from Boeing in the last 30 days"
  • "Which biotech companies have FDA PDUFA dates coming up in the next 60 days?"
  • "What triggered the spike in Palantir's stock in February 2025 — news, earnings, or something else?"

Valuation & Relative Value

Assess how cheap or expensive something is — in absolute terms, relative to history, or versus peers.

  • "What is Nvidia's P/E ratio history over the last three years alongside its revenue growth rate?"
  • "Which S&P 500 sectors are trading at the widest discount to their 5-year average EV/EBITDA?"
  • "Show Microsoft's current valuation multiples vs its 3-year and 5-year average — is it expensive or cheap historically?"
  • "Find the 10 cheapest large-cap technology stocks by P/FCF that still have double-digit revenue growth"

How to Invoke the Agent

When the user asks a financial research question, run the following inline command. Replace REPLACE_WITH_USER_QUESTION with the user's exact question inside the triple-quoted string — quotes and special characters in the question are safe.

python3 - \x3C\x3C 'DRILLR_END'
import http.client, io, json, re, sys, urllib.parse

# Force UTF-8 output (avoids encoding errors on Windows)
if hasattr(sys.stdout, "buffer"):
    sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding="utf-8", errors="replace")

QUERY = """REPLACE_WITH_USER_QUESTION"""

API_URL = "https://diggr-agent-prod-414559604673.us-east4.run.app/api/public/chat"
payload = json.dumps({"messages": [{"role": "user", "content": QUERY}]}).encode("utf-8")

parsed = urllib.parse.urlparse(API_URL)
conn = http.client.HTTPSConnection(parsed.netloc, timeout=15)
conn.request("POST", parsed.path, body=payload, headers={"Content-Type": "application/json"})
resp = conn.getresponse()

# Remove timeout after connect so the SSE stream runs as long as the query takes
if conn.sock:
    conn.sock.settimeout(None)

current_event = None
text_parts = []
artifact_map = {}

reader = io.TextIOWrapper(resp, encoding="utf-8", errors="replace")
for line in reader:
    line = line.rstrip("\r\
")
    if line.startswith("event: "):
        current_event = line[7:]
    elif line.startswith("data: "):
        try:
            d = json.loads(line[6:])
        except json.JSONDecodeError:
            continue
        if current_event == "step.text_delta":
            text_parts.append(d.get("content", ""))
        elif current_event == "step.artifact":
            artifact = d.get("artifact", {})
            art_id = artifact.get("id", "")[:8]
            if artifact.get("type") == "data_table":
                title = artifact.get("title", "Table")
                spec = artifact.get("spec", {})
                columns = spec.get("columns", [])
                rows = spec.get("rows", [])
                lines = [f"\
**{title}**\
"]
                if columns and rows:
                    headers = [c["label"] for c in columns]
                    lines.append("| " + " | ".join(headers) + " |")
                    lines.append("| " + " | ".join(["---"] * len(headers)) + " |")
                    for row in rows:
                        vals = []
                        for col in columns:
                            val = row.get(col["key"], "")
                            fmt = col.get("format", "")
                            if fmt == "currency" and isinstance(val, (int, float)):
                                val = (f"${val/1e9:.1f}B" if abs(val) >= 1e9
                                       else f"${val/1e6:.1f}M" if abs(val) >= 1e6
                                       else f"${val:,.0f}")
                            elif fmt == "percent" and val not in (None, ""):
                                val = f"{val}%"
                            vals.append(str(val) if val is not None else "")
                        lines.append("| " + " | ".join(vals) + " |")
                artifact_map[art_id] = "\
".join(lines)

conn.close()

text = "".join(text_parts)
text = re.sub(r"\x3C!-- artifact:([a-f0-9]+) -->",
              lambda m: artifact_map.get(m.group(1)[:8], ""), text)
print(text or "(No response — rephrase the query and try again)")
DRILLR_END

Alternatively, use the companion script:

python3 query.py "your question here"

Workflow

  1. Identify the research need — company, metric, time period, or type of analysis
  2. Clarify if vague — e.g., "tell me about Apple" → ask: "Revenue trend, recent earnings, insider activity, or valuation?"
  3. Run the agent — the query can be a full sentence; natural language works better than terse keywords
  4. Present the output — format is markdown with tables where the agent generates structured data; lead with the key finding, then data
  5. Offer to go deeper — after answering, suggest one natural follow-up relevant to the result

Example Queries

Thesis-Driven Discovery

  • "Screen for mid-cap software companies with revenue growth above 20%, positive FCF, and P/FCF under 30x"
  • "Find small-cap industrials with improving gross margins, low debt, and insider buying in the last two quarters"

Forensic Accounting

  • "Compare Palantir's GAAP net income vs operating cash flow vs stock-based comp over 8 quarters — is earnings quality improving?"
  • "Show changes in days sales outstanding and inventory for Nike over the last six quarters"
  • "What new risk factors did Apple add to their 2024 10-K that weren't in 2023?"

Earnings Call Fact Lookup

  • "What did NVIDIA's CEO say about data center demand in the last two earnings calls — pull the exact quotes"
  • "How has Meta's language around AI capex commitments changed from Q1 2024 to Q4 2025?"
  • "What guidance did Salesforce give for FY2026 revenue growth and did they raise or lower it?"

Cross-Company Tabulation

  • "Show revenue, gross margin, operating margin, and FCF margin for the top 10 enterprise software companies — last four quarters"
  • "Compare EV/EBITDA, EV/Sales, and P/FCF for the five largest US banks right now"

Financial Modeling

  • "Give me Apple's quarterly revenue, gross profit, R&D, SG&A, operating income, and net income for the last 20 quarters"
  • "Show Amazon's segment revenue and operating income — AWS vs North America vs International — by quarter since 2022"

Smart Money Tracking

  • "Which insiders at Meta have bought stock on the open market in the last 60 days?"
  • "Find small-cap stocks where two or more insiders bought at 52-week lows in the last 90 days"

Event-Driven Research

  • "What caused the drop in Fastly stock in early 2026 — show news and any 8-K filings around that period"
  • "Show all press releases and regulatory filings from Boeing in the last 30 days"

Valuation

  • "Show Nvidia's P/E ratio history over the last 3 years alongside revenue growth"
  • "Which S&P 500 sectors are trading at the widest discount to their 5-year average EV/EBITDA?"

Technical Notes

  • No authentication required — the /api/public/chat endpoint is open
  • US equities — covers NYSE, NASDAQ, and OTC-listed US public companies
  • Streaming response — the API returns Server-Sent Events (SSE); the script handles parsing using Python's stdlib http.client (no curl required)
  • Data tables — the agent returns structured tables for multi-row financial data; the script renders them as markdown
  • Response time — 10–120 seconds depending on query complexity; multi-step screens and forensic queries take longer; no timeout is enforced on reads so all queries complete fully
  • Connect timeout — 15 seconds; if the server is unreachable the script exits immediately rather than hanging
Usage Guidance
This skill is coherent and does what it claims: it sends your question to a single hardcoded external API and prints back markdown. Before installing, consider privacy and compliance: any sensitive or proprietary text you enter will be transmitted to that remote endpoint (hosted on Google Cloud Run at diggr-agent-prod-...run.app) and may be logged by the operator even though the SKILL.md states 'no telemetry.' Verify the endpoint/owner (drillr.ai vs the run.app domain), read the service's privacy terms, and avoid entering secrets, credentials, or nonpublic data. If that exposure is acceptable, the skill appears internally consistent.
Capability Analysis
Type: OpenClaw Skill Name: drillr Version: 1.0.0 The 'drillr' skill is a financial research tool designed to query a specific API endpoint for US equity data. Analysis of 'query.py' and the instructions in 'SKILL.md' confirms the code is a straightforward wrapper using only Python standard libraries (http.client, json) to fetch and format research results. It lacks any high-risk behaviors such as filesystem access, shell execution, or credential handling, and strictly adheres to its stated read-only purpose.
Capability Tags
crypto
Capability Assessment
Purpose & Capability
Name and description (financial research CLI) match the code and SKILL.md: the script sends the user's question as a JSON POST to a single hardcoded endpoint and streams an SSE response to stdout. Required binaries and declared dependencies (python3, stdlib only) align with the implementation.
Instruction Scope
The instructions explicitly limit the skill to one POST to a hardcoded endpoint and streaming the response to stdout. This is implemented in query.py. Important caveat: user queries are transmitted to a third-party endpoint (diggr-agent-prod-...run.app). The SKILL.md asserts 'no telemetry,' but the skill cannot prevent that remote service from logging or collecting queries — so treat query content as being sent off-host.
Install Mechanism
No install spec; the skill is instruction-only with a small Python CLI file included. No downloads, package installs, or extract operations are present.
Credentials
The skill requests no environment variables or credentials and the code does not read env vars or local config paths. The lack of required secrets is proportional to the described functionality.
Persistence & Privilege
always is false and the skill is not requesting persistent presence or modifying other skills/configs. The script is stateless (no local persistence) and only runs when invoked.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install drillr
  3. After installation, invoke the skill by name or use /drillr
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
drillr-skill 1.0.0 - Initial release with a safe, read-only research agent for deep financial analysis on US public equities. - Supports thesis-driven screening, supply chain mapping, forensic accounting, cross-company data tabulation, earnings call and SEC filing fact lookup, smart money tracking, financial modeling, and event-driven research in plain English. - Handles all US-listed public companies (NYSE, NASDAQ, OTC) via a single endpoint; strictly stateless with no local or persistent access. - Fully Python stdlib implementation — no third-party dependencies or credential handling required. - All responses are streamed as markdown; skill does not write files, spawn processes, or perform side effects.
Metadata
Slug drillr
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is drillr — Power Terminal for Deep Financial Research?

Power terminal for deep financial research on US public equities — reason through investment theses, screen for ideas, map supply chains, do forensic account... It is an AI Agent Skill for Claude Code / OpenClaw, with 252 downloads so far.

How do I install drillr — Power Terminal for Deep Financial Research?

Run "/install drillr" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is drillr — Power Terminal for Deep Financial Research free?

Yes, drillr — Power Terminal for Deep Financial Research is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does drillr — Power Terminal for Deep Financial Research support?

drillr — Power Terminal for Deep Financial Research is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created drillr — Power Terminal for Deep Financial Research?

It is built and maintained by yx9966 (@yx9966); the current version is v1.0.0.

💬 Comments