Token导航 LogoToken导航

Agent Skill · 开发

pine-developer(松木开发商)

pine-developer 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

pine-developer 是开发类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为只读;许可证为 MIT,第三方扫描有提醒项,按安装量在开发类的 21,746 个 Skill 里排第 4,974。

总安装 7,199周安装 303GitHub Stars 83下载 2,521核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:pine-developer(松木开发商)
来源仓库:https://github.com/traderspost/pinescript-agents
仓库路径:skills/pine-developer
安装命令:
npx skills add https://github.com/traderspost/pinescript-agents --skill pine-developer
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/traderspost/pinescript-agents --skill pine-developer

这个 Skill 是做什么的

开发类 Skill 面向写代码、改代码和排查问题,一般会读写仓库文件,部分还会执行构建或测试命令。

用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息。适合在需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库 README 核验具体用法,注意权限与维护状态。

安装命令:npx skills add https://github.com/traderspost/pinescript-agents --skill pine-developer 建议确认是否会触发联网、命令执行或文件读写操作

来源仓库内路径:skills/pine-developer

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/traderspost/pinescript-agents --skill pine-dev…;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它标注为只读,先用只读任务试一次,确认行为符合预期再扩大使用范围。

常见问题

6 条

pine-developer 怎么安装?

在终端执行 npx skills add https://github.com/traderspost/pinescript-agents --skill pine-developer。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

pine-developer 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

pine-developer 需要什么权限?

权限级别是只读。该 Skill 主要提供规则、说明或参考内容,本身偏只读;真正读写文件、联网或执行命令仍取决于宿主 Agent 的任务。

pine-developer 是免费的吗?

来源标注的许可证是 MIT。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

pine-developer 用的人多吗?

公开数据是累计安装 7,199 次,近一周安装 303 次,下载 2,521 次,GitHub 83 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

pine-developer 安全吗?

第三方扫描有提醒项,说明存在需要人工确认的行为。安装前请打开源码看清它读了什么、联网到哪里。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。
  • 3 个目录同时收录,说明这个 Skill 流传比较广。
  • 许可证明确为 MIT,商用和分发边界好判断。
  • 标注为只读权限,试用阶段不容易误改本地文件。

先想清楚的地方

  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理开发类任务、又不想每次都手写提示词的人。
  • 只想先试试效果、不希望它改动本地文件的人。

不太适合

  • 需要厂商级技术支持和 SLA 的生产系统。

开发类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
skill-vetter

技能审查员 · OpenClaw

8,779,018986操作浏览器MIT-0通过
ontology

本体论 · OpenClaw

6,636,960576只读MIT-0通过
entra-app-registration

内部应用程序注册 · Codex、Claude

6,631,872764接触敏感数据未明确通过
entra-app-registration

内部应用程序注册 · Codex、Claude

3,757,680201接触敏感数据未明确通过
nano-banana-pro

纳米香蕉专业版 · OpenClaw

3,526,898364接触敏感数据MIT-0有提醒
pine-developer

松木开发商 · 本页

7,19983只读MIT有提醒

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

Pine Script Developer

Specialized in writing production-quality Pine Script v6 code for TradingView.

⚠️ CRITICAL: Pine Script Syntax Rules

BEFORE writing ANY multi-line Pine Script code, remember:

  1. TERNARY OPERATORS (?:) - MUST stay on ONE line or use intermediate variables
  2. Line continuation - ALL continuation lines must be indented MORE than the starting line
  3. Common error: "end of line without line continuation" - caused by improper line breaks
// ❌ NEVER DO THIS:
text = condition ? "value1" :
       "value2"

// ✅ ALWAYS DO THIS:
text = condition ? "value1" : "value2"

See the "Line Wrapping Rules" section below for complete rules.

Documentation Access

Primary documentation references:

  • /docs/pinescript-v6/quick-reference/syntax-basics.md - Core syntax and structure
  • /docs/pinescript-v6/reference-tables/function-index.md - Complete function reference
  • /docs/pinescript-v6/core-concepts/execution-model.md - Understanding Pine Script execution
  • /docs/pinescript-v6/core-concepts/repainting.md - Avoiding repainting issues
  • /docs/pinescript-v6/quick-reference/limitations.md - Platform limits and workarounds

Load these docs as needed based on the task at hand.

Project File Management

  • When starting a new project, work with the file that has been renamed from blank.pine
  • Always save work to /projects/[project-name].pine
  • Never create new files unless specifically needed for multi-file projects
  • Update the file header with accurate project information

Core Expertise

Pine Script v6 Mastery

  • Complete understanding of Pine Script v6 syntax
  • All built-in functions and their proper usage
  • Variable scoping and namespaces
  • Series vs simple values
  • Request functions (request.security, request.security_lower_tf)

TradingView Environment

  • Platform limitations (500 bars, 500 plots, 64 drawings, etc.)
  • Execution model and calculation stages
  • Real-time vs historical bar states
  • Alert system capabilities and constraints
  • Library development standards

Code Quality Standards

  • Clean, readable code structure
  • Proper error handling for na values
  • Efficient calculations to minimize load time
  • Appropriate use of var/varip for persistence
  • Proper type declarations

CRITICAL: Line Wrapping Rules

Pine Script has STRICT line continuation rules that MUST be followed:

  1. Indentation Rule: Lines MUST be indented more than the first line
  2. Break at operators/commas: Split AFTER operators or commas, not before
  3. Function arguments: Each continuation must be indented
  4. No explicit continuation character in Pine Script v6

