用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/CodySwannGT/lisa --skill nestjs-graphql命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
This skill should be used for any non-trivial request — features, bugs, stories, epics, spikes, or multi-step tasks. It accepts a ticket URL (Jira, Linear, GitHub), a file path containing a spec, or a plain-text prompt. It assembles an agent team, breaks the work into structured tasks, and manages the full lifecycle from research through implementation, code review, deploy, and empirical verification.
any non-trivial request —…
This skill should be used for any non-trivial request — features, bugs, stories, epics, spikes, or multi-step tasks. It accepts a ticket URL (Jira, Linear, GitHub), a file path containing a spec, or a plain-text prompt. It assembles an agent team, breaks the work into structured tasks, and manages the full lifecycle from research through implementation, code review, deploy, and empirical verification.
基于 SOC 职业分类
正在显示 SKILL.md
| name | nestjs-graphql |
| description | Comprehensive guide for NestJS… |
This skill provides comprehensive guidance for building GraphQL APIs with NestJS using Apollo Server and the code-first approach. It covers official NestJS GraphQL patterns plus project-specific implementations for authentication, authorization, and data loading.
| Decorator | Purpose | Import |
|---|---|---|
@Resolver() | Define resolver class | @nestjs/graphql |
@Query() | Define query operation | @nestjs/graphql |
@Mutation() | Define mutation operation | @nestjs/graphql |
@Args() | Extract arguments | @nestjs/graphql |
@Context() | Access GraphQL context | @nestjs/graphql |
@Parent() | Access parent in field resolver | @nestjs/graphql |
@ResolveField() | Define field resolver | @nestjs/graphql |
@ObjectType() | Define GraphQL object type | @nestjs/graphql |
@InputType() | Define GraphQL input type | @nestjs/graphql |
@Field() | Define field on type | @nestjs/graphql |
@Extensions() | Attach metadata to fields | @nestjs/graphql |
| Decorator | GraphQL Type | TypeScript Type |
|---|---|---|
@Field(() => String) | "String!" | string |
@Field(() => Int) | "Int!" | number |
@Field(() => Float) | "Float!" | number |
@Field(() => Boolean) | "Boolean!" | boolean |
@Field(() => ID) | "ID!" | string |
@Field(() => [String]) | "[String!]!" | string[] |
@Field({ nullable: true }) | String | string | null |
import { Args, Context, Mutation, Query, Resolver } from "@nestjs/graphql";
import { Public, Authed } from "../auth";
@Resolver(() => Entity)
export class EntityResolver {
constructor(private readonly entityService: EntityService) {}
@Query(() => Entity, { description: "Retrieve entity by ID" })
@Authed()
async entity(@Args("id", { type: () => ID }) id: string): Promise<Entity> {
return this.entityService.findById(id);
}
@Mutation(() => Entity, { description: "Create new entity" })
@Authed()
async createEntity(
() : ,
() { req }:
): <> {
..(input, req..);
}
}
import { Field, ID, ObjectType } from "@nestjs/graphql";
@ObjectType({ description: "Represents a user in the system" })
export class User {
@Field(() => ID, { description: "Unique identifier" })
id: string;
@Field(() => String, { description: "User's email address" })
email: string;
@Field(() => String, { nullable: true, description: "Display name" })
displayName?: string;
@Field(() => Date, { description: "Account creation timestamp" })
createdAt: Date;
}
import { Field, InputType } from "@nestjs/graphql";
@InputType({ description: "Input for creating a new user" })
export class CreateUserInput {
@Field(() => String, { description: "User's email address" })
email: string;
@Field(() => String, { description: "User's password" })
password: string;
@Field(() => String, { nullable: true, description: "Optional display name" })
displayName?: string;
}
This skill includes detailed reference files for specific topics:
Setup and configuration for NestJS GraphQL with Apollo driver, module configuration, and code-first vs schema-first approaches.
Comprehensive guide to writing resolvers, queries, mutations, field resolvers, and using decorators like @Args, @Context, @Parent.
Creating object types, input types, enums, interfaces, unions, and custom scalars. Includes mapped types (PartialType, PickType, etc.).
Field middleware, query complexity, plugins, subscriptions, and extensions.
Project-specific patterns including zero-trust auth decorators (@Public, @Authed, @Owner, @Groups), DataLoader integration, and GraphQL documentation standards.
@Query() decorator@Public(), @Authed(), or @Groups())@Query(() => ReturnType)@Query(() => ReturnType, { description: "..." })@Args() for parameters with descriptions@Mutation() decorator@Authed())@Context() { req }: GraphQLContext@ResolveField(() => [Comment], { description: "Entity's comments" })
async comments(
@Parent() entity: Entity,
@Context() { loaders }: GraphQLContext
): Promise<Comment[]> {
return loaders.commentsLoader.load(entity.id);
}
getByIds(ids: string[]): Promise<Entity[]>IDataLoaders interfaceDataLoaderService.getLoaders()loaders.entityLoader.load(id)See references/project-patterns.md for detailed DataLoader patterns.