gigglepro-article
Handles article投稿 and data querying for GigglePro via API.
Install
mkdir -p .claude/skills/gigglepro-article && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/17016" && unzip -o skill.zip -d .claude/skills/gigglepro-article && rm skill.zipInstalls to .claude/skills/gigglepro-article
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
使用用户 API Key 完成文章投稿、文章列表翻页/筛选、文章详情查询、以及投稿统计查询。适用于用户要求投稿或查看自己的文章相关信息的场景。Key capabilities
- →Submit articles to GigglePro
- →Query a list of submitted articles with filters
- →Retrieve details for a specific article
- →Get submission statistics
- →Validate user API keys
- →Normalize input parameters for API calls
How it works
The skill first validates the user's API key by calling the article/categories endpoint, then routes the request to specific business flows like article submission, listing, detail retrieval, or statistics based on user intent. It normalizes parameters before making API calls.
Inputs & outputs
When to use gigglepro-article
- →Submitting articles to GigglePro
- →Checking article approval status
- →Querying submission statistics
About this skill
文章用户 API(投稿/列表/详情/统计)合一 Skill
1) 统一前置校验(必须先过)
- 任何接口调用前,必须先拿到
X-User-Api-Key(对用户统一称为appKey)。 - 若缺失、格式错误、或接口返回
invalid_user_api_key,必须先提示并引导用户配置:- 请先配置有效的 appKey(即
X-User-Api-Key) - 配置入口:https://www.gigglepro.com/profile ,进入「我的文章」查看并生成 API Key
- 请先配置有效的 appKey(即
- Key 格式要求:
uak_+ 32 位十六进制字符(正则:^uak_[0-9a-fA-F]{32}$)。 - 必须先验证 key 有效性:调用
article/categories,仅当code === 0才允许进入后续业务流程。 - 当前会话内已验证成功的 key 要复用;除非再次失效,不要重复要求配置。
- 硬性门禁:未配置或未验证通过时,禁止进入任何业务参数收集(包括标题、
article_id、分页参数等)。
Key 验证请求与成功响应(标准示例)
请求:
{
"action": "article/categories"
}
成功响应(示例):
{
"code": 0,
"message": "success",
"data": {
"categories": [
{ "label": "Technology", "value": "technology" },
{ "label": "Business", "value": "business" }
]
}
}
校验与缓存规则:
- 必须缓存
data.categories[].value作为投稿分类枚举源。 - 若
categories为空数组,禁止进入投稿流程,并提示用户稍后重试。
2) 统一接口契约(生产约束)
- Endpoint:
POST https://swwgusxefvtbdwyoppir.supabase.co/functions/v1/open-api - Headers:
Content-Type: application/json; charset=utf-8X-User-Api-Key: <appKey>
- 请求体:统一 JSON;禁止 query 拼参、禁止
x-www-form-urlencoded - 字符编码:统一 UTF-8
- 成功判定:
code === 0 - 失败判定:
code !== 0 - 通用响应结构(目标约束):
code: numbermessage: stringdata: object | null
3) 参数类型总表(执行前统一归一化)
action: string,必填title: string,必填,1..50字符category: string,必填,必须命中categories[].valuesummary: string,可选,0..200字符content: string,必填,HTML 原文page: integer,可选,默认1,最小1page_size: integer,可选,默认10,范围1..50approval_status: string,可选,枚举pending|approved|rejectedarticle_id: string,必填,不可空
归一化规则:
- 除
page、page_size外,文本字段在发起请求前都转换为 string。 - 禁止对
content做二次 URL 编码或 HTML 转义。 - 可选字段未提供时,不传该字段(不要传空对象或错误类型)。
4) 执行状态机(必须遵循)
S0 收到用户意图S1 校验 appKey 是否存在且格式合法S2 调用 article/categories 验证 key 并缓存分类S3 意图路由:投稿 / 列表 / 详情 / 统计S4 参数收集与归一化S5 发起业务请求S6 输出结果(成功字段或失败建议)
禁止跳步:
- 未到
S2通过前,禁止进入S4参数收集。 invalid_user_api_key时,必须回退到S1。
5) 业务路由(key 验证成功后执行)
若用户意图不清,先确认要执行:
- 文章投稿 2) 文章列表 3) 文章详情 4) 文章统计
A. 文章投稿流程(article/submit)
- 收集参数:
- 标题(必填):
请输入文章标题(最多50字) - 分类(必填):必须从缓存的
categories[].value选择 - 摘要(选填):
请填写摘要(简短描述文章内容,最多200字) - 正文(必填):
请输入富文本正文(HTML)
- 标题(必填):
- 参数校验:
title不可空,长度<= 50category必须命中分类枚举summary若提供,长度<= 200content不可空,且为 HTML 原文
- 请求:
{
"action": "article/submit",
"title": "<title>",
"category": "<category>",
"summary": "<summary>",
"content": "<html_content>"
}
- 成功响应(示例):
{
"code": 0,
"message": "success",
"data": {
"article": {
"id": "art_123",
"approval_status": "pending",
"created_at": "2026-04-29T09:00:00Z"
}
}
}
- 输出给用户:
- 必须输出:
article.id、approval_status、created_at
- 必须输出:
B. 文章列表流程(article/list)
- 收集参数:
page(可选,整数,默认1)page_size(可选,整数,默认10,最大50)approval_status(可选,pending|approved|rejected)
- 非法值处理:
page < 1或非整数:提示修正并重问;用户未明确修正则回退1page_size越界或非整数:提示修正并重问;用户未明确修正则回退10approval_status非枚举值:提示可选值并重问;未提供则不传
- 请求:
{
"action": "article/list",
"page": 1,
"page_size": 10,
"approval_status": "pending"
}
- 成功响应(示例):
{
"code": 0,
"message": "success",
"data": {
"page": 1,
"page_size": 10,
"total": 23,
"items": [
{
"id": "art_123",
"title": "Title",
"category": "technology",
"approval_status": "approved",
"points_awarded": 30,
"created_at": "2026-04-28T08:00:00Z"
}
]
}
}
- 输出给用户:
- 分页:
page、page_size、total - 列表项:
id、title、category、approval_status、points_awarded、created_at
- 分页:
C. 文章详情流程(article/detail)
- 收集参数:
article_id(必填,string,不可空)
- 非法值处理:
- 空值或无效格式时,提示重新提供,不得直接请求
- 请求:
{
"action": "article/detail",
"article_id": "<article_id>"
}
- 成功响应(示例):
{
"code": 0,
"message": "success",
"data": {
"id": "art_123",
"title": "Title",
"category": "technology",
"summary": "Summary",
"approval_status": "rejected",
"rejection_reason": "reason text",
"points_awarded": 0,
"created_at": "2026-04-28T08:00:00Z",
"updated_at": "2026-04-28T10:00:00Z",
"content": "<p>HTML content</p>"
}
}
- 输出给用户:
id、title、category、summaryapproval_status、rejection_reason、points_awardedcreated_at、updated_at、content
D. 文章统计流程(article/stats)
- 请求:
{
"action": "article/stats"
}
- 成功响应(示例):
{
"code": 0,
"message": "success",
"data": {
"total": 23,
"pending": 2,
"approved": 18,
"rejected": 3,
"points_awarded_total": 260
}
}
- 输出给用户:
total、pending、approved、rejected、points_awarded_total
6) 统一错误处理(执行前后都适用)
invalid_user_api_key:- 提示去「我的文章」重新生成/复制 appKey
- 强制回到 key 校验流程(先
article/categories验证)
invalid_category:- 重新拉取
article/categories - 要求用户从最新枚举值重新选择
- 重新拉取
article_not_found:- 提示文章不存在或不属于当前 key 对应用户
- 其他业务错误:
- 原样输出 API
message - 提供下一步建议(重试、修正参数、稍后再试)
- 原样输出 API
重试策略(标准化):
- 网络抖动/超时类错误:自动重试 1 次(指数退避 1s)
- 参数校验类错误:不自动重试,必须修正参数
invalid_user_api_key:不自动重试业务接口,必须先完成 key 重新验证
7) 标准输出模板(面向用户)
- 成功输出:
操作结果:成功关键字段:<按各接口要求输出>
- 失败输出:
操作结果:失败失败原因:<message 或标准错误码解释>下一步建议:<可执行动作>
When not to use it
- →When the user API Key is invalid or missing
- →When the user wants to perform actions not related to article management
- →When the user wants to bypass API key validation
Limitations
- →Requires a valid X-User-Api-Key for all operations
- →All text fields are converted to string before request, except page and page_size
- →Content field cannot be URL encoded or HTML escaped
How it compares
This skill provides a structured workflow for interacting with the GigglePro article API, including mandatory API key validation and parameter normalization, which differs from making direct, unvalidated API requests.
Compared to similar skills
gigglepro-article side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| gigglepro-article (this skill) | 0 | 3mo | No flags | Intermediate |
| scientific-writing | 94 | 2mo | Review | Intermediate |
| resume-builder | 53 | 3mo | No flags | Beginner |
| humanizer | 90 | 6mo | No flags | Beginner |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
scientific-writing
K-Dense-AI
Write scientific manuscripts. IMRAD structure, citations (APA/AMA/Vancouver), figures/tables, reporting guidelines (CONSORT/STROBE/PRISMA), abstracts, for research papers and journal submissions.
resume-builder
amruthpillai
Generate professional resumes that conform to the Reactive Resume schema. Use when the user wants to create, build, or generate a resume through conversational AI, or asks about resume structure, sections, or content. This skill guides the agent to ask clarifying questions, avoid hallucination, and produce valid JSON output for https://rxresu.me.
humanizer
davila7
Remove signs of AI-generated writing from text. Use when editing or reviewing text to make it sound more natural and human-written. Based on Wikipedia's comprehensive "Signs of AI writing" guide. Detects and fixes patterns including: inflated symbolism, promotional language, superficial -ing analyses, vague attributions, em dash overuse, rule of three, AI vocabulary words, negative parallelisms, and excessive conjunctive phrases. Credits: Original skill by @blader - https://github.com/blader/humanizer
ux-writing
content-designer
Create user-centered, accessible interface copy (microcopy) for digital products including buttons, labels, error messages, notifications, forms, onboarding, empty states, success messages, and help text. Use when writing or editing any text that appears in apps, websites, or software interfaces, designing conversational flows, establishing voice and tone guidelines, auditing product content for consistency and usability, reviewing UI strings, or improving existing interface copy. Applies UX writing best practices based on four quality standards — purposeful, concise, conversational, and clear. Includes accessibility guidelines, research-backed benchmarks (sentence length, comprehension rates, reading levels), expanded error patterns, tone adaptation frameworks, and comprehensive reference materials.
writing-rap-lyrics
asvskartheek
Helps write rap lyrics with proper rhythm, flow, cadences, and structure. Teaches musical fundamentals (bars, beats, tempo, BPM) and lyric formatting. Use when writing rap lyrics, creating verses, understanding flow, structuring bars, improving cadence, learning rhythm patterns, or formatting rap lyrics.
docs-write
metabase
Write documentation following Metabase's conversational, clear, and user-focused style. Use when creating or editing documentation files (markdown, MDX, etc.).