.cursor/skills/technical-context-discovery/SKILL.md
Discover and establish technical context before implementing any feature. Prioritize project instructions, existing codebase patterns, and external documentation in that order. Use for any task requiring understanding of project conventions, coding standards, architecture patterns, and established practices before writing code.
npx skillsauth add imvanzen/strava-kudosik technical-context-discoveryInstall 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.
This skill provides a systematic approach for understanding a project's technical context before making any code changes. It ensures consistency with existing patterns and prevents introducing conflicting conventions.
Use the checklist below and track your progress:
Discovery progress:
- [ ] Step 1: Check Cursor rules and project instruction files
- [ ] Step 2: Analyze existing codebase patterns
- [ ] Step 3: Consult external documentation (if needed)
- [ ] Step 4: Apply the implementation rule
Step 1: Check Cursor Rules and Project Instruction Files
ALWAYS check first for existing Cursor rules and project instructions:
.cursor/rules/*.md at the repository root (project-wide rules).AGENTS.md). AGENTS.md is optional; the repo may not have it yet.*.instructions.md files in relevant directories (e.g., src/, tests/, e2e/, backend/, feature-specific folders)..cursor/ directory for rules, skills, and agent configurations.If Cursor rules or instruction files exist, they are the primary source of truth for:
Step 2: Analyze Existing Codebase Patterns
If no Cursor rules or instruction files are found, or if they don't cover specific aspects, analyze the existing codebase to understand and replicate established patterns:
Use search and usages tools to find similar implementations in the codebase and follow the same approach.
Step 3: Consult External Documentation
If neither Cursor rules/instructions nor sufficient existing codebase patterns are available (e.g., new project, greenfield feature, or first implementation of a specific pattern), use external documentation and industry best practices:
context7 tool to search for official documentation of the framework/library being used (check project config for exact versions first).IMPORTANT: When using best practices in a greenfield scenario, document your decisions in code comments or README to establish patterns for future development.
Step 4: Apply the Implementation Rule
Based on what you discovered, apply this decision hierarchy:
| Context Available | Action | |---|---| | Cursor rules or instruction files exist | Follow them strictly. Rules and instructions take precedence over general best practices. | | No rules/instructions, but codebase has patterns | Mirror existing patterns exactly. Consistency with existing code > theoretical best practices. | | No rules/instructions, no existing patterns | Apply documentation-based best practices and industry standards. Document decisions for future reference. |
Critical rule: Never introduce new patterns unless explicitly requested by the user or specified in the implementation plan.
development
Analyse task description, performs gap analysis, expand the context for the task, analyse the current state of the system in the context of the task, helps build PRD, creates a context for the task, gathers information about the task from different sources.
testing
Resolves dependency audit (security) issues and updates outdated packages with prioritization by breaking-change risk and security/value. Prefer security fixes and non-breaking updates; defer or flag major upgrades. Use when the user asks to fix audit, update packages, resolve vulnerabilities, or run maintenance.
testing
Implementation gap analysis. Verify what has to be implemented. Verify what was implemented. Compare plan to current state.
development
E2E testing patterns, verification procedures, and CI readiness checklists using Playwright. Use for writing, debugging, or reviewing end-to-end tests, fixing flaky tests, creating Page Objects, mocking external APIs.