feat: add crypto-market-movers template#212
Conversation
WalkthroughChangesThe mission adds a scheduled Crypto Market Movers agent that fetches CoinGecko data, deterministically ranks valid gainers and losers, and uses an LLM to produce a constrained Markdown report. Crypto Market Movers
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
:robot_face: AgentKit Structural ValidationNew Contributions Detected
Check Results
🎉 All checks passed! This contribution follows the AgentKit structure. |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In
`@kits/crypto-market-movers/scripts/crypto-market-movers_code-node-672_code.ts`:
- Around line 15-23: Update the validation filter in the market-data processing
chain to reject null values before numeric validation, especially for
current_price, price_change_percentage_24h, and total_volume. Replace
Number-based coercion with a precise numeric type check that accepts only actual
finite numbers and preserves the existing coin, name, and symbol checks.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI (base), Organization UI (inherited)
Review profile: ASSERTIVE
Plan: Pro
Run ID: d3a74a10-dee0-448b-aa20-8df461c14c77
📒 Files selected for processing (10)
kits/crypto-market-movers/.gitignorekits/crypto-market-movers/README.mdkits/crypto-market-movers/agent.mdkits/crypto-market-movers/constitutions/default.mdkits/crypto-market-movers/flows/crypto-market-movers.tskits/crypto-market-movers/lamatic.config.tskits/crypto-market-movers/model-configs/crypto-market-movers_llmnode-261_generative-model-name.tskits/crypto-market-movers/prompts/crypto-market-movers_llmnode-261_system_0.mdkits/crypto-market-movers/prompts/crypto-market-movers_llmnode-261_user_1.mdkits/crypto-market-movers/scripts/crypto-market-movers_code-node-672_code.ts
Accidentally created by npm install at repo root (which has no package.json) and swept into an earlier commit; unrelated to the crypto-market-movers contribution. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
@coderabbitai review |
✅ Action performedReview finished.
|
|
@coderabbitai review |
✅ Action performedReview finished.
|
|
Superseded by #262 — same contribution, reopened from a clean branch with a single scoped commit instead of the merge-noisy history here. |
PR Checklist
1. Select Contribution Type
kits/<category>/<kit-name>/)bundles/<bundle-name>/)templates/<template-name>/)2. General Requirements
kebab-caseand matches the flow IDREADME.md(purpose, setup, usage)3. File Structure (Check what applies)
config.jsonpresent with valid metadata (name, description, tags, steps, author, env keys)flows/<flow-name>/(where applicable) include:config.json(Lamatic flow export)inputs.jsonmeta.jsonREADME.md.env.examplewith placeholder values only (kits only)config.jsonnode graphs (changes via Lamatic Studio export)4. Validation
npm install && npm run devworks locally (kits: UI runs; bundles/templates: flows are valid)[kit] Add <name> for <use case>)kits/crypto-market-movers/.gitignoreto ignore Lamatic cache,node_modules, and local.envfiles.kits/crypto-market-movers/README.mddocumenting the “Crypto Market Movers” scheduled agent: CoinGecko fetch (top 100), deterministic ranking (top 5 gainers/losers by 24h % change), LLM-based Markdown formatting, configuration, output structure, limitations, and future improvements.kits/crypto-market-movers/agent.mddefining the non-interactive daily pipeline, required output/report sections/order, and strict safety/anti-fabrication guardrails (no speculation/financial advice; handle missing values as unavailable while preserving names/symbols).kits/crypto-market-movers/constitutions/default.mdwith a default constitution governing identity/safety/data handling and crypto-reporting prohibitions (no fabricated market data, no altered rankings, uncertainty disclosure, and no advice).kits/crypto-market-movers/flows/crypto-market-movers.tsflow definition forCrypto_Market_Movers:triggerNode(cron),dynamicNodefor CoinGecko API fetch, deterministiccodeNode, andLLMNode, plus anaddNode.order=market_cap_desc,per_page=100,price_change_percentage=24h) → Rank Market Movers (deterministic ranking) → Generate Daily Report (system+user prompts) → addNode.kits/crypto-market-movers/lamatic.config.tstemplate configuration with metadata, a requiredcrypto-market-moversstep, tags, and link references.kits/crypto-market-movers/model-configs/crypto-market-movers_llmnode-261_generative-model-name.tsfor theLLMNodegenerative model name (gpt-5.2-2025-12-11, OpenAI).kits/crypto-market-movers/prompts/crypto-market-movers_llmnode-261_system_0.mdsystem prompt enforcing: use only provided structured JSON, no re-ranking/recalculation, no speculation/finance advice, exact preservation of coin names/tickers, and Markdown-only output.kits/crypto-market-movers/prompts/crypto-market-movers_llmnode-261_user_1.mduser prompt specifying the exact report Markdown layout (snapshot + top 5 gainers/losers + exactly three observations + disclaimer) and formatting/validation rules (e.g.,N/Afor missing/null fields;+/-percent formatting).kits/crypto-market-movers/scripts/crypto-market-movers_code-node-672_code.tsdeterministic ranking code that validates/normalizes the API payload, rounds/formatting for price/volume/% change, sorts by 24h % change to select top 5 gainers and top 5 losers, and returns{ analyzed_coin_count, top_gainers, top_losers }.