Claude Skill

lov-fill-web-form

Fill web forms by fetching form fields from a URL, deep-searching the user's local knowledge base for relevant info, and generating a markdown document with all answers pre-filled. Use when the user provides a URL to a web form (conference application, speaker submission, event r

LLM Mart · 0 points · 8 views 0 listing impressions 0 install-command copies
Virus-scanned Reviewed automatically before listing.

Full trust report

Download lovstudio-skills-skills_fill-web-form-77d464c.zip · 6 KB
Part of lovstudio/skills — 83 skills

Install

skills CLI npx skills add https://github.com/lovstudio/skills/tree/main/skills/fill-web-form
Claude Code claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install lovstudio-skills@llmmart
Git git clone https://github.com/lovstudio/skills.git

The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole lovstudio/skills collection as a plugin from our marketplace. Git is the plain clone.

README

网页填表助手 · Web Form Assistant

Version

Fill web forms by deep-searching your local knowledge base. Give it a URL, get back a ready-to-paste markdown document.

Part of skill-publisher/skills — by example.com

Install

npx skills add fill-web-form -g -y

No external dependencies — uses Claude's built-in tools only.

How It Works

 ┌──────────────┐     ┌──────────────────┐     ┌──────────────────┐
 │  Web Form    │     │  Knowledge Base   │     │  Output Doc      │
 │  (URL)       │     │  (local files)    │     │  (markdown)      │
 │              │     │                   │     │                  │
 │  ┌────────┐  │     │  profile/         │     │  ## 1. 姓名      │
 │  │ 姓名   │──┼──┬──│  posts/           │──┬──│  品牌方          │
 │  │ 简介   │  │  │  │  projects/        │  │  │  ## 2. 简介      │
 │  │ 案例   │  │  │  │  articles/        │  │  │  <合成内容>      │
 │  │ 成效   │  │  │  │  CLAUDE.md        │  │  │  ## 3. 案例      │
 │  └────────┘  │  │  │  memory/          │  │  │  <合成内容>      │
 └──────────────┘  │  └──────────────────┘  │  └──────────────────┘
                   │                        │
              WebFetch                Agent(Explore)
              提取字段                 深度检索匹配

Usage

/fill-web-form https://example.com/apply?formId=123

Claude will:

  1. Fetch the form and extract all fields
  2. Deep-search your knowledge base for matching info
  3. Generate a markdown document with all fields pre-filled
  4. Flag fields that need manual input (uploads, private data)

Supported Form Types

Type Examples
Conference applications GIAC, QCon, ArchSummit speaker submissions
Event registrations Hackathon signups, meetup RSVPs
Profile forms Platform bios, author profiles
Grant/funding applications Accelerator apps, grant proposals

License

MIT

Skill manifest

网页填表助手 · Web Form Assistant

Fetch a web form, extract all fields, deep-search the user's local knowledge base for matching information, and output a ready-to-use markdown document.

When to Use

  • User provides a URL to a web form and wants help filling it
  • Conference speaker applications, event registrations, profile forms
  • Any scenario where form fields can be answered from existing local materials

Workflow (MANDATORY)

Step 1: Fetch and extract form fields

Use WebFetch to retrieve the form page and extract ALL fields:

