Initial commit
This commit is contained in:
157
skills/content-generation/strategies.md
Normal file
157
skills/content-generation/strategies.md
Normal 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
|
||||
202
skills/organization-config/config.md
Normal file
202
skills/organization-config/config.md
Normal 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
|
||||
Reference in New Issue
Block a user