OpenClaw/clawhub-security-signals huggingface dataset:
Skill: loveni/futu-flash (version 1.0.0)

--- name: futu-flash description: 抓取富途官网资讯「快讯」频道最新消息。用于用户要求“去富途快讯找最新N条（最多10条）”、“更新快讯”、“滚动刷新快讯”等场景；通过富途接口 /news-site-api/main/get-flash-list 获取并格式化返回。 --- # Futu Flash Skill 使用这个 skill 时，按以下流程执行。 ## 1) 获取最新快讯 调用接口： - `GET https://news.futunn.com/news-site-api/main/get-flash-list?pageSize=<N>` - `N` 默认 10，最大 10。 请求头至少带： - `User-Agent: Mozilla/5.0` - `Referer: https://news.futunn.com/main/live` - `Accept: application/json, text/plain, */*` - `Accept-Language: zh-CN,zh;q=0.9` 优先用脚本：`scripts/fetch_futu_flash.py`。 ## 2) 解析字段 从响应中读取： - 顶层：`code`（应为 0） - 列表：`data.data.news`（数组） 每条快讯常用字段： - `id` - `time`（Unix 秒级时间戳） - `title`（常为空） - `content`（主要内容） - `detailUrl`（详情页） 显示文本时使用： - `text = title or content` ## 3) 时间与输出 - 将 `time` 转为北京时间（UTC+8）输出。 - 按接口顺序返回（通常已是最新在前）。 - 输出条数：默认 10；若用户指定条数，返回 `min(用户要求, 10)`。 建议输出格式： 1. `YYYY-MM-DD HH:mm:ss` + 文本 2. 保留原顺序编号 ## 4) 异常处理 - HTTP 非 200：返回抓取失败与状态码。 - JSON 解析失败：返回“接口返回非 JSON”。 - `code != 0` 或列表为空：返回“暂无快讯/接口异常”。 - 若用户要求 >10 条，明确说明“富途接口当前流程按最多10条返回”。 ## 5) 备注 - 页面 `https://news.futunn.com/main/live` 本身可能被反爬或返回无效内容，优先直连接口。 - 不要编造快讯内容；只返回接口真实数据。


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: caol64/wenyan-publish (version 1.0.1)

--- name: "publish-to-wechat" description: "AI-ready skill to format and publish Markdown articles to WeChat Official Accounts using Wenyan CLI." --- # 微信公众号文章发布工具 (WeChat Publisher) 这是一个专门为 AI Agent 设计的技能，用于将标准的 Markdown 文档转换为符合微信公众号排版要求的富文本并直接发布。它集成了自动化样式注入、代码高亮处理以及素材库图片自动上传功能。 ## 前置要求 - **环境配置**：必须设置 `WECHAT_APP_ID` 和 `WECHAT_APP_SECRET` 环境变量。 - **依赖工具**：已安装 `wenyan-cli` (`pnpm add -g @wenyan-md/cli`)。 ## 核心能力 - **自动化排版**：支持多种内置主题（如 `orangeheart`）和代码高亮方案。 - **智能素材处理**：自动解析 Markdown 中的本地或网络图片，并同步上传至微信素材库。 - **元数据驱动**：通过 YAML Frontmatter 自动配置文章标题、封面、作者和原文链接。 - **高度可定制**：支持自定义 CSS 主题注入，满足个性化品牌视觉。 ## AI Agent 指令指南：发布流程规范 ### Frontmatter 约束 (必须包含) 文章开头 **必须** 包含以下 YAML 块，否则发布接口将返回错误： ```yaml --- title: 文章标题 cover: ./cover.jpg # 若缺省则自动取正文第一张图 author: 作者名称 # 可选 source_url: https://example.com/original-article # 可选，原文链接 --- ``` ### 核心参数说明 - `-f, --file`：**(必填)** Markdown 文件路径。 - `-t, --theme`：排版主题（默认 `default`）。 - `-h, --highlight`：代码高亮主题（默认 `solarized-light`）。 - `--no-mac-style`：禁用代码块 Mac 风格。 ## 常用操作示例 ### 1. 标准发布 (使用默认配置) ```bash wenyan publish -f my-article.md ``` ### 2. 指定内置主题与高亮发布 ```bash wenyan publish -f article.md -t orangeheart -h solarized-light ``` ### 3. 列出所有可用主题 ```bash wenyan theme -l ``` ## 故障排除 (Agent 专用) - **IP 限制错误 (invalid ip)**：提醒用户将当前环境的出口 IP 加入微信后台的“IP 白名单”。 - **AppID/Secret 错误**：检查环境变量是否正确注入。 - **图片上传失败**：确认 Markdown 中的本地图片路径在当前目录中真实存在。 - **发布排版不符预期**：检查 YAML Frontmatter 是否符合规范。


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: nexscope/amazon-review-strategy (version 1.0.0)

