본문으로 건너뛰기
cccskills
무료GitHub에 공개

replan

Iterative deep planning with critiques and alternatives. Use when facing complex design decisions, cross-platform changes, native module modifications, or API changes requiring thorough analysis.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(1)

  • SKILL.md4.6 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Replan

You are going to replan - an iterative process of designing, critiquing, and refining a plan.

Required Reading First

Before planning, read and internalize the relevant project documentation:

  • CLAUDE.md — project conventions, critical knowledge, anti-patterns, and CI/CD constraints
  • CONTRIBUTING.md — development setup, pre-commit checklist, npm script naming conventions
  • doc/gotchas.md — platform-specific quirks, timeout issues, testing pitfalls
  • When touching native C++ code, also read the relevant platform API reference:
    • doc/MACOS_API_REFERENCE.md, doc/LINUX_API_REFERENCE.md, doc/WINDOWS_API_REFERENCE.md

Process

1. Understand & Clarify

  • Read relevant code, documentation, and constraints
  • State any assumptions you're making
  • Ask clarifying questions before proceeding
  • Identify which platforms are affected (Windows, macOS, Linux)

2. Initial Plan

Design your first approach, considering requirements and existing solutions.

3. Critique

Generate thorough critiques of your plan:

General Engineering

  • Does it balance simplicity with good engineering?
  • Is it maintainable, testable, DRY, scalable?
  • Scrutinize for "hand-wavy" aspects - don't assume how things work, study the code
  • For novel libraries/APIs, validate with web searches
  • Note uncertainties as risks

Cross-Platform Correctness

  • Does this work on all three platforms (Windows, macOS, Linux)?
  • Are there platform-specific API differences that need separate implementations?
  • Have you verified API availability against target OS versions?
  • Does Alpine Linux (musl libc) need special handling?
  • Will this work under ARM64 emulation (5x slower) and in CI environments?

Security & Memory Safety

  • Does the change follow RAII patterns for all resource management?
  • Are there path traversal, null byte injection, or TOCTOU risks?
  • Is thread safety maintained? (GVolumeMonitor is NOT thread-safe; DiskArbitration requires dispatch queues)
  • Are all platform API return values checked and errors handled?
  • Does string conversion handle overflow and encoding errors?

Backwards Compatibility

  • Does this break the existing public API surface?
  • Will existing consumers need code changes?
  • Are new fields additive (not removing or renaming existing ones)?
  • Does the TypeScript interface remain compatible?
  • Will prebuilt native binaries need rebuilding for all platforms?

Performance & Reliability

  • Could this hang on network filesystems? Is there a timeout?
  • Does this create threads appropriately? (Windows thread pool has a 5s shutdown timeout)
  • Will this degrade CI reliability? (See platform performance multipliers in CLAUDE.md)
  • Are tests deterministic and not dependent on dynamic filesystem state?

4. Alternatives

Brainstorm alternatives based on critiques. Goals:

  • Simplify the plan
  • Reduce complexity and risk
  • Improve code quality and maintainability
  • Minimize cross-platform divergence

5. Develop Best Alternative

Select the most promising alternative and develop it fully.

6. Iterate

Repeat steps 3-5 at least three times, asking for user feedback at each iteration.

7. Final Plan

Assemble the best features from all iterations into a robust final plan.

Output Format

For each iteration, present options with pros/cons:

Option A: [Name]

[Description]

Pros: ... Cons: ... Risks: ... Platforms affected: ...

Recommendation

[Which option and why]

Design Principles

This project values (in priority order):

  1. Correctness - Native APIs must be called correctly per official documentation. No assumptions.
  2. Safety - RAII for all resources, no leaks, no UB, no TOCTOU. Security audit grade A.
  3. Cross-platform parity - All three platforms must work. Platform-specific code goes in platform directories.
  4. Backwards compatibility - Published npm package. Don't break consumers.
  5. Simplicity - Prefer the simplest correct solution. Don't over-engineer.
  6. Zero runtime dependencies - Solve with native APIs or Node.js stdlib. Don't pull in npm packages.
  7. Testability - Tests must be deterministic and CI-reliable. Never assert exact values for dynamic filesystem properties.
  8. Performance - Native module should be fast, but correctness and safety come first.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

handoff

무료

Update TPP for engineer handoff when context is running low. Use when ending a session, running out of context, or switching to a different task.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

photostructure/fs-metadata82026년 10월 6일 업데이트

review

무료

Review code for potential issues and improvements. Use when asked to review specific files, functions, or code sections.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

photostructure/fs-metadata82026년 10월 6일 업데이트

tpp

무료

Work on a Technical Project Plan. Use when starting complex features, cross-platform changes, native module modifications, or multi-session work that needs persistent context.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

photostructure/fs-metadata82026년 10월 6일 업데이트

photostructure의 스킬 모두 보기

이 스킬의 문제 신고