SYSTEMATIC CHECK - Review ALL of these:

  • indicator() or strategy() declarations at the top
  • All plot(), plotshape(), plotchar() functions
  • All if statements with multiple conditions
  • All variable assignments with long expressions
  • All strategy.entry(), strategy.exit() calls
  • All alertcondition() calls
  • All table.cell() calls
  • All label.new() and box.new() calls
  • Any line longer than 80 characters

CRITICAL: Ternary Operators MUST Stay on One Line

// WRONG - Will cause "end of line without line continuation" error
text = condition ?
    "true value" :
    "false value"

// CORRECT - Entire ternary on one line
text = condition ? "true value" : "false value"

// CORRECT - For long ternaries, assign intermediate variables
trueText = str.format("Long true value with {0}", param)
falseText = str.format("Long false value with {0}", other)
text = condition ? trueText : falseText

CORRECT Line Wrapping:

// CORRECT - indented continuation
longCondition = ta.crossover(ema50, ema200) and
     rsi < 30 and
     volume > ta.sma(volume, 20)

// CORRECT - function arguments
plot(series,
     title="My Plot",
     color=color.blue,
     linewidth=2)

// CORRECT - long calculations
result = (high - low) / 2 +
     (close - open) * 1.5 +
     volume / 1000000

INCORRECT Line Wrapping (WILL CAUSE ERRORS):

// WRONG - same indentation
longCondition = ta.crossover(ema50, ema200) and
rsi < 30 and
volume > ta.sma(volume, 20)

// WRONG - not indented enough
plot(series,
title="My Plot",
color=color.blue)

Script Structure Template

//@version=6
indicator(title="", shorttitle="", overlay=true)

// ============================================================================
// INPUTS
// ============================================================================
[Group inputs logically]

// ============================================================================
// CALCULATIONS
// ============================================================================
[Core calculations]

// ============================================================================
// CONDITIONS
// ============================================================================
[Logic conditions]

// ============================================================================
// PLOTS
// ============================================================================
[Visual outputs]

// ============================================================================
// ALERTS
// ============================================================================
[Alert conditions]

CRITICAL: Plot Scope Restriction

NEVER use plot() inside local scopes - This causes "Cannot use 'plot' in local scope" error

// ❌ WRONG - These will ALL fail:
if condition
    plot(value)  // ERROR!

for i = 0 to 10
    plot(close[i])  // ERROR!

myFunc() =>
    plot(close)  // ERROR!

// ✅ CORRECT - Use these patterns instead:
plot(condition ? value : na)  // Conditional plotting
plot(value, color=condition ? color.blue : color.new(color.blue, 100))  // Conditional styling

// For dynamic drawing in local scopes, use:
if condition
    line.new(...)  // OK
    label.new(...)  // OK
    box.new(...)   // OK

Best Practices

Avoid Repainting

  • Use barstate.isconfirmed for signals
  • Proper request.security() with lookahead=barmerge.lookahead_off
  • Document any intentional repainting

Performance Optimization

  • Minimize security() calls
  • Cache repeated calculations
  • Use switch instead of multiple ifs
  • Optimize array operations

User Experience

  • Logical input grouping with group= parameter
  • Helpful tooltips for complex inputs
  • Sensible default values
  • Clear input labels

Error Handling

  • Check for na values before operations
  • Handle edge cases (first bars, division by zero)
  • Graceful degradation when data unavailable

TradingView Constraints

Limits to Remember

  • Maximum 500 bars historical reference
  • Maximum 500 plot/hline/fill outputs
  • Maximum 64 drawing objects (label/line/box/table)
  • Maximum 40 security() calls
  • Maximum 100KB compiled script size
  • Tables: max 100 cells
  • Arrays: max 100,000 elements

Platform Quirks

  • bar_index starts at 0
  • na propagation in calculations
  • Historical vs real-time calculation differences
  • Strategy calculations on bar close (unless calc_on_every_tick)
  • Alert firing conditions and timing

Code Review Checklist

  • Version declaration (//@version=6)
  • Proper title and overlay setting
  • Inputs have tooltips and groups
  • No repainting issues
  • na values handled
  • Efficient calculations
  • Clear variable names
  • Comments for complex logic
  • Proper plot styling
  • Alert conditions if needed

Example: Moving Average Cross Strategy

//@version=6
strategy("MA Cross Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// Inputs
fastLength = input.int(50, "Fast MA Length", minval=1, group="Moving Averages")
slowLength = input.int(200, "Slow MA Length", minval=1, group="Moving Averages")
maType = input.string("EMA", "MA Type", options=["SMA", "EMA", "WMA"], group="Moving Averages")

// Calculations
ma(source, length, type) =>
    switch type
        "SMA" => ta.sma(source, length)
        "EMA" => ta.ema(source, length)
        "WMA" => ta.wma(source, length)

fastMA = ma(close, fastLength, maType)
slowMA = ma(close, slowLength, maType)

// Conditions
longCondition = ta.crossover(fastMA, slowMA)
shortCondition = ta.crossunder(fastMA, slowMA)

// Strategy
if longCondition
    strategy.entry("Long", strategy.long)
if shortCondition
    strategy.close("Long")

// Plots
plot(fastMA, "Fast MA", color.blue, 2)
plot(slowMA, "Slow MA", color.red, 2)

Write code that is production-ready, efficient, and follows all Pine Script v6 best practices.

平台分布

Claude Code

27.02%
按下载量换算681

Antigravity

24.06%
按下载量换算607

OpenCode

18.45%
按下载量换算465

Gemini CLI

12.88%
按下载量换算325

Cursor

8.44%
按下载量换算213

Codex

3.4%
按下载量换算86

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

只读

该 Skill 主要提供规则、说明或参考内容,本身偏只读;真正读写文件、联网或执行命令仍取决于宿主 Agent 的任务。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。

继续浏览同类 Skills