원클릭으로
feat
Implement a new feature following EggPdf's test-first, performance-aware development loop
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Implement a new feature following EggPdf's test-first, performance-aware development loop
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Dual-perspective code review — Lead Dev (architecture/correctness) + Dev (implementation/tests). Runs entirely in the main agent for easy follow-up.
Update EggPdf documentation — README, docs/ wiki pages, site/, llms.txt, CLAUDE.md — to reflect current implementation
Render HTML through EggPdf and analyze PDF output for visual correctness issues
Render all WebUI templates through the PDF pipeline and verify output correctness
Run EggPdf benchmarks and analyze performance for specific rendering scenarios
Fix a bug following the test-first approach -- reproduce with test, then fix, then verify
| name | feat |
| description | Implement a new feature following EggPdf's test-first, performance-aware development loop |
| disable-model-invocation | true |
| user-invocable | true |
| allowed-tools | Bash, Read, Write, Edit, Grep, Glob, Agent, TodoWrite |
Implement a feature for EggPdf following the strict loop: write test -> write code -> verify test -> fix -> benchmark -> repeat until all green.
$ARGUMENTS -- description of the feature to implement (e.g., "HTML tokenizer data state", "CSS margin shorthand expansion", "block formatting context layout")Read the blueprint for implementation details:
BLUEPRINT.md -- find the relevant component and phasegh issue list --search "$ARGUMENTS"Read the affected files before writing any code. Understand existing patterns:
Create a feature branch:
git checkout -b feat/{feature-name}
Write tests FIRST -- this is non-negotiable:
Feature_Condition_ExpectedBehaviorRun tests -- they MUST fail (proves the test is meaningful):
dotnet test --configuration Release --filter "FullyQualifiedName~{TestClass}"
If tests pass before implementation, the tests are wrong. Fix them.
Implement the feature following these constraints:
Span<T> on netstandard2.1+, ArrayPool where appropriateRun tests -- they MUST pass:
dotnet test --configuration Release
Fix failures. Repeat until 100% green. Do NOT move forward with failing tests.
Review your own code:
Run all tests again -- full suite, not just your new ones:
dotnet test --configuration Release
If the change is in a hot path (parser, layout engine, paint, PDF writer):
cd benchmarks/EggPdf.Benchmarks && dotnet run -c Release -- --filter *{Scenario}* --exporters json markdown
Check for regressions -- compare against previous results:
Commit with conventional prefix:
feat: for new featuresfix: for bug fixesperf: for performance improvementstest: for test-only changesrefactor: for restructuring without behavior changePush the branch (but do NOT create PR -- use /ship for that):
git push -u origin feat/{feature-name}
main -- always feature branch + PR