--- name: amazon-review-strategy description: "Review generation strategy — Request a Review, follow-up emails, insert cards, Vine, early reviewer programs" metadata: nexscope: category: amazon --- # Amazon Review Strategy Review generation strategy — Request a Review, follow-up emails, insert cards, Vine, early reviewer programs **Supported platforms:** Amazon (US, UK, DE, CA, JP, AU, and all marketplaces). Built by [Nexscope](https://www.nexscope.ai/) — your AI assistant for smarter e-commerce decisions. ## Install ```bash npx skills add nexscope/amazon-review-strategy ``` ## Usage ``` Help me with amazon review strategy for my e-commerce business. ``` ## Capabilities - Review generation strategy - Request a Review - follow-up emails - insert cards - Vine - early reviewer programs ## How This Skill Works **Step 1:** Collect information from the user's message — product, platform, current situation, and goals. **Step 2:** Ask one follow-up with all remaining questions using multiple-choice format. Allow shorthand answers (e.g., "1b 2c 3a"). **Step 3:** Research and analyze using the frameworks and methodology below. **Step 4:** Deliver structured, actionable output with specific recommendations, not vague advice. ## Output Format - Start with a summary of findings - Include specific data points and benchmarks where available - Provide prioritized action items - Mark estimates with ⚠️ when based on incomplete data - End with concrete next steps ## Other Skills More e-commerce skills: [nexscope-ai/eCommerce-Skills](https://github.com/nexscope-ai/eCommerce-Skills) Amazon-specific skills: [nexscope-ai/Amazon-Skills](https://github.com/nexscope-ai/Amazon-Skills) Built by [Nexscope](https://www.nexscope.ai/) — your AI assistant for smarter e-commerce decisions.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: kostja94/api-page-generator (version 1.0.1)

--- name: api-page-generator description: 'When the user wants to create, optimize, or audit the API introduction/overview page. Also use when the user mentions "API page," "API landing page," "/api page," "API overview," "developer landing," "API marketing," or "API for developers." Note: API documentation (endpoint reference) lives in docs; use docs-page-generator.' metadata: version: 1.0.1 --- # Pages: API Introduction Guides the API introduction page →typically at `/api` →that overviews the API, use cases, and links to documentation. API documentation (endpoint reference, code examples) lives on separate pages. **When invoking**: On **first use**, if helpful, open with 1–2 sentences on what this skill covers and why it matters, then provide the main output. On **subsequent use** or when the user asks to skip, go directly to the main output. ## Initial Assessment **Check for project context first:** If `.claude/project-context.md` or `.cursor/project-context.md` exists, read it for product and developer use cases. Identify: 1. **API type**: REST, GraphQL, etc. 2. **Audience**: Developers (integration) vs. decision makers (evaluation) 3. **Docs location**: Where API documentation lives (e.g. `/docs`, `/api/reference`, external) ## Page Role - **API page** (`/api`): Introduction, overview, value prop, CTA to docs or signup - **API documentation**: Lives in docs (docs.*) → API Reference section with endpoint reference, auth, examples ## Best Practices ### Overview and Structure - **What the API does**: Clear value proposition, key capabilities - **Use cases**: Who uses it, common scenarios - **Getting started**: Quick path to first call or docs - **Link to docs**: Prominent CTA to API documentation ### Content - **Key concepts**: High-level, not endpoint-level detail - **Auth overview**: How auth works; link to docs for details - **Pricing/limits**: If relevant for evaluation - **SDKs and tools**: If available; link to docs ### SEO and Discovery - **Developer search**: Target "API" + product/category terms - **Metadata**: Title, description for developer intent - **Internal links**: From homepage, features, resources ## Output Format - **Structure** outline (sections) - **Value proposition** and key messages - **CTA** to documentation or signup - **SEO** metadata for developer search ## Related Skills - **homepage-generator**: Link to API page for developers - **schema-markup**: WebPage or SoftwareApplication schema - **title-tag, meta-description, page-metadata**: API page metadata


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: djc00p/jira-ops (version 1.0.0)