WebFetch(url, prompt="Extract ALL form fields. For each field list: label,
type (text/textarea/select/radio/checkbox/file), required status, options
if applicable, min length constraints. Return structured list.")

If the form has radio/select fields, make a second WebFetch call to get the exact option text for each.

Step 2: Deep-search local knowledge base

Launch an Agent (subagent_type: Explore, thoroughness: very thorough) to search the user's knowledge base. The agent prompt MUST include:

  1. The complete list of form fields from Step 1
  2. Instructions to search for:
    • Personal/professional bio and profile files
    • Speaking/conference history
    • Project descriptions and achievements
    • Company/organization info
    • Published articles and their topics
    • Awards, credentials, media mentions
  3. Search locations (adapt to user's repo structure):
    • Profile/about files (**/profile/**, **/about/**, **/bio/**)
    • CLAUDE.md files for project context
    • Posts and articles directories
    • Project directories
    • Any official.md, awards.md, resume files
  4. Also check user memory (MEMORY.md) for cached info

Run this in parallel with any additional WebFetch calls from Step 1.

Step 3: Map fields to content

For each form field, synthesize the best answer from search results:

Field Type Strategy
Short text (name, company, city) Direct extraction from profile
Bio/introduction (min chars) Compose from official bio, expand to meet minimum
Long-form (case background, solution) Synthesize from articles, projects, talks
Radio/select Pick the best-matching option based on profile
File upload Mark as "needs manual upload" with specs
Private (phone, email) Mark as "needs manual input", suggest if found

If required fields remain unknown after local search, use AskUserQuestion to collect only those missing values. Do not ask for fields already inferred from context.

Step 4: Generate output document

Write a markdown document with ALL form fields filled. Format:

---
title: "<Form Name> - 填写内容"
status: draft
---

# <Form Name>

> 表单地址:<URL>

---

## 1. <Field Label>

<Filled content or instruction>

---

## 2. <Field Label>

...

Rules:

  • Number every field matching the form order
  • For radio/select: prefix chosen option with **✅ 选择:**
  • For file uploads: use > ⚠️ 需上传:<specs>
  • For private fields: use > ⚠️ 需手动填写(with suggestion if available)
  • For textarea fields with min length: ensure content meets or exceeds minimum
  • Include a summary table at the end showing field → status (filled/manual)
  • MANDATORY: Append an "inspected sources" section at the end of the document with a tree of all files that were read/searched during knowledge base retrieval:
---

## 附录:检索文件路径

knowledge-base/ ├── profile/ │ └── official.md ← 个人简介 ├── posts/standalone/2025/ │ ├── 07-10-Vol-51...md ← 演讲经历 │ └── 06-25-comate...md ← AI工具评测 ├── 1-Projects/lovpen/ │ └── ... ← 产品信息 └── CLAUDE.md ← 项目上下文

This tree helps the user verify source coverage and spot missing materials.

Output naming: Follow user's naming convention. Default: 品牌方-<form-topic>-<YYYY-MM-DD>-v0.1.md

Step 5: Present summary

After writing the file, show:

  1. A summary table of all fields with fill status
  2. Count of auto-filled vs needs-manual fields
  3. Remind user which fields need manual action (uploads, private data)
  4. The inspected files tree (same as in the document appendix, for quick review)

Key Principles

  1. Pre-fill aggressively — search deeply, compose content, don't leave blanks
  2. Meet all constraints — character minimums, bullet point counts, etc.
  3. Match form tone — conference apps need professional language, registrations can be brief
  4. Respect privacy — never guess phone numbers or passwords, mark for manual input
  5. Cite sources — when composing from knowledge base, the content should be accurate to the user's real experience

Runtime context (shared)

运行前读取本 Skill 包的 skill.yaml,由宿主提供 skill-runtime/v1 上下文。字段解析顺序为:当前请求、项目上下文、个人 Preferences、品牌 Profile、通用默认值。

  • 只使用 Manifest 声明的字段;Profile 保存公开品牌事实,Preferences 保存个人工作偏好。
  • required: true 字段缺失时,按 Manifest 的问题配置向用户提出一个聚焦问题;用户明确同意后再保存回答。
  • 报错提供可复制的 context_id、字段路径与来源,诊断内容避开秘密、完整私人路径和原始配置。

通用反馈闭环

用户在 Skill 驱动任务中提出修改意见时,继续当前产物前必须执行:

  1. 先判断意见是 task-specific(仅本次)还是 reusable(可跨任务复用)。
  2. task-specific 只修改当前任务,不改 Skill。
  3. reusable 先确定作用域:领域规则先更新对应 canonical Skill;适用于所有 Skill 的规则先更新共享规范。
  4. 完成规则更新、版本、lint 与分发核验后,再把修改应用到当前任务。
  5. reusable 修改会使此前的“确认”“继续”“发吧”失效;完成当前产物修改和回读后必须停下,等待用户下一步指示,不自动进入发布、提交或其他外部写入。
Files (skills)
  • CHANGELOG.md 624 B
    # Changelog
    
    ## [1.2.0] - 2026-08-24
    
    ### Added
    
    - add the shared feedback-classification and approval-invalidation gate used by every LovStudio Skill
    
    ## [1.1.2] - 2026-05-07
    
    ### Fixed
    
    - ask only for missing required web form fields
    
    ## [1.1.1] - 2026-05-07
    
    ### Fixed
    
    - add release metadata
    - add README version badge
    
    ## 1.1.0 — 2026-04-14
    
    - Output document now includes "检索文件路径" appendix with tree of all inspected files
    - Summary step also displays the inspected files tree for quick review
    
    ## 1.0.0 — 2026-04-14
    
    - Initial release: fetch web form → deep-search KB → generate markdown document
    
  • README.md 2.4 KB
    # 网页填表助手 · Web Form Assistant
    
    ![Version](https://img.shields.io/badge/version-1.2.0-CC785C)
    
    Fill web forms by deep-searching your local knowledge base. Give it a URL, get back a ready-to-paste markdown document.
    
    Part of [skill-publisher/skills](https://example.com/skills/skills) — by [example.com](https://example.com)
    
    ## Install
    
    ```bash
    npx skills add fill-web-form -g -y
    ```
    
    No external dependencies — uses Claude's built-in tools only.
    
    ## How It Works
    
    ```
     ┌──────────────┐     ┌──────────────────┐     ┌──────────────────┐
     │  Web Form    │     │  Knowledge Base   │     │  Output Doc      │
     │  (URL)       │     │  (local files)    │     │  (markdown)      │
     │              │     │                   │     │                  │
     │  ┌────────┐  │     │  profile/         │     │  ## 1. 姓名      │
     │  │ 姓名   │──┼──┬──│  posts/           │──┬──│  品牌方          │
     │  │ 简介   │  │  │  │  projects/        │  │  │  ## 2. 简介      │
     │  │ 案例   │  │  │  │  articles/        │  │  │  <合成内容>      │
     │  │ 成效   │  │  │  │  CLAUDE.md        │  │  │  ## 3. 案例      │
     │  └────────┘  │  │  │  memory/          │  │  │  <合成内容>      │
     └──────────────┘  │  └──────────────────┘  │  └──────────────────┘
                       │                        │
                  WebFetch                Agent(Explore)
                  提取字段                 深度检索匹配
    ```
    
    ## Usage
    
    ```
    /fill-web-form https://example.com/apply?formId=123
    ```
    
    Claude will:
    1. Fetch the form and extract all fields
    2. Deep-search your knowledge base for matching info
    3. Generate a markdown document with all fields pre-filled
    4. Flag fields that need manual input (uploads, private data)
    
    ## Supported Form Types
    
    | Type | Examples |
    |------|----------|
    | Conference applications | GIAC, QCon, ArchSummit speaker submissions |
    | Event registrations | Hackathon signups, meetup RSVPs |
    | Profile forms | Platform bios, author profiles |
    | Grant/funding applications | Accelerator apps, grant proposals |
    
    ## License
    
    MIT
  • SKILL.md 7.2 KB
    ---
    name: lov-fill-web-form
    category: Office Automation
    tagline: "Fill web forms from local knowledge base. Fetch URL → deep-search KB → generate markdown doc."
    description: >
      Fill web forms by fetching form fields from a URL, deep-searching the user's
      local knowledge base for relevant info, and generating a markdown document
      with all answers pre-filled. Use when the user provides a URL to a web form
      (conference application, speaker submission, event registration, profile form)
      and wants help filling it out from their existing materials.
      Also trigger when the user mentions "填网页表", "fill web form", "网页填表",
      "表单填写", "申请表填写", "conference application", "speaker submission",
      "讲师申请", "报名表", or provides a URL with "form", "feedback", "apply",
      "register", "submit" in the path.
    license: MIT
    compatibility: >
      No external dependencies. Uses built-in tools: WebFetch, Agent (Explore),
      Grep, Glob, Read, Write. Requires internet access for URL fetching.
    metadata:
      author: contributors
      version: "1.2.0"
      tags: form web fill knowledge-base conference speaker application
    ---
    
    # 网页填表助手 · Web Form Assistant
    
    Fetch a web form, extract all fields, deep-search the user's local knowledge
    base for matching information, and output a ready-to-use markdown document.
    
    ## When to Use
    
    - User provides a URL to a web form and wants help filling it
    - Conference speaker applications, event registrations, profile forms
    - Any scenario where form fields can be answered from existing local materials
    
    ## Workflow (MANDATORY)
    
    ### Step 1: Fetch and extract form fields
    
    Use `WebFetch` to retrieve the form page and extract ALL fields:
    
    ```
    WebFetch(url, prompt="Extract ALL form fields. For each field list: label,
    type (text/textarea/select/radio/checkbox/file), required status, options
    if applicable, min length constraints. Return structured list.")
    ```
    
    If the form has radio/select fields, make a second `WebFetch` call to get
    the exact option text for each.
    
    ### Step 2: Deep-search local knowledge base
    
    Launch an `Agent` (subagent_type: Explore, thoroughness: very thorough) to
    search the user's knowledge base. The agent prompt MUST include:
    
    1. The complete list of form fields from Step 1
    2. Instructions to search for:
       - Personal/professional bio and profile files
       - Speaking/conference history
       - Project descriptions and achievements
       - Company/organization info
       - Published articles and their topics
       - Awards, credentials, media mentions
    3. Search locations (adapt to user's repo structure):
       - Profile/about files (`**/profile/**`, `**/about/**`, `**/bio/**`)
       - CLAUDE.md files for project context
       - Posts and articles directories
       - Project directories
       - Any `official.md`, `awards.md`, `resume` files
    4. Also check user memory (MEMORY.md) for cached info
    
    Run this in parallel with any additional `WebFetch` calls from Step 1.
    
    ### Step 3: Map fields to content
    
    For each form field, synthesize the best answer from search results:
    
    | Field Type | Strategy |
    |-----------|----------|
    | Short text (name, company, city) | Direct extraction from profile |
    | Bio/introduction (min chars) | Compose from official bio, expand to meet minimum |
    | Long-form (case background, solution) | Synthesize from articles, projects, talks |
    | Radio/select | Pick the best-matching option based on profile |
    | File upload | Mark as "needs manual upload" with specs |
    | Private (phone, email) | Mark as "needs manual input", suggest if found |
    
    If required fields remain unknown after local search, use `AskUserQuestion` to
    collect only those missing values. Do not ask for fields already inferred from
    context.
    
    ### Step 4: Generate output document
    
    Write a markdown document with ALL form fields filled. Format:
    
    ```markdown
    ---
    title: "<Form Name> - 填写内容"
    status: draft
    ---
    
    # <Form Name>
    
    > 表单地址:<URL>
    
    ---
    
    ## 1. <Field Label>
    
    <Filled content or instruction>
    
    ---
    
    ## 2. <Field Label>
    
    ...
    ```
    
    **Rules:**
    - Number every field matching the form order
    - For radio/select: prefix chosen option with `**✅ 选择:**`
    - For file uploads: use `> ⚠️ 需上传:<specs>`
    - For private fields: use `> ⚠️ 需手动填写`(with suggestion if available)
    - For textarea fields with min length: ensure content meets or exceeds minimum
    - Include a summary table at the end showing field → status (filled/manual)
    - **MANDATORY:** Append an "inspected sources" section at the end of the document
      with a tree of all files that were read/searched during knowledge base retrieval:
    
    ```markdown
    ---
    
    ## 附录:检索文件路径
    
    ```
    knowledge-base/
    ├── profile/
    │   └── official.md          ← 个人简介
    ├── posts/standalone/2025/
    │   ├── 07-10-Vol-51...md    ← 演讲经历
    │   └── 06-25-comate...md    ← AI工具评测
    ├── 1-Projects/lovpen/
    │   └── ...                  ← 产品信息
    └── CLAUDE.md                ← 项目上下文
    ```
    ```
    
      This tree helps the user verify source coverage and spot missing materials.
    
    **Output naming:** Follow user's naming convention. Default:
    `品牌方-<form-topic>-<YYYY-MM-DD>-v0.1.md`
    
    ### Step 5: Present summary
    
    After writing the file, show:
    1. A summary table of all fields with fill status
    2. Count of auto-filled vs needs-manual fields
    3. Remind user which fields need manual action (uploads, private data)
    4. **The inspected files tree** (same as in the document appendix, for quick review)
    
    ## Key Principles
    
    1. **Pre-fill aggressively** — search deeply, compose content, don't leave blanks
    2. **Meet all constraints** — character minimums, bullet point counts, etc.
    3. **Match form tone** — conference apps need professional language, registrations can be brief
    4. **Respect privacy** — never guess phone numbers or passwords, mark for manual input
    5. **Cite sources** — when composing from knowledge base, the content should be accurate to the user's real experience
    
    ## Runtime context (shared)
    
    运行前读取本 Skill 包的 `skill.yaml`,由宿主提供 `skill-runtime/v1` 上下文。字段解析顺序为:当前请求、项目上下文、个人 Preferences、品牌 Profile、通用默认值。
    
    - 只使用 Manifest 声明的字段;Profile 保存公开品牌事实,Preferences 保存个人工作偏好。
    - `required: true` 字段缺失时,按 Manifest 的问题配置向用户提出一个聚焦问题;用户明确同意后再保存回答。
    - 报错提供可复制的 `context_id`、字段路径与来源,诊断内容避开秘密、完整私人路径和原始配置。
    
    ## 通用反馈闭环
    
    用户在 Skill 驱动任务中提出修改意见时,继续当前产物前必须执行:
    
    1. 先判断意见是 `task-specific`(仅本次)还是 `reusable`(可跨任务复用)。
    2. `task-specific` 只修改当前任务,不改 Skill。
    3. `reusable` 先确定作用域:领域规则先更新对应 canonical Skill;适用于所有 Skill 的规则先更新共享规范。
    4. 完成规则更新、版本、lint 与分发核验后,再把修改应用到当前任务。
    5. `reusable` 修改会使此前的“确认”“继续”“发吧”失效;完成当前产物修改和回读后必须停下,等待用户下一步指示,不自动进入发布、提交或其他外部写入。
    
  • skill.yaml 840 B
    schema: skill-manifest/v1
    id: lov-fill-web-form
    version: "1.2.0"
    runtime: skill-runtime/v1
    context:
      profile:
        fields:
        - path: identity.name
          required: true
          question: 如果本次输出需要品牌身份,请提供品牌名称。
        - path: identity.logo
          required: false
          question: 如果需要使用品牌 Logo,请提供 Logo 地址或文件路径。
        - path: brand.tone
          required: false
          question: 如果已有品牌语气或审美关键词,请提供它们。
      preferences:
        namespace: lov_fill_web_form
        fields:
        - path: user.language
          required: false
          question: 希望使用哪种语言输出?
        - path: user.timezone
          required: false
          question: 需要使用哪个时区处理日期和时间?
      interaction:
        ask_missing: true
        max_questions: 1
    

Comments (0)

Sign in to join the conversation.

No comments yet.

Reviews (0)

No reviews yet.

Related