Initial commit

This commit is contained in:
Zhongwei Li
2025-11-29 18:02:02 +08:00
commit 19d82bd316
7 changed files with 643 additions and 0 deletions

View File

@@ -0,0 +1,157 @@
# Content Generation Strategies
This skill provides guidance on how to analyze work sessions and generate high-quality content for documentation templates.
## Information Sources
### Primary: Claude Code Conversation History
This is your richest source of information. The conversation contains:
- **Discussions about goals and intent** - Why the work was needed
- **Design decisions and trade-offs** - How approaches were chosen
- **Problem-solving iterations** - Challenges faced and solutions developed
- **Technical details and explanations** - Implementation specifics
- **Context and reasoning** - The "why" behind the "what"
- **Future considerations** - Next steps and TODOs mentioned
### Secondary: Git Repository Data
Use git to supplement and validate the conversation:
- **Today's commits:** `git log --since="today" --pretty=format:"%h - %s (%an)" --no-merges`
- **Changed files:** `git diff --name-only HEAD@{1.day.ago}..HEAD`
- **Commit messages:** Capture what was done
- **File patterns:** Show scope of changes
If no git data is available, rely entirely on conversation context.
## Field-by-Field Generation Strategy
### Date Field
Auto-fill with today's date in YYYY-MM-DD format. No user prompt needed.
### Title/Name Fields
**Strategy:** Combine project name with work type
**Sources:** User-provided project name + conversation about what was built
**Example:** "Plugin Architecture Refactoring" from project name "plugin-refactor"
### Goal/Objective Fields
**Strategy:** Extract the "why" from the conversation
**Look for:**
- Problem statements at the beginning of the session
- User requests and requirements
- Pain points mentioned
- Desired outcomes discussed
**Example:** "Restructure the note-taker plugin to align with marketplace architecture principles and improve modularity"
### Approach/How Fields
**Strategy:** Describe the technical approach and methodology
**Look for:**
- Design decisions made during the conversation
- Technologies and tools used
- Architecture patterns discussed
- Implementation steps taken
- Files and components created
**Example:** "Broke the monolithic command into agents, commands, and skills pattern. Created documentation-assistant agent for expertise, organization-config skill for dynamic discovery, and simplified command for orchestration."
### Results/Outcomes Fields
**Strategy:** Summarize what was successfully accomplished
**Look for:**
- Features or code completed
- Problems solved
- Artifacts created
- Tests passing
- Successful builds or deployments
**Example:** "Successfully restructured plugin with 4 new files: agent, 2 skills, updated command. Reduced command from 189 lines to ~60. Implemented dynamic template discovery."
### Challenges/Blockers Fields
**Strategy:** Identify difficulties and how they were resolved
**Look for:**
- Errors encountered
- Unexpected behaviors
- Decisions that required debate
- Problems that needed creative solutions
- Anything marked as "tricky" or "challenging"
**Example:** "Initial approach used hardcoded template lists. Refactored to use Glob for dynamic discovery to improve maintainability."
### Next Steps/Future Work Fields
**Strategy:** Extract forward-looking items
**Look for:**
- TODOs mentioned
- Features deferred
- Ideas for improvements
- Follow-up tasks identified
- Testing or validation needed
**Example:** "Update documentation to reflect new structure. Test template discovery with actual files. Consider adding validation for template fields."
## Content Generation Process
### Step 1: Analyze the Full Session
Review the entire conversation history to understand:
- What was the initial request?
- What was discussed and decided?
- What was implemented?
- What challenges came up?
- What was the outcome?
### Step 2: Supplement with Git Data
If available, use git commits to:
- Validate what files were changed
- See commit messages for additional context
- Understand scope of changes
### Step 3: Generate Field Content
For each template field:
1. Identify what type of information is needed
2. Extract relevant details from conversation + git
3. Synthesize into clear, specific content
4. Make it detailed enough to be useful
### Step 4: Present for Approval
Format:
```
[Field Name]:
Your proposed content here...
Accept this? (Press Enter to accept, or type your changes)
```
Default behavior is acceptance - make content good enough to just press Enter.
## Quality Guidelines
**Be Specific:**
- Use actual file names, feature names, technical terms
- Include numbers when relevant (lines of code, number of files, etc.)
- Reference specific technologies and approaches
**Be Comprehensive:**
- Capture both what and why
- Include context that might be forgotten later
- Don't just list actions, explain reasoning
**Be Concise:**
- Focus on important details
- Avoid unnecessary verbosity
- Make every sentence count
**Be Accurate:**
- Base proposals on actual conversation and git data
- Don't invent or assume information
- If uncertain, ask the user
## Example: Full Template Fill
**Template Field:** What did you build?
**Generated Content:** "Restructured the note-taker plugin from a single 189-line command into a modular architecture with agent, commands, and skills. Created documentation-assistant agent for note-taking expertise, organization-config skill for dynamic template discovery, and content-generation skill for analysis strategies. Reduced command file to ~60 lines focused on workflow orchestration."
**Why this is good:**
- Specific numbers (189 lines → 60 lines)
- Named components created
- Explained the transformation
- Clear outcome
- Based on actual conversation