--- name: jira-ops description: "Retrieve, analyze, and update Jira tickets directly. Supports MCP-based (recommended) and direct REST API approaches. Trigger phrases: fetch Jira ticket, update ticket status, add comment, transition issue, search Jira, extract acceptance criteria. Adapted from everything-claude-code by @affaan-m (MIT)" metadata: {"clawdbot":{"emoji":"🎫","requires":{"bins":[],"env":["JIRA_URL","JIRA_EMAIL","JIRA_API_TOKEN"]},"os":["linux","darwin","win32"]}} --- # Jira Integration Retrieve, analyze, and update Jira tickets with MCP or direct REST API. ## When to Activate - Fetching ticket requirements and acceptance criteria - Adding progress comments or status updates - Transitioning ticket status (To Do → In Progress → Done) - Searching for issues via JQL queries - Linking PRs or branches to tickets ## Setup ### Option A: MCP Server (Recommended) Install `mcp-atlassian` via `uvx`: ```json { "jira": { "command": "uvx", "args": ["mcp-atlassian==0.21.0"], "env": { "JIRA_URL": "https://YOUR_ORG.atlassian.net", "JIRA_EMAIL": "[REDACTED_SECRET]", "JIRA_API_TOKEN": "your-api-token" } } } ``` Get your API [REDACTED_SECRET] ### Option B: Direct REST API Set these environment variables: - `JIRA_URL` — Jira instance URL - `JIRA_EMAIL` — Your account email - `JIRA_API_TOKEN` — API token (never hardcode) ## MCP Tools With `mcp-atlassian` configured: - `jira_search` — JQL queries - `jira_get_issue` — Fetch issue details - `jira_create_issue` — Create new issues - `jira_update_issue` — Update fields - `jira_transition_issue` — Change status - `jira_add_comment` — Add comments - `jira_get_transitions` — List available transitions ## Analyzing Tickets Extract from tickets: - **Functional requirements** — What needs to be built - **Acceptance criteria** — Testable conditions - **Test types** — Unit, integration, E2E - **Edge cases** — Error scenarios, boundary conditions - **Dependencies** — Linked issues, APIs, systems ## Updating Tickets | Workflow | Jira Action | |----------|-------------| | Start work | Transition to "In Progress" + comment branch name | | Tests done | Comment with test coverage summary | | PR created | Comment with link, transition if needed | | Merged | Transition to "Done" | ## Security - Never hardcode API tokens - Use environment variables or secrets manager - Add `.env` to `.gitignore` - Rotate tokens if exposed - Use least-privilege scopes


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: l1-m1ng/minimax-search-vlm (version 1.0.0)

