Research add fields
Skill bg-szy/TOP-SKILLS/skills/claude-code-skills/research-add-fields
Append new field definitions to an in-progress research outline's `fields.yaml` — either from user-supplied input or from a web-search agent that proposes common dimensions in the domain. Use mid-`/research-outline` when you've realised the schema is missing dimensions (e.g. pricing, performance, ecosystem, governance) before running `/research-deep`, so deep agents fill the new fields on first pass instead of needing a re-run.From its SKILL.md
npx -y skills add bg-szy/TOP-SKILLS --skill research-add-fieldsAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
3.4 KB, 665 tokens by cl100k_base, as published. Nobody here has run it
Research Add Fields — Append to the Field Schema
In-place updates fields.yaml with additional research dimensions.
Trigger
/research-add-fields
Pipeline position
/research-outline → ► /research-add-fields ◄ → /research-deep → /research-report
Reachable any time after /research-outline has produced fields.yaml, but most useful before /research-deep so deep agents fill the new fields in their first pass.
Workflow
Step 1 — Auto-locate fields file
Glob */fields.yaml from the current working directory. Read it to know what's already defined — so suggestions don't duplicate existing fields and you can show the user the current categories when asking.
Step 2 — Pick a supplement source
AskUserQuestion with two options:
- A. Direct input — user dictates field names, descriptions, and categories.
- B. Web search — launch a research subagent via the
Tasktool (subagent_type: general-purpose) to propose common fields in the topic's domain.
Step 3 — Display and confirm
- Show the candidate field list back to the user (whether from A or B).
AskUserQuestionfor each candidate: keep / drop / edit.- For each kept field, capture:
category(must match an existingfield_categories[].categoryor be a new one),detail_level(brief | moderate | detailed),required(defaultfalse).
Step 4 — Save update
Append the confirmed fields to fields.yaml, preserving existing structure and ordering. Save in place.
Field shape (matches /research-outline)
field_categories:
- category: <name>
fields:
- name: <field_name>
description: <what to capture>
detail_level: brief | moderate | detailed
required: false
Output
Updated {topic}/fields.yaml — in-place modification, user confirms before save.
Gotchas
- Adding
required: trueretroactively breaks already-completed items. If/research-deepalready produced JSONs for some items and you add a new required field, those JSONs will fail validation. Either add the field asrequired: false, or plan to re-run/research-deepfor the affected items. - Category names are matched literally. A new field whose
categorydoesn't match an existingfield_categories[].categorycreates a new top-level category in the schema. That's fine, but make sure it's intentional — a typo here is a silent split. - The web-search subagent in option B operates outside the conversation context. Hand it the topic and an explicit list of categories that already exist, so its proposals fit the schema rather than colliding with what's there.
fields.yamlis also consumed by~/.claude/skills/research-outline/validate_json.py. The schema this skill writes must stay compatible with that validator — samefield_categories[].fields[].name/requiredshape, no exotic YAML constructs.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.