View File

@@ -0,0 +1,202 @@
# Organization Configuration
This skill provides configuration for different organizations including template locations and save directories.
## Base Paths
**Templates Base Directory:** `/Users/b294776/Desktop/Notes/templates/`
**Notes Base Directory:** `/Users/b294776/Desktop/Notes/`
## Organizations
### 84.51
**Templates Location:** `/Users/b294776/Desktop/Notes/templates/`
**Notes Subdirectory:** `8451/`
**Template Discovery:**
Use Glob to find all templates, then filter for 84.51-specific ones:
```
Glob pattern: /Users/b294776/Desktop/Notes/templates/*.md
```
Include templates that match these patterns:
- Start with `obj` (e.g., obj1-team-development-template.md, obj4-genai-coding-template.md)
- Start with `annual-objectives`
- Start with `weekly-5-15`
- Start with `quarterly-metrics`
- Start with `hiring-interview`
- Start with `1on1`
- Start with `team-meeting`
- Start with `tech-lt-meeting`
- Start with `labs-lt-meeting`
- Start with `quality-review`
Exclude templates that start with `uc-`, `content-`, `paper-`, or `build-log`
**Save Locations Discovery:**
Use Bash to dynamically list all subdirectories:
```bash
ls -d /Users/b294776/Desktop/Notes/8451/*/
```
### UC (University of Cincinnati)
**Templates Location:** `/Users/b294776/Desktop/Notes/templates/`
**Notes Subdirectory:** `uc/`
**Template Discovery:**
Use Glob to find all UC templates (files that start with "uc-"):
```
Glob pattern: /Users/b294776/Desktop/Notes/templates/uc-*.md
```
**Save Locations Discovery:**
Use Bash to dynamically list all subdirectories:
```bash
ls -d /Users/b294776/Desktop/Notes/uc/*/
```
### Content Creation
**Templates Location:** `/Users/b294776/Desktop/Notes/templates/`
**Notes Subdirectory:** `content/`
**Template Discovery:**
Use Glob to find all content creation templates:
```
Glob pattern: /Users/b294776/Desktop/Notes/templates/*.md
```
Include templates that match these patterns:
- Start with `content-` (e.g., content-idea-template.md)
- Start with `paper-` (e.g., paper-notes-template.md)
- Start with `build-log`
**Save Locations Discovery:**
Use Bash to dynamically list all subdirectories:
```bash
ls -d /Users/b294776/Desktop/Notes/content/*/
```
If the content/ directory doesn't exist yet, create it first.
## Dynamic Discovery Guidelines
### Step 1: Organization Selection
Present numbered options:
```
[1] 84.51
[2] University of Cincinnati
[3] Content Creation
```
### Step 2: Finding Templates
1. Use Glob to get all templates: `/Users/b294776/Desktop/Notes/templates/*.md`
2. Filter based on organization selected:
- **84.51**: Include templates matching 84.51 patterns, exclude uc-*, content-*, paper-*, build-log*
- **UC**: Include only templates starting with `uc-`
- **Content**: Include only templates starting with `content-`, `paper-`, or `build-log`
3. Extract clean display names from filenames:
- Remove directory path
- Remove `-template.md` suffix
- Remove `.md` extension
- Convert hyphens to spaces for display
- Capitalize appropriately
4. Present as numbered list:
```
Available templates:
[1] Obj4 Genai Coding
[2] Weekly 5 15
[3] Annual Objectives Note
...
```
**Example:**
- File: `/Users/b294776/Desktop/Notes/templates/obj4-genai-coding-template.md`
- Display as: `[1] Obj4 Genai Coding`
### Step 3: Propose Note Name
1. Analyze conversation context to generate intelligent name
2. Format: lowercase with hyphens (e.g., "marketplace-schema-update")
3. Present with acceptance option:
```
Proposed note name: "marketplace-schema-update"
[1] Accept this name
Or type alternative name:
```
### Step 4: Finding Save Locations
1. Use Bash `ls -d` to list subdirectories under the organization folder:
- **84.51**: `/Users/b294776/Desktop/Notes/8451/*/`
- **UC**: `/Users/b294776/Desktop/Notes/uc/*/`
- **Content**: `/Users/b294776/Desktop/Notes/content/*/`
2. Extract directory names (remove path and trailing slash)
3. Present as numbered list:
```
Where should this note be saved?
[1] obj4-genai-coding
[2] cross-cutting
[3] weekly-reports
...
```
**Example bash command:**
```bash
ls -d /Users/b294776/Desktop/Notes/8451/*/ | sed 's|.*/||' | sed 's|/$||'
```
### Step 5: Building Save Paths
Format: `{notes_base}/{org_subdir}/{save_location}/{date}-{note-name}.md`
**Components:**
- `notes_base`: `/Users/b294776/Desktop/Notes/`
- `org_subdir`: `8451/`, `uc/`, or `content/`
- `save_location`: Selected directory name
- `date`: Today's date in YYYY-MM-DD format
- `note-name`: User-confirmed name in lowercase-hyphenated format
**Examples:**
- `/Users/b294776/Desktop/Notes/8451/obj4-genai-coding/2025-10-23-marketplace-schema-update.md`
- `/Users/b294776/Desktop/Notes/uc/course-development/2025-10-23-chapter-3-updates.md`
- `/Users/b294776/Desktop/Notes/content/blog-posts/2025-10-23-new-article-idea.md`
## Template Processing
### Reading Templates
1. After user selects template number, use Read tool to load the template file
2. Identify all fields that need to be filled
3. Look for patterns like:
- `{{field_name}}`
- `## Field Name`
- Placeholder text or prompts
### Filling Template Fields
For each field identified:
1. Generate intelligent content based on conversation history and git data
2. Present proposed content with acceptance option:
```
[Field Name]:
Proposed content here...
[1] Accept this content
Or type alternative content:
```
3. If user types `1`, use the proposed content
4. If user types anything else, use their typed content instead
## Workflow Summary
When invoked, follow this exact sequence:
1. **Organization Selection** → User selects [1], [2], or [3]
2. **Template Discovery** → Glob for templates → Filter by organization → Present numbered list
3. **Template Selection** → User selects template number
4. **Name Proposal** → Propose name → User types [1] or alternative
5. **Directory Discovery** → List directories → Present numbered list
6. **Directory Selection** → User selects directory number
7. **Template Loading** → Read template file
8. **Field Iteration** → For each field:
- Propose content
- User types [1] or alternative
9. **Save Note** → Write to final path
10. **Confirm** → Show user the full path where note was saved