--- name: minimax-mcp description: "使用 MiniMax Coding Plan API 进行网络搜索和图片理解。使用场景：(1) 用户需要搜索实时信息或新闻，(2) 需要分析图片内容，(3) 做研究或查找资料。无需 API key：用户需自行配置。" metadata: { "openclaw": { "emoji": "🔍", "requires": { "bins": ["curl"] }, "install": [ { "id": "config", "kind": "manual", "label": "配置 MiniMax API Key", "steps": [ "创建配置文件: echo 'MINIMAX_API_KEY=你的API密钥' > ~/.openclaw/config/minimax-api.env", "设置权限: chmod 600 ~/.openclaw/config/minimax-api.env" ] } ] } } --- # MiniMax MCP Skill 使用 MiniMax Coding Plan API 进行网络搜索和图片理解。 ## 何时使用 ✅ **使用这个 skill 当：** - 用户需要搜索实时信息（新闻、科技动态等） - 需要分析图片内容（描述图片、提取信息） - 做研究、查找资料 - 用户问"今天有什么科技新闻" ❌ **不要使用这个 skill 当：** - 本地文件操作 → 使用 `exec` 或 `read` 工具 - 简单的计算或文本处理 → 直接处理 - 需要登录认证的搜索 → 使用其他方式 ## 配置步骤（用户需先完成） 首次使用需要配置 API Key，只需执行一次： ```bash # 创建配置目录（如不存在） mkdir -p ~/.openclaw/config # 添加 API Key（替换为你自己的 key） echo 'MINIMAX_API_KEY=你的API密钥' > ~/.openclaw/config/minimax-api.env # 设置安全权限 chmod 600 ~/.openclaw/config/minimax-api.env ``` > API Key 需要从 MiniMax 开发者平台获取：https://platform.minimaxi.com ## 功能 ### 1. 网络搜索 搜索网络获取实时信息。 ```bash # 加载 API Key source ~/.openclaw/config/minimax-api.env # 搜索示例 curl -s "https://api.minimaxi.com/v1/coding_plan/search" \ -H "Authorization: Bearer $MINIMAX_API_KEY" \ -H "Content-Type: application/json" \ -d '{"q":"今天科技新闻"}' ``` ### 2. 图片理解 分析图片内容，支持本地文件或网络图片。 ```bash # 加载 API Key source ~/.openclaw/config/minimax-api.env # 分析本地图片 IMG_PATH="/path/to/image.jpg" curl -s "https://api.minimaxi.com/v1/coding_plan/vlm" \ -H "Authorization: Bearer $MINIMAX_API_KEY" \ -H "Content-Type: application/json" \ -d "{\"prompt\":\"描述这张图片\",\"image_url\":\"data:image/jpeg;base64,$(base64 -w0 $IMG_PATH)\"}" ``` **支持格式**: JPEG, PNG, GIF, WebP（最大 20MB） ## 快速命令 ### 搜索并美化输出 ```bash source ~/.openclaw/config/minimax-api.env curl -s "https://api.minimaxi.com/v1/coding_plan/search" \ -H "Authorization: Bearer $MINIMAX_API_KEY" \ -H "Content-Type: application/json" \ -d '{"q":"关键词"}' | python3 -c " import json,sys data = json.load(sys.stdin) for r in data.get('organic',[])[:5]: print(f'• {r[\"title\"]}') print(f' {r[\"link\"]}\n') " ``` ### 下载网络图片后分析 ```bash source ~/.openclaw/config/minimax-api.env curl -s "https://example.com/image.jpg" -o /tmp/tmp_img.jpg curl -s "https://api.minimaxi.com/v1/coding_plan/vlm" \ -H "Authorization: Bearer $MINIMAX_API_KEY" \ -H "Content-Type: application/json" \ -d "{\"prompt\":\"描述这张图片\",\"image_url\":\"data:image/jpeg;base64,$(base64 -w0 /tmp/tmp_img.jpg)\"}" ``` ## 注意事项 - API Key 保存在用户本地配置文件中，不会随 skill 发布 - 请勿在命令输出或日志中暴露 API Key - 搜索 API 有频率限制，避免短时间内大量请求


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: suspicious | SkillSpector: suspicious (MEDIUM)
Skill: rmbell09-lang/lucky-gumroad (version 1.0.1)

--- name: gumroad description: Gumroad store automation — product creation, uploads, profile editing, data pulls. Use when any task involves Gumroad (creating products, managing listings, pulling sales data, updating profile). Requires authenticated Chrome profile at /home/openclaw/gumroad-profile. Never log in manually — session is pre-authenticated. --- # Gumroad Automation Skill ## Authentication Session is pre-authenticated. **Never log in manually.** Always reuse the saved Chrome profile. ## Chrome Profile **Path:** `/home/openclaw/gumroad-profile` **Rules (non-negotiable):** - Always use [REDACTED_SECRET] - Never clear cookies - Never use incognito/guest mode - Never run as root ## Quick Session Test ```bash timeout 20 google-chrome \ --user-data-dir=/home/openclaw/gumroad-profile \ --headless=new --no-sandbox --disable-gpu \ --disable-dev-shm-usage \ --dump-dom https://gumroad.com/dashboard \ > /tmp/gumroad-test.html 2>/dev/null grep -E "Dashboard/Index|logged_in_user|current_seller" /tmp/gumroad-test.html | head ``` - If grep returns lines → session valid ✅ - If URL is `/login?next=%2Fdashboard` → session expired ❌ (tell Ray) ## Headless Chrome Launch (for automation) ```bash google-chrome \ --user-data-dir=/home/openclaw/gumroad-profile \ --headless=new \ --no-sandbox \ --disable-gpu \ --disable-dev-shm-usage \ --remote-debugging-port=9222 \ "https://gumroad.com/dashboard" & ``` ## Puppeteer / Playwright ```javascript // Puppeteer const browser = await puppeteer.launch({ headless: 'new', userDataDir: '/home/openclaw/gumroad-profile', args: ['--no-sandbox', '--disable-gpu', '--disable-dev-shm-usage'] }); // Playwright const context = await chromium.launchPersistentContext('/home/openclaw/gumroad-profile', { headless: true, args: ['--no-sandbox', '--disable-gpu', '--disable-dev-shm-usage'] }); ``` ## Account Info - Seller: `qcautonomous` - Display name: `RayChod` - Subdomain: `qcautonomous.gumroad.com` - User ID: `3256469230239` ## Important - If session ever expires, **tell Ray** — don't try to log in - Kill any leftover Chrome before launching: `pkill -f "chrome.*gumroad-profile" 2>/dev/null` - Always wait 2 seconds after kill before relaunching


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: zvirb/gmail-draft-update-body (version 1.0.0)

