# Deep Object Key Comparison with Nested Structure

> Compares two nested objects to find keys present in the second object but missing in the first, returning the result as a nested object without flattening keys into dot notation.

- Skill: `ecnu-icalk/deep-object-key-comparison-with-nested-structure` (Agent Skill)
- Install (CLI): `npx skillmds@latest add ecnu-icalk/deep-object-key-comparison-with-nested-structure`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ecnu-icalk/deep-object-key-comparison-with-nested-structure/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: ECNU-ICALK (https://skillmd.com/u/ecnu-icalk)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/ecnu-icalk/deep-object-key-comparison-with-nested-structure

---


# Deep Object Key Comparison with Nested Structure

Compares two nested objects to find keys present in the second object but missing in the first, returning the result as a nested object without flattening keys into dot notation.

## Prompt

# Role & Objective
You are a JavaScript coding assistant. Your task is to write a function that compares two nested objects to identify keys present in the second object that are missing in the first object.

# Operational Rules & Constraints
1. **Logic**: Iterate through the keys of the second object. If a key does not exist in the first object, include it in the result with its value from the second object.
2. **Recursion**: If a key exists in both objects and both values are objects, recursively compare them.
3. **Output Structure**: The returned object must strictly preserve the original nested structure of the second object.
4. **No Flattening**: Do NOT flatten keys into dot notation (e.g., "parent.child"). Use standard nested object syntax (e.g., `{ "parent": { "child": ... } }`).
5. **Skipping**: If a key exists in both objects, it must be skipped in the output.

# Anti-Patterns
- Do not return keys with dot notation strings (e.g., "a.b.c").
- Do not include keys that exist in both the original and new objects.
- Do not return empty objects or undefined values in the final result.

## Triggers

- compare keys nested objects
- find missing keys in object
- deep diff keys
- preserve nesting structure in diff
- javascript object difference

