refactor: migrate worklog skill from org-mode to markdown
- Convert template to markdown with YAML frontmatter - Update suggest-filename.sh to output .md extension - Update find-related-logs.sh to parse both formats (backward compat) - Update SKILL.md references Existing .org worklogs remain readable by find-related-logs. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
0f6824cbda
commit
5ffdf0a2a5
|
|
@ -29,7 +29,7 @@
|
|||
{"id":"skills-8cc","title":"Remove dead code: unused ARGS variable","description":"File: .specify/scripts/bash/create-new-feature.sh\n\nLine 8: ARGS=() declared but never used\nLine 251: export SPECIFY_FEATURE - unclear if used downstream\n\nFix:\n- Remove unused ARGS declaration\n- Verify SPECIFY_FEATURE is used or remove\n\nSeverity: LOW","status":"closed","priority":4,"issue_type":"task","created_at":"2025-12-24T02:50:59.332192076-05:00","updated_at":"2025-12-29T18:38:03.48883384-05:00","closed_at":"2025-12-29T18:38:03.48883384-05:00","close_reason":"Invalid: ARGS is used (line 58, 64). SPECIFY_FEATURE is used by common.sh for feature detection. No dead code."}
|
||||
{"id":"skills-8d4","title":"Compare CLI_REFERENCE.md with upstream","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-03T20:15:53.268324087-08:00","updated_at":"2025-12-03T20:17:26.552616779-08:00","closed_at":"2025-12-03T20:17:26.552616779-08:00","dependencies":[{"issue_id":"skills-8d4","depends_on_id":"skills-ebh","type":"discovered-from","created_at":"2025-12-03T20:15:53.27265681-08:00","created_by":"daemon","metadata":"{}"}]}
|
||||
{"id":"skills-8d9","title":"Add conversational patterns to orch skill","description":"## Context\nThe orch skill currently documents consensus and single-shot chat, but doesn't\nteach agents how to use orch for multi-turn conversations with external AIs.\n\n## Goal\nAdd documentation and patterns for agent-driven conversations where the calling\nagent (Claude Code) orchestrates multi-turn dialogues using orch primitives.\n\n## Patterns to document\n\n### Session-based multi-turn\n```bash\n# Initial query\nRESPONSE=$(orch chat \"Analyze this\" --model claude --format json)\nSESSION=$(echo \"$RESPONSE\" | jq -r .session_id)\n\n# Continue conversation\norch chat \"Elaborate on X\" --model claude --session $SESSION\n\n# Inspect state\norch sessions info $SESSION\norch sessions show $SESSION --last 2 --format text\n```\n\n### Cross-model dialogue\n```bash\n# Get one model's take\nCLAUDE=$(orch chat \"Review this\" --model claude --format json)\nCLAUDE_SAYS=$(echo \"$CLAUDE\" | jq -r '.responses[0].content')\n\n# Ask another model to respond\norch chat \"Claude said: $CLAUDE_SAYS\n\nWhat's your perspective?\" --model gemini\n```\n\n### When to use conversations vs consensus\n- Consensus: quick parallel opinions on a decision\n- Conversation: deeper exploration, follow-up questions, iterative refinement\n\n## Files\n- skills/orch/SKILL.md\n\n## Related\n- orch-c3r: Design: Session introspection for agent-driven conversations (in orch repo)","status":"closed","priority":2,"issue_type":"feature","created_at":"2025-12-18T19:57:28.201494288-08:00","updated_at":"2025-12-29T15:34:16.254181578-05:00","closed_at":"2025-12-29T15:34:16.254181578-05:00","close_reason":"Added conversational patterns section to orch SKILL.md: sessions, cross-model dialogue, iterative refinement, consensus vs chat guidance."}
|
||||
{"id":"skills-8ma","title":"worklog skill: remove org-mode references, use markdown instead","description":"The worklog skill currently references org-mode format (.org files) in the template and instructions. Update to use markdown (.md) instead:\n\n1. Update ~/.claude/skills/worklog/templates/worklog-template.org → worklog-template.md\n2. Convert org-mode syntax to markdown (#+TITLE → # Title, * → ##, etc.)\n3. Update skill instructions to reference .md files\n4. Update suggest-filename.sh to output .md extension\n\nContext: org-mode is less widely supported than markdown in tooling and editors.","status":"open","priority":2,"issue_type":"task","created_at":"2025-12-31T08:43:55.761429693-05:00","created_by":"dan","updated_at":"2025-12-31T09:31:19.374921191-05:00"}
|
||||
{"id":"skills-8ma","title":"worklog skill: remove org-mode references, use markdown instead","description":"The worklog skill currently references org-mode format (.org files) in the template and instructions. Update to use markdown (.md) instead:\n\n1. Update ~/.claude/skills/worklog/templates/worklog-template.org → worklog-template.md\n2. Convert org-mode syntax to markdown (#+TITLE → # Title, * → ##, etc.)\n3. Update skill instructions to reference .md files\n4. Update suggest-filename.sh to output .md extension\n\nContext: org-mode is less widely supported than markdown in tooling and editors.","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-31T08:43:55.761429693-05:00","created_by":"dan","updated_at":"2026-01-02T00:13:05.338810905-05:00","closed_at":"2026-01-02T00:13:05.338810905-05:00","close_reason":"Migrated worklog skill from org-mode to markdown. Template, scripts, and SKILL.md updated. Backward compatible with existing .org files."}
|
||||
{"id":"skills-8v0","title":"Consolidate skill list definitions (flake.nix + ai-skills.nix)","description":"Skill list duplicated in:\n- flake.nix (lines 15-27)\n- modules/ai-skills.nix (lines 8-18)\n\nIssues:\n- Manual sync required when adding skills\n- No validation that referenced skills exist\n\nFix:\n- Single source of truth for skill list\n- Consider generating one from the other\n\nSeverity: MEDIUM","status":"open","priority":3,"issue_type":"task","created_at":"2025-12-24T02:51:14.432158871-05:00","updated_at":"2025-12-24T02:51:14.432158871-05:00"}
|
||||
{"id":"skills-8y6","title":"Define skill versioning strategy","description":"Git SHA alone is insufficient. Need tuple approach:\n\n- skill_source_rev: git SHA (if available)\n- skill_content_hash: hash of SKILL.md + scripts\n- runtime_ref: flake.lock hash or Nix store path\n\nQuestions to resolve:\n- Do Protos pin to versions (stable but maintenance) or float on latest (risky)?\n- How to handle breaking changes in skills?\n- Record in wisp trace vs proto definition?\n\nFrom consensus: both models flagged versioning instability as high severity.","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-23T19:49:30.839064445-05:00","updated_at":"2025-12-23T20:55:04.439779336-05:00","closed_at":"2025-12-23T20:55:04.439779336-05:00","close_reason":"ADRs revised with orch consensus feedback"}
|
||||
{"id":"skills-9af","title":"spec-review: Add spike/research task handling","description":"Tasks like 'Investigate X' can linger without clear outcomes.\n\nAdd to REVIEW_TASKS:\n- Flag research/spike tasks\n- Require timebox and concrete outputs (decision record, prototype, risks)\n- Pattern for handling unknowns","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-15T00:23:26.887719136-08:00","updated_at":"2025-12-15T14:08:13.441095034-08:00","closed_at":"2025-12-15T14:08:13.441095034-08:00"}
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
skills-9cu
|
||||
skills-8ma
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
name: worklog
|
||||
description: Create comprehensive structured org-mode worklogs documenting work sessions in docs/worklogs/. Use when the user explicitly asks to document work, create/write a worklog, log the session, or record what was accomplished.
|
||||
description: Create comprehensive structured markdown worklogs documenting work sessions in docs/worklogs/. Use when the user explicitly asks to document work, create/write a worklog, log the session, or record what was accomplished.
|
||||
---
|
||||
|
||||
# Worklog Skill
|
||||
|
|
@ -30,7 +30,7 @@ This outputs: branch, uncommitted changes, commits today, files touched, lines a
|
|||
|
||||
## File Location
|
||||
|
||||
Save worklogs to: `docs/worklogs/YYYY-MM-DD-{descriptive-topic-kebab-case}.org`
|
||||
Save worklogs to: `docs/worklogs/YYYY-MM-DD-{descriptive-topic-kebab-case}.md`
|
||||
|
||||
Create the `docs/worklogs/` directory if it doesn't exist.
|
||||
|
||||
|
|
@ -41,7 +41,7 @@ scripts/suggest-filename.sh
|
|||
|
||||
## Structure
|
||||
|
||||
Read and follow the template: `templates/worklog-template.org`
|
||||
Read and follow the template: `templates/worklog-template.md`
|
||||
|
||||
The template defines all required sections. Parse it directly rather than relying on this summary.
|
||||
|
||||
|
|
@ -73,7 +73,7 @@ Searches previous worklogs for context continuity
|
|||
|
||||
1. Run `scripts/extract-metrics.sh` to gather git context
|
||||
2. Run `scripts/suggest-filename.sh` to get filename suggestion
|
||||
3. Read the complete template from `templates/worklog-template.org`
|
||||
3. Read the complete template from `templates/worklog-template.md`
|
||||
4. Search for related previous worklogs using the find-related-logs script
|
||||
5. Fill in all template sections with detailed information from the session
|
||||
6. Ensure the `docs/worklogs/` directory exists (create if needed)
|
||||
|
|
@ -84,5 +84,5 @@ Searches previous worklogs for context continuity
|
|||
|
||||
- Must be in a git repository
|
||||
- Saves to `docs/worklogs/` directory (will create if needed)
|
||||
- Outputs org-mode format
|
||||
- Outputs markdown format with YAML frontmatter
|
||||
- Requires helper scripts in `scripts/`
|
||||
|
|
|
|||
|
|
@ -55,10 +55,18 @@ fi
|
|||
|
||||
# Display results
|
||||
echo "$RESULTS" | while read -r file; do
|
||||
# Extract title and date from file
|
||||
TITLE=$(grep -m1 "^#+TITLE:" "$file" 2>/dev/null | sed 's/#+TITLE: //' || echo "Untitled")
|
||||
DATE=$(grep -m1 "^#+DATE:" "$file" 2>/dev/null | sed 's/#+DATE: //' || echo "Unknown date")
|
||||
KEYWORDS_LINE=$(grep -m1 "^#+KEYWORDS:" "$file" 2>/dev/null | sed 's/#+KEYWORDS: //' || echo "")
|
||||
# Extract title and date from file (supports both markdown YAML frontmatter and legacy org-mode)
|
||||
if grep -q "^---$" "$file" 2>/dev/null; then
|
||||
# Markdown YAML frontmatter
|
||||
TITLE=$(grep -m1 "^title:" "$file" 2>/dev/null | sed 's/title: *"\?\([^"]*\)"\?/\1/' || echo "Untitled")
|
||||
DATE=$(grep -m1 "^date:" "$file" 2>/dev/null | sed 's/date: *//' || echo "Unknown date")
|
||||
KEYWORDS_LINE=$(grep -m1 "^keywords:" "$file" 2>/dev/null | sed 's/keywords: *//' || echo "")
|
||||
else
|
||||
# Legacy org-mode format
|
||||
TITLE=$(grep -m1 "^#+TITLE:" "$file" 2>/dev/null | sed 's/#+TITLE: //' || echo "Untitled")
|
||||
DATE=$(grep -m1 "^#+DATE:" "$file" 2>/dev/null | sed 's/#+DATE: //' || echo "Unknown date")
|
||||
KEYWORDS_LINE=$(grep -m1 "^#+KEYWORDS:" "$file" 2>/dev/null | sed 's/#+KEYWORDS: //' || echo "")
|
||||
fi
|
||||
|
||||
echo "File: $file"
|
||||
echo " Title: $TITLE"
|
||||
|
|
|
|||
|
|
@ -42,6 +42,6 @@ if [ -z "$TOPIC" ]; then
|
|||
fi
|
||||
|
||||
# Construct filename
|
||||
FILENAME="docs/worklogs/${TODAY}-${TOPIC}.org"
|
||||
FILENAME="docs/worklogs/${TODAY}-${TOPIC}.md"
|
||||
|
||||
echo "$FILENAME"
|
||||
|
|
|
|||
|
|
@ -1,42 +1,52 @@
|
|||
#+TITLE: {Descriptive Title of Work Session}
|
||||
#+DATE: YYYY-MM-DD
|
||||
#+KEYWORDS: keyword1, keyword2, keyword3, keyword4, keyword5
|
||||
#+COMMITS: {number of commits made}
|
||||
#+COMPRESSION_STATUS: uncompressed
|
||||
---
|
||||
title: "{Descriptive Title of Work Session}"
|
||||
date: YYYY-MM-DD
|
||||
keywords: [keyword1, keyword2, keyword3, keyword4, keyword5]
|
||||
commits: {number of commits made}
|
||||
compression_status: uncompressed
|
||||
---
|
||||
|
||||
* Session Summary
|
||||
** Date: YYYY-MM-DD (Day N of project)
|
||||
** Focus Area: {Main area/theme of work}
|
||||
# Session Summary
|
||||
|
||||
* Accomplishments
|
||||
- [X] Major accomplishment 1 with specific details
|
||||
- [X] Major accomplishment 2 with context
|
||||
- [X] Feature implemented or bug fixed
|
||||
**Date:** YYYY-MM-DD (Day N of project)
|
||||
**Focus Area:** {Main area/theme of work}
|
||||
|
||||
# Accomplishments
|
||||
|
||||
- [x] Major accomplishment 1 with specific details
|
||||
- [x] Major accomplishment 2 with context
|
||||
- [x] Feature implemented or bug fixed
|
||||
- [ ] Started but not completed
|
||||
|
||||
(Use checkboxes, include as much detail as needed)
|
||||
|
||||
* Key Decisions
|
||||
** Decision 1: {What was decided}
|
||||
- Context: Why this decision was needed
|
||||
- Options considered:
|
||||
# Key Decisions
|
||||
|
||||
## Decision 1: {What was decided}
|
||||
|
||||
- **Context:** Why this decision was needed
|
||||
- **Options considered:**
|
||||
1. Option A - pros/cons
|
||||
2. Option B - pros/cons
|
||||
- Rationale: Why we chose this approach
|
||||
- Impact: How this affects the system
|
||||
- **Rationale:** Why we chose this approach
|
||||
- **Impact:** How this affects the system
|
||||
|
||||
## Decision 2: {What was decided}
|
||||
|
||||
** Decision 2: {What was decided}
|
||||
(Include all significant decisions made)
|
||||
|
||||
* Problems & Solutions
|
||||
# Problems & Solutions
|
||||
|
||||
| Problem | Solution | Learning |
|
||||
|---------|----------|----------|
|
||||
| Detailed problem description | Step-by-step solution | Key insight gained |
|
||||
| Include error messages | Include code snippets | Generalizable principle |
|
||||
| Stack traces if relevant | Multiple attempts documented | Future prevention |
|
||||
|
||||
* Technical Details
|
||||
# Technical Details
|
||||
|
||||
## Code Changes
|
||||
|
||||
** Code Changes
|
||||
- Total files modified: {number}
|
||||
- Key files changed:
|
||||
- `path/to/file1.ex` - Description of changes
|
||||
|
|
@ -46,8 +56,10 @@
|
|||
- Files deleted:
|
||||
- Reason for deletion
|
||||
|
||||
** Commands Used
|
||||
## Commands Used
|
||||
|
||||
Document useful commands discovered or used:
|
||||
|
||||
```bash
|
||||
# Command that solved a problem
|
||||
mix some.command --with-flags
|
||||
|
|
@ -55,71 +67,83 @@ mix some.command --with-flags
|
|||
# Debugging command that revealed issue
|
||||
```
|
||||
|
||||
** Architecture Notes
|
||||
## Architecture Notes
|
||||
|
||||
- Patterns discovered or implemented
|
||||
- Design decisions with rationale
|
||||
- Performance considerations
|
||||
- Security considerations
|
||||
|
||||
* Process and Workflow
|
||||
# Process and Workflow
|
||||
|
||||
## What Worked Well
|
||||
|
||||
** What Worked Well
|
||||
- Effective approaches
|
||||
- Tools that helped
|
||||
- Successful debugging strategies
|
||||
|
||||
** What Was Challenging
|
||||
## What Was Challenging
|
||||
|
||||
- Obstacles encountered
|
||||
- Time sinks
|
||||
- False starts and dead ends
|
||||
- Confusion points
|
||||
|
||||
* Learning and Insights
|
||||
# Learning and Insights
|
||||
|
||||
## Technical Insights
|
||||
|
||||
** Technical Insights
|
||||
- New understanding about the system
|
||||
- Language/framework features discovered
|
||||
- Performance characteristics observed
|
||||
- Edge cases uncovered
|
||||
|
||||
** Process Insights
|
||||
## Process Insights
|
||||
|
||||
- Workflow improvements identified
|
||||
- Testing strategies that worked
|
||||
- Documentation needs discovered
|
||||
|
||||
** Architectural Insights
|
||||
## Architectural Insights
|
||||
|
||||
- System design revelations
|
||||
- Integration points clarified
|
||||
- Abstraction opportunities identified
|
||||
|
||||
* Context for Future Work
|
||||
# Context for Future Work
|
||||
|
||||
## Open Questions
|
||||
|
||||
** Open Questions
|
||||
- Unresolved design questions
|
||||
- Performance concerns to investigate
|
||||
- Technical debt identified
|
||||
- Areas needing more research
|
||||
|
||||
** Next Steps
|
||||
## Next Steps
|
||||
|
||||
- Immediate next tasks
|
||||
- Follow-up work required
|
||||
- Dependencies to resolve
|
||||
- Tests to write
|
||||
|
||||
** Related Work
|
||||
## Related Work
|
||||
|
||||
- Links to related worklogs
|
||||
- References to design documents
|
||||
- Connected issues or features
|
||||
- External documentation consulted
|
||||
|
||||
* Raw Notes
|
||||
# Raw Notes
|
||||
|
||||
(Include any additional notes, thoughts, or context that doesn't fit above)
|
||||
|
||||
- Stream of consciousness observations
|
||||
- Links to resources found
|
||||
- Chat logs if relevant
|
||||
- Screenshots or diagrams (as links or ASCII art)
|
||||
- Screenshots or diagrams (as links)
|
||||
|
||||
# Session Metrics
|
||||
|
||||
* Session Metrics
|
||||
- Commits made: N
|
||||
- Files touched: N
|
||||
- Lines added/removed: +N/-N
|
||||
Loading…
Reference in a new issue