4 ms·
Can you (or anyone) share an example of such a specification document? As an amateur programmer experimenting with CC, it would be very helpful to understand t
by mft_ 1y ago
Can you (or anyone) share an example of such a specification document? As an amateur programmer experimenting with CC, it would be very helpful to understand the nature and depth of the information that is helpful.
- bongodongobob 1y agoI do a multistep process Step 1: back and forth chat about the functionality we want. What do we want it to do? What are the inputs and outputs? Then generate a spec/requirements sheet. Step 2: identify what language, technologies, frameworks to use to accomplish the goal. Generate a technical spec. Step 3: architecture. Get a layout of the different files that need to be created and a general outline of what each will do. Step 4: combine your docs and tell it to write the code.
- jamesponddotco 1y agoI have multiple system prompts that I use before getting to the actual specification. 1. I use the Socratic Coder[1] system prompt to have a back and forth conversation about the idea, which helps me hone the idea and improve it. This conversation forces me to think about several aspects of the idea and how to implement it. 2. I use the Brainstorm Specification[2] user prompt to turn that conversation into a specification. 3. I use the Brainstorm Critique[3] user prompt to critique that specification and find flaws in it which I might have missed. 4. I use a modified version of the Brainstorm Specification user prompt to refine the specification based on the critique and have a final version of the document, which I can either use on my own or feed to something like Claude Code for context. Doing those things improved the quality of the code and work spit out by the LLMs I use by a significant amount, but more importantly, it helped me write much better code on my own because I know have something to guide me, while before I used to go blind. As a bonus, it also helped me decide if an idea was worth it or not; there are times I'm talking with the LLM and it asks me questions I don't feel like answering, which tells me I'm probably not into that idea as much as I initially thought, it was just my ADHD hyper focusing on something. [1]: https://github.com/jamesponddotco/llm-prompts/blob/trunk/data/socratic-coder.md https://github.com/jamesponddotco/llm-prompts/blob/trunk/dat... [2]: https://github.com/jamesponddotco/llm-prompts/blob/trunk/data/brainstorm-specification.md https://github.com/jamesponddotco/llm-prompts/blob/trunk/dat... [3]: https://github.com/jamesponddotco/llm-prompts/blob/trunk/data/brainstorm-critique.md https://github.com/jamesponddotco/llm-prompts/blob/trunk/dat...
- time0ut 1y agoThank you for sharing these prompts. These are excellent.
- indigodaddy 1y agoWish we could star files in addition to repos
- addandsubtract 1y agoYou mean like adding a bookmark, or downloading the files? Yeah, wish that was possible on the web.
- indigodaddy 1y agoWell I use GitHub stars kind of like coding/cool project/idea/whatever bookmarks, so yeah would be neat to be able to star just any file within a repo in addition to the repo itself
- ctoth 1y agoYou may want to turn these good prompts into slash commands! :)
- jamesponddotco 1y agoThey are subagents and slash commands, depending on the project. Eventually, I need to come up with a “dotclaude” repository with these and a few others I use in. Edit: Sorry, I had a brain fart for a second, thought you were talking about other prompts. I prefer to keep those as chats with the API, not Claude Code, but yeah, they might work as slash commands too.
- alecco 1y agoGood stuff. A minor observation: > I use the Socratic Coder[1] system prompt to have a back and forth conversation about the idea. (prompt starts with: 1. Ask only one question at a time) Why only 1? IMHO it's better to write a long prompt explaining yourself as much as possible (exercises your brain and you figure out things), and request as many questions to clarify as possible, review, and suggestions, all at once. This is better because: 1. It makes you think deeper and practice writing clearly. 2. Even though each interaction is quite slower, since you are more active and engaged it feels shorter (try it), and you minimize interactions significantly. 3. It's less wasteful as going back and forth 4. You converge in much shorter time as your misconceptions, misunderstandings, problems expressing yourself, or confusion on the part of the LLM are all addressed very early. 5. I find it annoying to wait for the replies. I guess if you use a fast response conversational system like ChatGPT app it would make more sense. But I don't think that way you can have deep conversations unless you have a stellar working memory. I don't, so it's better for me to write and read, and re-write, and re-read...
- taude 1y agoSearch Claude-code Planning mode. You can use claude to help you write specs. Many YouTube videos, as well. I think spec docs are pretty personal and project specific....
- deleted 1y ago[deleted]
- wiremine 1y agoAnother useful approach is to "cheat" and point the LLM at an existing code base that implements the algorithms or patterns you want. Something like: "Review <codebase> and create a spec for <algorithm/pattern/etc.>" It gives you a good starting point to jump off from.
- pchristensen 1y agoHere’s a write up of an experiment I did, with idea, spec, prompt, and Claude code commits. http://pchristensen.com/blog/articles/first-impressions-of-vibe-coding/ http://pchristensen.com/blog/articles/first-impressions-of-v...
- hoppp 1y agoIf you are amateur it better to do your time and not use ai tools for a while. It will make you much bette at development to learn like a senior dev did today
- cratermoon 1y agohttps://medium.com/machine-words/writing-technical-design-docs-71f446e42f2e https://medium.com/machine-words/writing-technical-design-do... and https://medium.com/free-code-camp/how-to-write-a-good-software-design-document-66fcf019569c https://medium.com/free-code-camp/how-to-write-a-good-softwa...