--- name: Gmail Draft Update Body description: Atomic node skill to update the body text of an existing Gmail draft. os: all requires: bins: - gog --- ## Lean Philosophy (Principles) - **Kaizen (改善):** This skill is an atomic node, strictly limited to updating the body of a draft, preventing complex multi-field string constructions. - **Standardized Work (Hyojun Sagyo):** This node represents the most efficient, standardized path for this specific task before automation. - **Jidoka (自働化):** This node includes autonomous defect detection. # Gmail Draft Update Body This skill allows the agent to update the body of an existing Gmail draft using the native CLI. ## Cognitive Directives WHEN [The body of a Gmail draft needs to be set or updated] THEN [Execute the native terminal command `gog gmail drafts update <draftId> --body "..." --json`] ## Schema Example ```json { "command": "gog gmail drafts update draft_id_123 --body \"Please review the attached invoice.\" --json" } ``` ## Jidoka Validation Loop 1. Try: Execute the command. 2. Evaluate: Check the JSON response to confirm the body was updated. 3. Correct/Fail: If it failed or hallucinated parameters, retry up to 3 times (max_retries=3). 4. Proceed: Return the confirmation. ## Expected Output A JSON object confirming the draft was updated.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: cinience/alicloud-ai-audio-tts-voice-clone (version 1.0.2)

--- name: alicloud-ai-audio-tts-voice-clone description: Voice cloning workflows with Alibaba Cloud Model Studio Qwen TTS VC models. Use when creating cloned voices from sample audio and synthesizing text with cloned timbre. version: 1.0.0 --- Category: provider # Model Studio Qwen TTS Voice Clone Use voice cloning models to replicate timbre from enrollment audio samples. ## Critical model names Use one of these exact model strings: - `qwen3-tts-vc-2026-01-22` - [REDACTED_SECRET] ## Prerequisites - Install SDK in a virtual environment: ```bash python3 -m venv .venv . .venv/bin/activate python -m pip install dashscope ``` - Set `DASHSCOPE_API_KEY` in your environment, or add `dashscope_api_key` to `~/.alibabacloud/credentials`. ## Normalized interface (tts.voice_clone) ### Request - `text` (string, required) - `voice_sample` (string | bytes, required) enrollment sample - `voice_name` (string, optional) - `stream` (bool, optional) ### Response - `audio_url` (string) or streaming PCM chunks - `voice_id` (string) - `request_id` (string) ## Operational guidance - Use clean speech samples with low background noise. - Respect consent and policy requirements for cloned voices. - Persist generated `voice_id` and reuse for future synthesis requests. ## Local helper script Prepare a normalized request JSON and validate response schema: ```bash .venv/bin/python skills/ai/audio/alicloud-ai-audio-tts-voice-clone/scripts/prepare_voice_clone_request.py \ --text "Welcome to this voice-clone demo" \ --voice-sample "https://example.com/voice-sample.wav" ``` ## Output location - Default output: [REDACTED_SECRET] - Override base dir with `OUTPUT_DIR`. ## Validation ```bash mkdir -p output/alicloud-ai-audio-tts-voice-clone for f in skills/ai/audio/alicloud-ai-audio-tts-voice-clone/scripts/*.py; do python3 -m py_compile "$f" done echo "py_compile_ok" > output/alicloud-ai-audio-tts-voice-clone/validate.txt ``` Pass criteria: command exits 0 and `output/alicloud-ai-audio-tts-voice-clone/validate.txt` is generated. ## Output And Evidence - Save artifacts, command outputs, and API response summaries under [REDACTED_SECRET]. - Include key parameters (region/resource id/time range) in evidence files for reproducibility. ## Workflow 1) Confirm user intent, region, identifiers, and whether the operation is read-only or mutating. 2) Run one minimal read-only query first to verify connectivity and permissions. 3) Execute the target operation with explicit parameters and bounded scope. 4) Verify results and save output/evidence files. ## References - `references/sources.md`


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: yang1002378395-cmyk/ai-resume-screener (version 1.0.0)

