📚 Full Documentation:
/AGENTS.md - Architecture, commands, workflows/packages/frontend/AGENTS.md - CSS variables, timingUse this skill when you need quick reminders on critical patterns.
TypeScript:
any → use unknownsatisfies over as (except tests)@n8n/api-typesError Handling:
import { UnexpectedError } from 'n8n-workflow';
throw new UnexpectedError('message', { extra: { context } });
// DON'T use deprecated ApplicationErrorFrontend:
<script setup lang="ts">)/packages/frontend/AGENTS.md$t('key'))data-testid for E2E (single value, no spaces)Backend:
@n8n/di@n8n/configTesting:
pushd packages/cli && pnpm testDatabase:
Commands:
pnpm build > build.log 2>&1 # Always redirect
pnpm typecheck # Before commit
pnpm lint # Before commit| Package | Purpose |
|---|---|
packages/cli |
Backend API |
packages/frontend/editor-ui |
Vue 3 frontend |
packages/@n8n/api-types |
Shared types |
packages/@n8n/db |
TypeORM entities |
packages/workflow |
Core interfaces |
Pinia Store:
import { STORES } from '@n8n/stores';
export const useMyStore = defineStore(STORES.MY_STORE, () => {
const state = shallowRef([]);
return { state };
});Vue Component:
<script setup lang="ts">
type Props = { title: string };
const props = defineProps<Props>();
</script>Service:
import { Service } from '@n8n/di';
import { Config } from '@n8n/config';
@Service()
export class MyService {
constructor(private readonly config: Config) {}
}📖 Need more details? Read /AGENTS.md and /packages/frontend/AGENTS.md
npx skills add n8n-io/n8n/.claude/skills/n8n-conventionsCopy the installation command above and run it in your terminal to install globally.
Add the required environment variables to your MCP client according to the skill description.
Configure and enable this skill in any MCP-compatible app (e.g. Claude or Cursor).