Guide routine design using the Pseudocode Programming Process (PPP). Produce pseudocode design, header comments, and implementation plan. Use when designing routines, stuck on where to start coding, caught in compile-debug loops, or code works but you don't understand why. Triggers on: can't name the routine, Just One More Compile syndrome, staring at screen, coded into a corner, keep hacking but still broken, too many compiler warnings, overwhelmed by where to start.
Design a routine in pseudocode before writing it. Iterating on intent is cheaper than iterating on code, and four questions catch the expensive mistakes early:
| Question | Why | |---|---| | Can you name it clearly? | Naming difficulty signals an unclear design — clarify purpose first | | Is there pseudocode before the code? | Refining pseudocode is cheaper than refining code | | Do you understand why it works? | Working code you can't explain probably doesn't really work | | Did you consider an alternative? | The first design is rarely the best |
If the user asks to skip pseudocode, comply or surface the tradeoff once (the routine will likely cost more in debugging) — don't refuse.
Shared CC vocabulary and thresholds (cohesion, parameters, routine length): Read(${CLAUDE_PLUGIN_ROOT}/references/cc-foundations.md).
Skip the process only when one of these holds:
getValue()/setName() with no validation, transformation, or side effects.A routine you're debating as "trivial enough" is not trivial — design it.
Guide routine design with the Pseudocode Programming Process. Produces pseudocode design, header comments, and an implementation plan.
"Convinced it's correct" means you can mentally trace every path — happy, error, edge — and explain why each produces the right output. "It looks right" is not convinced.
Pseudocode at the level of intent, no target-language syntax:
If another resource is available
Allocate a dialog box structure
If a dialog box structure could be allocated
Note that one more resource is in use
Initialize the resource
Store the resource number at the location provided by the caller
Return success
Endif
Endif
Return failure
This reads as English, becomes excellent comments, and is precise enough to generate code from. The anti-pattern instead writes *hRsrcPtr, malloc(), return 1 — target-language detail that focuses on HOW, exposes implementation, and makes poor comments.
Verify the produced pseudocode and resulting routine. Checklist: Read(${CLAUDE_SKILL_DIR}/checklists.md). Assess the artifacts:
| After | Next |
|---|---|
| Pseudocode complete | Skill(code-foundations:cc-routine-and-class-design) |
| Implementation done | Skill(code-foundations:cc-defensive-programming) |
npx skills add ryanthedev/cc-pseudocode-programming下载完整 Skill 目录,包含 SKILL.md 及所有相关文件
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer