{"id":"901fad8e-6cd1-4c6a-a0fb-6f655500ce96","entityType":"agent","slug":"clawhub-skills-alaa-eddine-pinets","name":"pinets","canonicalUrl":"https://www.xpersona.co/agent/clawhub-skills-alaa-eddine-pinets","canonicalPath":"/agent/clawhub-skills-alaa-eddine-pinets","generatedAt":"2026-10-10T01:44:00.996Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"description":"Run Pine Script indicators from the command line using pinets-cli. Use when asked to execute, test, or analyze Pine Script indicators, calculate technical analysis values (RSI, SMA, EMA, MACD, etc.), or fetch market data for crypto trading pairs. This tool can run PineScript indicators from .pine files or stdin and output the resulting plots and variables data. --- name: pinets description: Run Pine Script indicators from the command line using pinets-cli. Use when asked to execute, test, or analyze Pine Script indicators, calculate technical analysis values (RSI, SMA, EMA, MACD, etc.), or fetch market data for crypto trading pairs. This tool can run PineScript indicators from .pine files or stdin and output the resulting plots and variables data. version: 1.0.0 metadata: o","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. Last updated 4/15/2026.","installCommand":"clawhub skill install skills:alaa-eddine:pinets","sourceUrl":"https://github.com/openclaw/skills/tree/main/skills/alaa-eddine/pinets","homepage":null,"primaryLinks":[{"label":"View on ClawHub","url":"https://github.com/openclaw/skills/tree/main/skills/alaa-eddine/pinets","kind":"source"}],"safetyScore":84,"overallRank":62,"popularityScore":50,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Run Pine Script indicators from the command line using pinets-cli. Use when asked to execute, test, or analyze Pine Script indicators, calculate technical analy"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[{"label":"be","status":"self-declared"}],"verifiedCount":0,"selfDeclaredCount":2,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"},{"key":"be","type":"capability","support":"supported","confidenceSource":"profile","notes":"Declared in agent profile metadata"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile capability:be|supported|profile"}},"adoption":{"evidence":{"source":"no-adoption-signals","verified":false,"confidence":"low","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":"No source adoption metrics were available."},"stars":null,"forks":null,"downloads":null,"packageName":null,"latestVersion":null,"tractionLabel":null},"release":{"evidence":{"source":"agent-index","verified":false,"confidence":"medium","updatedAt":"2026-02-25T05:58:08.451Z","emptyReason":null},"lastUpdatedAt":"2026-04-15T00:45:39.800Z","lastCrawledAt":"2026-02-25T05:58:08.451Z","lastIndexedAt":null,"nextCrawlAt":"2026-02-26T05:58:08.451Z","lastVerifiedAt":null,"highlights":[]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install skills:alaa-eddine:pinets","setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","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-skills-alaa-eddine-pinets/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-alaa-eddine-pinets/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-alaa-eddine-pinets/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-skills-alaa-eddine-pinets/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-skills-alaa-eddine-pinets/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-skills-alaa-eddine-pinets/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-10T01:44:00.996Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-alaa-eddine-pinets/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-alaa-eddine-pinets/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-alaa-eddine-pinets/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-alaa-eddine-pinets/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-04-15T00:45:39.800Z","emptyReason":null},"readme":"---\r\nname: pinets\r\ndescription: Run Pine Script indicators from the command line using pinets-cli. Use when asked to execute, test, or analyze Pine Script indicators, calculate technical analysis values (RSI, SMA, EMA, MACD, etc.), or fetch market data for crypto trading pairs. This tool can run PineScript indicators from .pine files or stdin and output the resulting plots and variables data.\r\nversion: 1.0.0\r\nmetadata:\r\n  openclaw:\r\n    requires:\r\n      bins:\r\n        - pinets\r\n    primaryEnv: \"\"\r\n    emoji: \"\\U0001F4C8\"\r\n    homepage: https://github.com/QuantForgeOrg/pinets-cli\r\n---\r\n\r\n# pinets-cli — Run Pine Script Indicators from the Terminal\r\n\r\n`pinets` is a CLI tool that executes TradingView Pine Script indicators via the [PineTS](https://github.com/QuantForgeOrg/PineTS) runtime. It outputs structured JSON with calculated indicator values.\r\n\r\n## Installation\r\n\r\n```bash\r\n# Global install\r\nnpm install -g pinets-cli\r\n\r\n# Or run directly with npx (no install needed)\r\nnpx pinets-cli run indicator.pine --symbol BTCUSDT -q\r\n```\r\n\r\nVerify (if installed globally):\r\n\r\n```bash\r\npinets --version\r\n```\r\n\r\nWhen using `npx`, replace `pinets` with `npx pinets-cli` in all examples below.\r\n\r\n## Core command\r\n\r\n```\r\npinets run [file] [options]\r\n```\r\n\r\nThe indicator can be a **file argument** or **piped from stdin**.\r\n\r\n## Options\r\n\r\n### Data source (one required)\r\n\r\n| Flag                    | Description                                                                                  |\r\n| ----------------------- | -------------------------------------------------------------------------------------------- |\r\n| `-s, --symbol <ticker>` | Symbol from Binance (e.g., `BTCUSDT`, `ETHUSDT`, `SOLUSDT.P` for futures)                    |\r\n| `-t, --timeframe <tf>`  | Candle timeframe: `1`, `5`, `15`, `30`, `60`, `120`, `240`, `1D`, `1W`, `1M` (default: `60`) |\r\n| `-d, --data <path>`     | JSON file with candle data (alternative to `--symbol`)                                       |\r\n\r\n### Output\r\n\r\n| Flag                  | Description                                                    |\r\n| --------------------- | -------------------------------------------------------------- |\r\n| `-o, --output <path>` | Write to file instead of stdout                                |\r\n| `-f, --format <type>` | `default` (plots only) or `full` (plots + result + marketData) |\r\n| `--pretty`            | Pretty-print JSON                                              |\r\n| `--clean`             | Filter out null, false, and empty values from plot data        |\r\n| `--plots <names>`     | Comma-separated list of plot names to include (default: all)   |\r\n| `-q, --quiet`         | Suppress info messages (essential when parsing stdout)         |\r\n\r\n### Candle control\r\n\r\n| Flag                | Description                                              |\r\n| ------------------- | -------------------------------------------------------- |\r\n| `-n, --candles <N>` | Number of output candles (default: `500`)                |\r\n| `-w, --warmup <N>`  | Extra warmup candles excluded from output (default: `0`) |\r\n\r\n### Debug\r\n\r\n| Flag      | Description                                 |\r\n| --------- | ------------------------------------------- |\r\n| `--debug` | Show transpiled JavaScript code (to stderr) |\r\n\r\n## Usage patterns\r\n\r\n### Run a .pine file with live Binance data\r\n\r\n```bash\r\npinets run indicator.pine --symbol BTCUSDT --timeframe 60 --candles 100 -q\r\n```\r\n\r\n### Run with warmup (important for long-period indicators)\r\n\r\n```bash\r\n# EMA 200 needs at least 200 bars to initialize\r\npinets run ema200.pine -s BTCUSDT -t 1D -n 100 -w 200 -q\r\n```\r\n\r\n### Pipe Pine Script from stdin\r\n\r\n```bash\r\necho '//@version=5\r\nindicator(\"RSI\")\r\nplot(ta.rsi(close, 14), \"RSI\")' | pinets run -s BTCUSDT -t 60 -n 20 -q\r\n```\r\n\r\n### Run with custom JSON data\r\n\r\n```bash\r\npinets run indicator.pine --data candles.json --candles 50 -q\r\n```\r\n\r\n### Save output to file\r\n\r\n```bash\r\npinets run rsi.pine -s BTCUSDT -t 60 -o results.json -q\r\n```\r\n\r\n### Get full execution context\r\n\r\n```bash\r\npinets run indicator.pine -s BTCUSDT -f full -q --pretty\r\n```\r\n\r\n### Filter signals with --clean (for signal-based indicators)\r\n\r\n```bash\r\n# Without --clean: 500 entries, mostly false\r\npinets run ma_cross.pine -s BTCUSDT -t 1D -n 500 -q\r\n\r\n# With --clean: Only actual signals\r\npinets run ma_cross.pine -s BTCUSDT -t 1D -n 500 --clean -q\r\n```\r\n\r\n### Select specific plots with --plots\r\n\r\n```bash\r\n# Get only RSI, ignore bands\r\npinets run rsi_bands.pine -s BTCUSDT --plots \"RSI\" -q\r\n\r\n# Get only Buy and Sell signals\r\npinets run signals.pine -s BTCUSDT --plots \"Buy,Sell\" -q\r\n\r\n# Combine both: only signals, only true values\r\npinets run signals.pine -s BTCUSDT --plots \"Buy,Sell\" --clean -q\r\n```\r\n\r\n## Output structure\r\n\r\n### `default` format\r\n\r\n```json\r\n{\r\n  \"indicator\": {\r\n    \"title\": \"RSI\",\r\n    \"overlay\": false\r\n  },\r\n  \"plots\": {\r\n    \"RSI\": {\r\n      \"title\": \"RSI\",\r\n      \"options\": { \"color\": \"#7E57C2\" },\r\n      \"data\": [\r\n        { \"time\": 1704067200000, \"value\": 58.23 },\r\n        { \"time\": 1704070800000, \"value\": 61.45 }\r\n      ]\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n### `full` format\r\n\r\nAdds `result` (raw return values per bar) and `marketData` (OHLCV candles) to the default output.\r\n\r\n## JSON data format (for --data)\r\n\r\n```json\r\n[\r\n  {\r\n    \"openTime\": 1704067200000,\r\n    \"open\": 42000.5,\r\n    \"high\": 42500.0,\r\n    \"low\": 41800.0,\r\n    \"close\": 42300.0,\r\n    \"volume\": 1234.56,\r\n    \"closeTime\": 1704070799999\r\n  }\r\n]\r\n```\r\n\r\nRequired fields: `open`, `high`, `low`, `close`, `volume`. Recommended: `openTime`, `closeTime`.\r\n\r\n## Pine Script quick reference\r\n\r\npinets-cli accepts standard TradingView Pine Script v5+:\r\n\r\n```pinescript\r\n//@version=5\r\nindicator(\"My Indicator\", overlay=false)\r\n\r\n// Technical analysis functions\r\nrsi = ta.rsi(close, 14)\r\n[macdLine, signalLine, hist] = ta.macd(close, 12, 26, 9)\r\nsma = ta.sma(close, 20)\r\nema = ta.ema(close, 9)\r\nbb_upper = ta.sma(close, 20) + 2 * ta.stdev(close, 20)\r\n\r\n// Output — each plot() creates a named entry in the JSON output\r\nplot(rsi, \"RSI\", color=color.purple)\r\n```\r\n\r\n## Important notes\r\n\r\n- **Always use `-q`** when parsing JSON output programmatically.\r\n- **Warmup matters**: Indicators with long lookback periods (SMA 200, EMA 200) produce `NaN` for the first N bars. Use `--warmup` to pre-feed the indicator.\r\n- **`time` values** are Unix timestamps in milliseconds.\r\n- **Errors** go to stderr with exit code 1.\r\n- The tool bundles PineTS internally — no additional npm packages are needed at runtime.\r\n\r\n## Warmup recommendations\r\n\r\n| Indicator           | Minimum warmup |\r\n| ------------------- | -------------- |\r\n| SMA(N) / EMA(N)     | N              |\r\n| RSI(14)             | 30             |\r\n| MACD(12,26,9)       | 50             |\r\n| Bollinger Bands(20) | 30             |\r\n| SMA(200)            | 200+           |\r\n\r\nRule of thumb: set warmup to 1.5x-2x the longest lookback period.\r\n","readmeExcerpt":"--- name: pinets description: Run Pine Script indicators from the command line using pinets-cli. Use when asked to execute, test, or analyze Pine Script indicators, calculate technical analysis values (RSI, SMA, EMA, MACD, etc.), or fetch market data for crypto trading pairs. This tool can run PineScript indicators from .pine files or stdin and output the resulting plots and variables data. version: 1.0.0 metadata: o","codeSnippets":[],"executableExamples":[],"parameters":{},"dependencies":[],"permissions":[],"extractedFiles":[],"languages":["typescript"],"docsSourceLabel":"CLAWHUB","editorialOverview":"Run Pine Script indicators from the command line using pinets-cli. Use when asked to execute, test, or analyze Pine Script indicators, calculate technical analysis values (RSI, SMA, EMA, MACD, etc.), or fetch market data for crypto trading pairs. This tool can run PineScript indicators from .pine files or stdin and output the resulting plots and variables data. --- name: pinets description: Run Pine Script indicators from the command line using pinets-cli. Use when asked to execute, test, or analyze Pine Script indicators, calculate technical analysis values (RSI, SMA, EMA, MACD, etc.), or fetch market data for crypto trading pairs. This tool can run PineScript indicators from .pine files or stdin and output the resulting plots and variables data. version: 1.0.0 metadata: o","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":409,"uniquenessScore":60,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-04-15T00:45:39.800Z","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-04-15T00:45:39.800Z","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-10T01:44:00.996Z","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"}]}}}