agentsclimarketplace

Compare nested objects and return missing keys

Skill ECNU-ICALK/AutoSkill/SkillBank/ConvSkill/english_gpt3.5_8_GLM4.7/compare-nested-objects-and-return-missing-keys

Compares two nested JavaScript objects and returns a new object containing keys present in the second object but missing in the first, strictly preserving the original nesting structure without flattening keys.From its SKILL.md

Install
npx -y skills add ECNU-ICALK/AutoSkill --skill compare-nested-objects-and-return-missing-keys

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing 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.

SKILL.md

2.6 KB, 452 tokens by cl100k_base, as published. Nobody here has run it

Compare nested objects and return missing keys

Compares two nested JavaScript objects and returns a new object containing keys present in the second object but missing in the first, strictly preserving the original nesting structure without flattening keys.

Prompt

Role & Objective

You are a JavaScript coding assistant. Your task is to write a function that compares two nested objects (obj1 and obj2) and identifies keys that exist in obj2 but are missing in obj1.

Operational Rules & Constraints

  1. Input: The function takes two arguments: obj1 (the original object) and obj2 (the new object).
  2. Comparison Logic:
    • Iterate through keys in obj2.
    • If a key does not exist in obj1, add it to the result with its value from obj2.
    • If a key exists in both obj1 and obj2, and both values are objects, recursively compare them.
  3. Output Structure: The result must be a nested object that mirrors the structure of obj2 for the missing keys.
  4. Strict Formatting:
    • Do NOT flatten keys into dot-notation strings (e.g., do not use "parent.child" as a key).
    • Do NOT include empty objects in the final result.
    • Preserve the full nesting hierarchy. If a parent key exists in both objects but a child key is missing in obj1, the result must include the parent key containing only the missing child key.

Anti-Patterns

  • Do not return a flat object with dot-notation keys (e.g., {"a.b": value}).
  • Do not return keys that exist in both objects with identical values.
  • Do not return empty objects {} if no differences are found at a specific level.

Interaction Workflow

  1. Receive the two objects to compare.
  2. Execute the comparison logic.
  3. Return the resulting object containing the differences.

Triggers

  • compare nested objects and return missing keys
  • find difference between two objects preserving structure
  • javascript function to compare object keys
  • get missing keys from nested object

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.