# AI Resume Screener 智能简历筛选，HR 效率提升 10 倍。 ## 核心能力 ✅ 简历解析 - 自动提取姓名/学历/经验/技能 ✅ 智能匹配 - 根据职位要求自动评分排序 ✅ 批量处理 - 一次处理 1000+ 份简历 ✅ 多格式支持 - PDF/Word/图片/在线简历 ✅ 偏见消除 - 匿名筛选，降低人为偏见 ✅ 数据分析 - 简历来源、通过率、时间分析 ## 快速开始 ### 1. 安装 ```bash openclaw skills install ai-resume-screener ``` ### 2. 配置职位要求 ```yaml name: ai-resume-screener config: # 职位模板 position: title: "Python开发工程师" requirements: - "3年以上Python经验" - "熟悉Django/Flask" - "有大型项目经验优先" skills: - Python: required - Django: preferred - Docker: plus # 评分权重 scoring: skills: 40% experience: 30% education: 20% projects: 10% ``` ### 3. 筛选简历 ```bash # 批量筛选 openclaw run --screen-resumes ./resumes_folder --position python_dev # 查看排名 openclaw run --show-ranking --top 10 ``` ## ROI 计算 | 指标 | 人工筛选 | AI 筛选 | 提升 | |------|----------|---------|------| | 单份耗时 | 5 分钟 | 5 秒 | 60x | | 日处理量 | 50 份 | 5000 份 | 100x | | 匹配准确率 | 60% | 85% | +25% | | HR 成本 | ¥8000/月 | ¥800/月 | 10x | ## 定价 | 套餐 | 价格 | 功能 | |------|------|------| | 基础版 | ¥199 | 简历解析 + 100份/月 | | 专业版 | ¥499 | 智能匹配 + 1000份/月 | | 企业版 | ¥1499 | 无限简历 + 多职位 + 定制 | ## 客户案例 ### 某互联网公司 - 月均简历：3000 份 - HR 时间：从 100 小时降至 2 小时 - 招聘周期：缩短 40% ### 某猎头公司 - 简历库：10 万份 - 匹配速度：从 1 天降至 5 分钟 - 成单率：提升 30% ## 技术支持 - 📧 Email: [REDACTED_SECRET] - 💬 Telegram: @openclaw_service - 📱 微信: openclaw-cn --- **安装配置服务**：¥199 起，30 分钟搞定！

path: package.json
content: {
  "name": "ai-resume-screener",
  "version": "1.0.0",
  "description": "AI 简历智能筛选 - 自动解析简历、智能匹配、候选人排序",
  "main": "index.js",
  "keywords": [
    "ai",
    "resume",
    "recruitment",
    "hr",
    "openclaw"
  ],
  "author": "OpenClaw Community",
  "license": "MIT"
}

Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)
Skill: ntriq-gh/faktum-android (version 1.0.0)

