Skip to content

Comments

chore: apply claude skills to realize template#1122

Merged
8471919 merged 2 commits intomainfrom
chore/claude_skill
Feb 24, 2026
Merged

chore: apply claude skills to realize template#1122
8471919 merged 2 commits intomainfrom
chore/claude_skill

Conversation

@8471919
Copy link
Contributor

@8471919 8471919 commented Feb 23, 2026

This pull request introduces a comprehensive, step-by-step skill template for implementing new features with a self-testing loop, designed for use with Claude workflows. The template breaks down the process into three main phases—implementation, test design, and iterative test/fix loop—providing detailed guidance, code samples, and troubleshooting strategies for each step. The documentation enforces best practices, such as type safety and test completeness, and organizes all instructions and code snippets in a clear, reusable format.

The most important changes are:

Skill Template & Workflow Overview

  • Added a new add-feature skill template (SKILL.md) that outlines a strict, phased workflow for implementing new features, including forbidden TypeScript patterns, a visual workflow diagram, and explicit exit criteria for success and failure.

Phase 1: Implementation Guidance

  • Added flow-implement.md detailing the implementation phase: analyzing requirements, updating the Prisma schema, defining interfaces and DTOs, creating collectors/transformers/providers/controllers, and verifying the build. Each step includes example code and file locations.

Phase 2: Test Design Guidance

  • Added flow-test-design.md that covers test preparation and generation functions, categorizes tests into happy path, error, and edge cases, and provides example test code and file organization for comprehensive coverage.

Phase 3: Automated Test Loop

  • Added flow-test-loop.md describing an iterative test loop: building, running, analyzing, and fixing until all tests pass or manual intervention is required. Includes diagnosis tables, fix strategies for test/business/interface issues, and troubleshooting tips.

These additions collectively provide a reusable, detailed blueprint for safely and reliably adding new features to a TypeScript/NestJS/Prisma codebase, ensuring high test coverage and code quality throughout the process.

@8471919 8471919 self-assigned this Feb 23, 2026
@8471919 8471919 added the enhancement New feature or request label Feb 23, 2026
@samchon samchon requested a review from Copilot February 23, 2026 11:30
@samchon samchon added the documentation Improvements or additions to documentation label Feb 23, 2026
@samchon samchon added this to WrtnLabs Feb 23, 2026
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request adds comprehensive documentation for a Claude-based workflow system designed to help implement, validate, and fix features in an AutoBE-generated NestJS backend. The documentation provides detailed, step-by-step guidance for using Claude AI to work with a TypeScript/NestJS/Prisma codebase.

Changes:

  • Added main reference documentation (CLAUDE.md) explaining project structure, build commands, tech stack, naming conventions, and known issues
  • Created 4 validation skills that analyze and report issues in database schema, interfaces, providers, and tests
  • Created 4 fix skills that automatically resolve compilation errors in the respective layers
  • Added an add-feature skill with three detailed flow documents covering implementation, test design, and iterative test execution

Reviewed changes

Copilot reviewed 13 out of 13 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
CLAUDE.md Main reference guide documenting project overview, tech stack, directory structure, build commands, naming conventions, and available Claude skills
validate-db/SKILL.md Read-only skill for validating Prisma schema against requirements, checking entity coverage, field types, relations, and naming conventions
validate-interface/SKILL.md Read-only skill for validating controllers and DTOs, checking API coverage, interface completeness, and path naming
validate-provider/SKILL.md Read-only skill for validating providers, collectors, and transformers against interfaces, checking coverage and type safety
validate-test/SKILL.md Read-only skill for validating test infrastructure, checking prepare/generate functions and test scenario coverage
fix-db/SKILL.md Automated skill for fixing Prisma schema compilation errors following codebase conventions
fix-interface/SKILL.md Automated skill for fixing interface and controller compilation errors, handling empty interfaces and type issues
fix-provider/SKILL.md Automated skill for fixing provider errors by creating collectors and transformers
fix-test/SKILL.md Automated skill for fixing test compilation errors, focusing on empty prepare functions and type issues
add-feature/SKILL.md Main skill template for implementing features with a self-testing loop until 100% test pass rate
flow-implement.md Phase 1 documentation detailing implementation steps: schema updates, interfaces, collectors, transformers, providers, and controllers
flow-test-design.md Phase 2 documentation covering test preparation functions, test scenario categorization, and comprehensive test coverage
flow-test-loop.md Phase 3 documentation describing the iterative test-fix loop with failure diagnosis and fix strategies

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

id: record.id,
name: record.name,
status: record.status,
created_at: toISOStringSafe(record.created_at),
Copy link

Copilot AI Feb 23, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The toSummary function returns created_at field, but this field is not defined in the ISummary interface shown in flow-implement.md (lines 79-83). This creates an inconsistency where the implementation doesn't match the interface definition. Either remove created_at from this example or update the corresponding ISummary interface definition in the documentation to include it.

Suggested change
created_at: toISOStringSafe(record.created_at),

Copilot uses AI. Check for mistakes.
Location: `/test/prepare/prepare_random_{prefix}_{entity}.ts`

```typescript
import { I{Prefix}{Entity} } from "@ORGANIZATION/PROJECT-api/lib/structures/I{Prefix}{Entity}";
Copy link

Copilot AI Feb 23, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The import path uses placeholder @ORGANIZATION/PROJECT-api which should be documented or explained somewhere. Users implementing this template need to understand what these placeholders should be replaced with. Consider adding a section explaining all placeholders used throughout the documentation.

Copilot uses AI. Check for mistakes.
|---------------|-----|
| Empty interface `{}` | Read Prisma schema, define all fields |
| Missing typia tag | Add appropriate `tags.Format<>` |
| Nullable mismatch | Add `\| null` for nullable fields |
Copy link

Copilot AI Feb 23, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The pipe character is escaped with a backslash (|) but this is unnecessary in markdown table cells. It should just be | null without the backslash. The backslash will appear in the rendered output.

Suggested change
| Nullable mismatch | Add `\| null` for nullable fields |
| Nullable mismatch | Add `| null` for nullable fields |

Copilot uses AI. Check for mistakes.
### DON'T

- Use `as any` type casting
- Use `console` in providers, collectors, transformers (remove them)
Copy link

Copilot AI Feb 23, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The wording "Use console in providers, collectors, transformers (remove them)" is confusing. It should be clearer, such as "Don't use console in providers, collectors, transformers" or "Remove console statements from providers, collectors, transformers". The current wording with "Use" followed by "(remove them)" is contradictory and unclear.

Suggested change
- Use `console` in providers, collectors, transformers (remove them)
- Don't use `console` in providers, collectors, transformers

Copilot uses AI. Check for mistakes.
@8471919 8471919 merged commit 1920234 into main Feb 24, 2026
1 check passed
@8471919 8471919 deleted the chore/claude_skill branch February 24, 2026 04:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation enhancement New feature or request

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

2 participants