xiaohongshu
xiaohongshu
doodle
Create and manage experimental features in the Doodle project. Use this skill when user requests creating a new doodle, adding features to the features folder, or mentions working on a specific language-based experimental project. Handles both new feature creation and continuation of existing fea...
Full skill instructions
This skill enables creating and managing experimental features in the Doodle project. The Doodle project is a feature-based, language-agnostic experimental playground where each feature lives in its own folder under features/ and can use any appropriate programming language.
Core Philosophy: Flexibility over rigidity. Features adapt to their needs rather than conforming to strict templates.
Invoke this skill when the user:
Explicitly mentions "doodle"
Requests adding to features folder
Specifies a language for experimental work
Continues work on existing features
When a user requests a new feature:
Check for existing feature
ls features/ | grep feature-name
Determine language and structure
Create feature folder
{feature-name}-{language} (e.g., web-server-go)hellojava, collections-utilsStart with TDD
Create comprehensive README
references/project_conventions.mdWhen creating or working with features:
Check if feature exists:
# Look for existing feature folder
ls features/ | grep {feature-name}
If exists:
If new:
Adapt structure based on language. Reference references/project_conventions.md for patterns:
JavaScript:
package.json with test scripttest.js with custom runnerPython:
test_{feature}.py (often combined impl + tests)Go:
go.mod with module path*_test.go test filesJava/Gradle:
settings.gradle.kts, app/build.gradle.ktssrc/main/java and src/test/java layoutKey Principle: Consult references/language_examples.md for concrete examples, but adapt as needed for the specific feature.
Always follow Test-Driven Development:
Write tests first
Implement functionality
Refactor
Every feature must have a comprehensive README. Use this structure:
# Feature Name (Language)
**Language**: {Language}
**Purpose**: {Brief description}
**Status**: 🚧 In Progress / ✅ Complete
## Overview
{What this feature does and why}
## Features
- [ ] Feature 1
- [ ] Feature 2
## Quick Start
### Prerequisites
- {Language version, tools}
### Installation
```bash
cd features/{feature-name}
{install commands}
{test command}
{Code examples}
{Description of tests}
{feature-name}/
├── ...
{Any special considerations}
Adapt sections based on feature complexity and language.
### 5. Naming Conventions
Follow established patterns from `references/project_conventions.md`:
**Feature Folders:**
- Lowercase kebab-case
- Language suffix: `-js`, `-python`, `-go`
- Java often plain: `hellojava`, `collections-utils`
- Examples: `calculator-js`, `ascii-art-go`, `algorithms-python`
**Files:**
- JavaScript: camelCase or snake_case for files
- Python: snake_case for everything
- Go: lowercase package names
- Java: PascalCase for classes, match package structure
**Packages/Modules:**
- Go: `github.com/homveloper/doodle/features/{feature-name}`
- Java: Match folder name (no hyphens): `hellojava`, `collectionsutils`
### 6. CI/CD Awareness
Be aware of GitHub Actions testing:
**Currently Supported:**
- Node.js: 18.x, 20.x, 22.x
- Python: 3.9, 3.10, 3.11, 3.12
**Can Be Added:**
- Go testing
- Java/Gradle testing
When appropriate, suggest adding CI/CD support for new languages.
## Workflow
When handling a feature request:
1. **Understand the request**
- What feature?
- Which language? (explicit or infer)
- New or existing?
2. **Check existing features**
- Look in `features/` folder
- Check for similar or same-named features
- Decide: new feature or continue existing
3. **Determine structure**
- Consult `references/project_conventions.md` for patterns
- Look at `references/language_examples.md` for similar examples
- Adapt based on feature requirements
4. **Create files**
- Start with test files (TDD)
- Create implementation files
- Add configuration files (package.json, go.mod, etc.)
- Generate comprehensive README
5. **Verify setup**
- Ensure test commands work
- Check file structure makes sense
- Confirm README is complete
6. **Communicate clearly**
- Tell user what was created
- Show file structure
- Explain next steps
- Provide test command
## Best Practices
### Flexibility First
- Don't force rigid templates
- Adapt to feature needs
- Use references as guides, not rules
- Each feature is an experiment
### TDD Always
- Tests define behavior
- Write tests before implementation
- Keep tests simple and clear
- Run tests frequently
### Minimal Dependencies
- Prefer standard library
- Zero dependencies ideal for simple features
- Document why external deps are needed
- Keep it simple
### Complete Documentation
- README is mandatory
- Include usage examples
- Document prerequisites
- Explain design decisions
### Language Idioms
- Follow language-specific conventions
- Use established patterns
- Write idiomatic code
- Respect language best practices
## Common Scenarios
### Scenario 1: Brand New Feature
User: "Go로 HTTP 서버 doodle 만들어줘"
Steps:
### Scenario 2: Existing Feature
User: "hellojava에 Result 패턴 추가해줘"
Steps:
### Scenario 3: Ambiguous Request
User: "calculator 만들어줘"
Steps:
## Resources
### references/project_conventions.md
Comprehensive guide to Doodle project conventions:
- Feature naming patterns
- Language-specific structures
- README requirements
- TDD approach
- CI/CD integration
- Best practices
**Use this as primary reference** for understanding project patterns and conventions.
### references/language_examples.md
Concrete examples for each supported language:
- Complete working examples
- JavaScript string utilities
- Python math utilities
- Go file utilities
- Java collections utilities
**Use this for specific implementation patterns** when creating new features. Adapt examples to fit the specific feature being created.
---
**Remember**: The goal is experimentation and learning. Be flexible, follow TDD, document well, and adapt to each feature's unique needs.
xiaohongshu
technical spec
product ux expert
database patterns
Conduct multi-agent task orchestration and workflow coordination.
Initialize project with Conductor artifacts (product definition,
Expert in web animations, transitions, and motion design using Framer Motion and CSS
Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...
PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.
Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...
Display project status, active tracks, and next actions
Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.
Generate, edit, and beat-sync AI video with leading models in one workspace.
The world's fastest calendar for remote work
Transform Your Design with AI Designer by ImgCreator.ai
Revolutionizing Video Production with AI-Powered Creativity
Extend an image past the frame and let AI fill the new aspect ratio.
Discover your celebrity doppelgänger with StarByFace!
ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.
Opus.ai: Revolutionize Your Web Experience