--- name: faktum-android description: Faktum News Android 앱 개발 세션. Google 공식 Android CLI(`~/bin/android`) + 공식 Skills(android-cli, navigation-3, edge-to-edge)를 조합해 Kotlin + Jetpack Compose로 모바일 앱을 만든다. "안드로이드 앱 만들어", "팩툼 앱", "모바일 앱", "android 앱", "faktum 앱", "앱 만들자" 등 한국어 트리거로 발동. Faktum 웹(Next.js 16, 포트 3099)의 SQLite/FTS5 API를 백엔드로 재사용. --- # Faktum Android App 개발 ## 1. 필독 컨텍스트 (작업 시작 시 순서대로 Read) 1. `~/Documents/ntriq-vault/wiki/decisions/2026-04-19-android-cli-채택.md` — 도입 결정/스택 2. `~/Documents/ntriq-vault/wiki/tools/android-cli.md` — CLI 사용법·커맨드 레퍼런스 3. `~/Documents/ntriq-vault/wiki/decisions/2026-04-18-faktum-news-첫-사업-확정.md` — Faktum 사업 컨텍스트 4. `~/Documents/ntriq-vault/wiki/system/faktum-news-current-state.md` — 현재 웹 스택/DB/API 스냅샷 5. `~/.claude/projects/-Users-youareplan/memory/project-faktum-news.md` — 프로젝트 메모리 + 모바일 섹션 ## 2. 공식 스킬 체이닝 이 스킬 발동 시 아래 공식 스킬도 함께 활용: - `android-cli` — `android create`, `android run`, `android sdk install` 등 CLI 오케스트레이션 - `navigation-3` — Jetpack Navigation 3 (딥링크, 리스트-디테일 scene) - `edge-to-edge` — Compose edge-to-edge 적용 ## 3. 앱 스택 (확정) | 계층 | 선택 | |------|------| | 언어 | Kotlin | | UI | Jetpack Compose | | 내비게이션 | Navigation 3 (리스트-디테일 scene) | | 디스플레이 | edge-to-edge | | 백엔드 | Faktum 웹 API 재사용 (http://localhost:3099 → 배포 시 도메인 교체) | | DB | 서버측 SQLite/FTS5 그대로, 클라이언트는 Retrofit/Ktor | | 디자인 | Ground News 스타일 다크 테마 (웹과 일관성 유지) | ## 4. 핵심 커맨드 ```bash # 프로젝트 생성 (위치는 대표님 결정 필요) android create --help # 옵션 먼저 확인 android create <project-path> # SDK android sdk install # 필요 컴포넌트만 android info # 현재 환경 # 실행 android emulator # 에뮬레이터 android run # 배포 # 문서/UI 지원 android docs <query> android layout # 앱 UI 트리 android screen # 디바이스 화면 # 스킬 추가 (시점 도래 시) android skills add --skill play-billing-library-version-upgrade # 구독 android skills add --skill r8-analyzer # 크기 최적화 ``` ## 5. 작업 시작 워크플로우 1. 위 1번 필독 컨텍스트 5개 Read 2. 작업 분해 선언 (08-foundation, Stanford Pattern 1): - 출력, 성공 기준, 필요 정보, 단계 수 3. 프로젝트 경로 대표님께 확인 (모노레포 vs 별도 리포) 4. `android create` → `android skills add` 순서로 뼈대 5. Faktum 웹 API 계약 Read (`~/Documents/Projects/faktum-news/app/api/`) 6. Compose 화면 구현 → `android run`으로 에뮬레이터 검증 ## 6. 모든 AI 공유 확인 이 스킬은 Claude Code 전용이지만, 공식 Android CLI 스킬(`android-cli`/`navigation-3`/`edge-to-edge`)은 **8개 AI 디렉토리** (`.claude` `.codex` `.cursor` `.gemini` `.copilot` `.continue` `.agents` `.openclaw`)에 자동 배포됨. Cursor/Codex/Gemini가 앱 코드 만질 때도 동일한 SKILL.md를 참조. Obsidian vault(`~/Documents/ntriq-vault/`)는 5분 sync로 3개 시스템 공유 뇌 역할. 다른 AI도 vault의 `wiki/tools/android-cli.md`와 `wiki/decisions/2026-04-19-android-cli-채택.md`를 읽으면 동일 컨텍스트 획득. ## 7. 주의 - Google 공식 스킬(`android-cli` 등)은 `android skills add`로 업데이트됨 → 수정 금지. 우리 보강사항은 **이 래퍼 스킬에만** 기록. - CLI는 preview(v0.7). 브레이킹 체인지 가능. `android update` 정기 실행. - Faktum 웹이 Next.js 16 (학습 데이터와 다름) → API 연동 시 웹 소스 Read 필수.


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)