.cursor/skills/context-engineering/SKILL.md
Context Engineering patterns for AI development and prompting. Use when the user wants to reduce tokens, avoid lost-in-the-middle, and structure prompts using Skeleton-of-Thought, token-efficient diff updates, XML tagging, symbolic variables, negative constraints, or LLMBundle-style context packaging.
npx skillsauth add JustineDevs/E-Commerce context-engineeringInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Modern LLMs bill you for every token you send. Large, unstructured prompts lead to higher cost and worse reasoning (lost-in-the-middle). This skill defines practical Context Engineering techniques and shows how to apply them in your current setup, regardless of which editor or AI product a user has.
Before any user applies these techniques, always do the following:
<global_rules>, <file>, <task>) so any LLM knows what is rules, what is code, and what is the task.These pre‑actions are model‑ and tool‑agnostic and should be followed by every user to make the skill reliable.
Goal: Give the model the shape of your code instead of full implementations.
How it looks (blueprint instead of full file):
def process_data(input_str: str) -> dict:
"""Parses raw string into a structured dict."""
...
class ReportBuilder:
"""Builds JSON reports from normalized data."""
def build(self, data: dict) -> str:
"""Return JSON summary."""
...
Prompt pattern:
I am working on this project. Here is the skeleton:
<file name="pipeline.py">
def process_data(input_str: str) -> dict:
"""Parses raw string into a structured dict."""
...
</file>
Please implement process_data to parse JSON, handle errors, and return a dict.
Execution steps:
Goal: Stop paying for full-file rewrites; request focused changes.
Search/replace format:
Do not rewrite the whole file.
Respond only with SEARCH/REPLACE blocks in this format:
SEARCH:
old_code_block
REPLACE:
new_code_block
Example usage:
Here is the current code in handler.py:
<file name="handler.py">
def handle(event):
user = get_user(event["id"])
# TODO: add logging and error handling
return user
</file>
Update it to add logging and catch KeyError. Use SEARCH/REPLACE blocks only.
LLMs then return minimal patches instead of re-typing the file.
Goal: Create hard boundaries between rules, files, and tasks so the model does not mix contexts.
Pattern:
<global_rules>
- Follow PEP8.
- Use snake_case for functions.
</global_rules>
<file name="utils.py">
def slugify(name: str) -> str:
...
</file>
<task>
Add a logging decorator to functions in utils.py and apply it to slugify.
</task>
Why this works: LLMs are trained to respect XML-like tags as structure. Wrapping each file or rule block in tags keeps the model from blending unrelated parts.
Goal: Define long rule sets once, then reference them by handle.
Header section:
[RULE_STRICT_TYPES]:
- Always use Python type hints.
- Use Pydantic models for external I/O.
[RULE_STYLE]:
- Use snake_case for functions and variables.
- Add a one-line docstring to public functions.
Later in the prompt:
Implement a user login function. Apply [RULE_STRICT_TYPES] and [RULE_STYLE].
This keeps the task-specific part short and readable while still enforcing strong constraints.
Goal: Remove unneeded prose; pay only for code or the minimal output you want.
Common constraints:
Constraints:
- No preamble.
- Do not explain the code.
- Output code only.
Prompt example:
Refactor the following function to use early returns and clearer naming.
Constraints:
- No preamble.
- No explanation.
- Output code only.
LLMBundle (e.g. Context-Engineering/llmbundle) acts as a context manager for multi-file projects.
Desired behavior:
<file name="...">...</file> tags.<global_rules> and symbolic rule blocks.node_modules/, build artifacts, and lockfiles.<bundle_index>
- app.py
- utils/transform.py
- tests/test_transform.py
</bundle_index>
With LLMBundle, your prompt to an AI agent becomes:
<global_rules>
- Follow PEP8.
- Prefer pure functions when possible.
</global_rules>
<bundle_index>
- app.py
- utils/transform.py
</bundle_index>
<file name="app.py">
...code...
</file>
<file name="utils/transform.py">
...code...
</file>
<task>
Add input validation to app.py and factor shared logic into utils/transform.py.
</task>
If you have the external tool llmbundle installed:
llmbundle on the files or directories you want to share (see its README for exact commands and security guidance).project.sh) and paste its contents into your LLM conversation.llmbundle header comments.This skill does not require llmbundle and never executes it. It only describes how to use the tool if the user has chosen to install and verify it independently.
---
## 7. How To Apply This In Your Setup
1. **For new features:** Send a SoT skeleton of relevant files instead of full bodies.\n2. **For edits:** Ask for SEARCH/REPLACE style diffs, not entire files.\n3. **For multi-file work:** Wrap rules, files, and tasks in XML tags.\n4. **For repeated rules:** Define symbolic variables like [RULE_*] once at the top and reference them later.\n5. **For cost control:** Always end prompts with negative constraints (no preamble, no explanations) when you only need code or diffs.\n6. **With LLMBundle:** Use it to automatically package your repo into XML-tagged, token-efficient context before sending it to an AI agent.
development
Review UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "check accessibility", "audit design", "review UX", or "check my site against best practices".
tools
UI/UX design intelligence for web and mobile. Includes 50+ styles, 161 color palettes, 57 font pairings, 161 product types, 99 UX guidelines, and 25 chart types across 10 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind, shadcn/ui, and HTML/CSS). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, and check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, and mobile app. Elements: button, modal, navbar, sidebar, card, table, form, and chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, and flat design. Topics: color systems, accessibility, animation, layout, typography, font pairing, spacing, interaction states, shadow, and gradient. Integrations: shadcn/ui MCP for component search and examples.
development
Runs and scopes automated tests for this Turborepo (unit, package filters, Medusa stress, E2E, release gate). Use when the user asks to run tests, verify CI locally, debug failing tests, or choose the right test command for a changed package.
development
Implement Stripe payment processing for robust, PCI-compliant payment flows including checkout, subscriptions, and webhooks. Use when integrating Stripe payments, building subscription systems, or implementing secure checkout flows.