dot-agents 0.1.0 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +191 -159
  2. package/package.json +2 -1
package/README.md CHANGED
@@ -1,237 +1,269 @@
1
- # .agents Directory
1
+ # dot-agents
2
2
 
3
- A curated collection of agent capabilities including skills, workflows, and tooling for building agentic projects.
3
+ A framework for building and running agentic workflows with personas and scheduled execution.
4
4
 
5
- ## What is the .agents Directory?
5
+ ## What is dot-agents?
6
6
 
7
- The `.agents/` directory is a standardized location for agent-related resources in your project. It provides a consistent structure for:
7
+ dot-agents lets you define **personas** (agent configurations) and **workflows** (tasks for agents to execute), then run them on-demand or on a schedule. It's designed to work with any agent CLI (Claude Code, local LLMs, etc.).
8
8
 
9
- - **Skills** - Focused, reusable capabilities (convert markdown to PDF, validate YAML, etc.)
10
- - **Workflows** - Multi-step orchestrations that compose skills and tools
11
- - **Meta-tooling** - Tools for creating, testing, and managing agent capabilities
9
+ **Key features:**
12
10
 
13
- Think of it as your project's "agent workspace" - everything your AI agent needs to work effectively on your codebase.
11
+ - **Personas** with cascading inheritance - define base configurations and extend them
12
+ - **Workflows** with triggers - run on-demand, on cron schedules, or via webhooks
13
+ - **Daemon** for background execution - scheduled workflows run automatically
14
+ - **Agent-agnostic** - works with any CLI that accepts prompts via stdin
14
15
 
15
- ## Directory Structure
16
-
17
- When consumed, this repository installs to your project's `.agents/` directory:
16
+ ## Installation
18
17
 
19
- ```text
20
- .agents/
21
- ├── skills/ # Focused, reusable capabilities
22
- │ ├── meta/ # Tools for skill management
23
- │ ├── examples/ # Example implementations
24
- │ └── documents/ # Document processing
25
- └── workflows/ # Multi-step orchestrations
26
- └── examples/ # Example workflows
18
+ ```bash
19
+ npm install -g dot-agents
27
20
  ```
28
21
 
29
- ## Installation
30
-
31
- ### The Agentic Way (Recommended)
22
+ Requires Node.js 20+.
32
23
 
33
- This repository is designed for **agentic installation** - your AI agent can install resources directly without scripts or package managers.
24
+ ## Quick Start
34
25
 
35
- Simply tell your agent:
26
+ ### 1. Create a `.agents` directory
36
27
 
37
- ```text
38
- "Install find-local-events skill from tnez/dot-agents"
39
- "Install skills from tnez/dot-agents"
28
+ ```bash
29
+ mkdir -p .agents/personas/claude .agents/workflows/hello
40
30
  ```
41
31
 
42
- Your agent will:
32
+ ### 2. Define a persona
43
33
 
44
- 1. Fetch the files from GitHub
45
- 2. Detect your `.agents/` directory (or ask where to install)
46
- 3. Map repository structure to installation location:
47
- - `skills/` → `.agents/skills/`
48
- - `workflows/` → `.agents/workflows/`
49
- 4. Verify installation
34
+ Create `.agents/personas/claude/PERSONA.md`:
50
35
 
51
- **No npm, pip, or bash scripts required** - your agent handles everything using its built-in capabilities.
36
+ ```markdown
37
+ ---
38
+ name: claude
39
+ description: Base Claude persona
40
+ cmd:
41
+ - "claude --print"
42
+ - "claude -p"
43
+ env:
44
+ CLAUDE_MODEL: sonnet
45
+ ---
52
46
 
53
- ### Discovery & Updates
47
+ You are a helpful assistant. Execute tasks thoroughly and report results clearly.
48
+ ```
54
49
 
55
- Browse available resources:
50
+ ### 3. Create a workflow
56
51
 
57
- ```text
58
- "Browse skills in tnez/dot-agents"
59
- "What workflows are available?"
60
- "Show me document-related skills"
61
- ```
52
+ Create `.agents/workflows/hello/WORKFLOW.md`:
62
53
 
63
- Check for updates:
54
+ ```markdown
55
+ ---
56
+ name: hello-world
57
+ description: A simple hello world workflow
58
+ persona: claude
59
+ on:
60
+ manual: true
61
+ ---
64
62
 
65
- ```text
66
- "Check for updates to my installed skills"
67
- "Update skill-installer"
63
+ Say hello and tell me today's date.
68
64
  ```
69
65
 
70
- See [CATALOG.md](CATALOG.md) for the complete list.
66
+ ### 4. Run it
71
67
 
72
- ### How It Works
68
+ ```bash
69
+ dot-agents run hello-world
70
+ ```
73
71
 
74
- Your agent uses meta-skills from this repository:
72
+ ## Core Concepts
75
73
 
76
- - **skill-installer**: Fetches and installs skills from GitHub
77
- - **skill-browser**: Discovers available skills and workflows
74
+ ### Personas
78
75
 
79
- Both are pure agentic - they teach your agent HOW to install, rather than providing scripts to run.
76
+ Personas define **how** an agent behaves. They specify the command to run, environment variables, available skills, and a system prompt.
80
77
 
81
- ### Installation Locations
78
+ ```yaml
79
+ ---
80
+ name: productivity-assistant
81
+ description: Focused assistant for productivity tasks
82
+ cmd: "claude --print"
83
+ env:
84
+ CLAUDE_MODEL: sonnet
85
+ skills:
86
+ - "productivity/**"
87
+ - "!productivity/experimental/*"
88
+ ---
89
+ System prompt goes here in the markdown body...
90
+ ```
82
91
 
83
- Resources install to these locations (in priority order):
92
+ **Persona inheritance:** Personas cascade through directories. A persona at `personas/claude/autonomous/productivity/` inherits from `personas/claude/autonomous/` which inherits from `personas/claude/`.
84
93
 
85
- 1. `.agents/` - Project-level, agent-agnostic (preferred)
86
- 2. `.claude/` - Project-level, Claude-specific
87
- 3. `~/.agents/` - Global, agent-agnostic
88
- 4. `~/.claude/` - Global, Claude-specific
94
+ - Scalar fields (name, description, cmd) - child overrides parent
95
+ - Objects (env) - deep merged
96
+ - Arrays (skills) - merged with `!` prefix for removal
89
97
 
90
- Your agent will auto-detect or ask where to install.
98
+ ### Workflows
91
99
 
92
- ## Repository Development Structure
100
+ Workflows define **what** an agent should do. They reference a persona and contain the task in the markdown body.
93
101
 
94
- ```text
95
- worktrees/main/
96
- ├── CATALOG.md # Machine-readable catalog
97
- ├── skills/ # .agents/skills/ when consumed
98
- │ ├── meta/ # Skill management tools
99
- │ │ ├── skill-installer/
100
- │ │ ├── skill-browser/
101
- │ │ ├── skill-creator/
102
- │ │ ├── skill-tester/
103
- │ │ └── skill-evaluator/
104
- │ ├── examples/ # Example implementations
105
- │ │ ├── find-local-events/
106
- │ │ ├── get-weather/
107
- │ │ └── simple-task/
108
- │ └── documents/ # Document processing
109
- │ ├── image-review-pdf/
110
- │ └── markdown-to-pdf/
111
- └── workflows/ # .agents/workflows/ when consumed
112
- ├── README.md
113
- └── examples/
102
+ ```yaml
103
+ ---
104
+ name: daily-standup
105
+ description: Generate standup notes from git activity
106
+ persona: claude/autonomous
107
+ on:
108
+ schedule:
109
+ - cron: "0 9 * * 1-5"
110
+ manual: true
111
+ inputs:
112
+ - name: days
113
+ type: number
114
+ default: 1
115
+ description: Days of history to analyze
116
+ ---
117
+
118
+ Analyze git commits from the last ${days} day(s) and generate standup notes.
119
+ Focus on: what was accomplished, what's in progress, any blockers.
114
120
  ```
115
121
 
116
- ## Quick Start
122
+ **Triggers:**
117
123
 
118
- ### For Agents
124
+ - `manual: true` - Can be run on-demand
125
+ - `schedule` - Cron-based scheduling (requires daemon)
126
+ - Future: `file_change`, `webhook`, `git`
119
127
 
120
- Resources are loaded automatically when relevant to your task. Each provides:
128
+ ### Variable Expansion
121
129
 
122
- - Clear instructions for when and how to use it
123
- - Templates and examples
124
- - Validation and testing tools
130
+ Workflows support variable expansion in the task body:
125
131
 
126
- ### For Humans
132
+ - `${VAR}` - Environment variables and inputs
133
+ - `${DATE}`, `${TIME}`, `${DATETIME}` - Current date/time
134
+ - `${RUN_ID}` - Unique execution identifier
135
+ - `{{#if var}}...{{/if}}` - Conditional blocks
127
136
 
128
- 1. **Browse skills**: Explore `skills/` directory
129
- 2. **Browse workflows**: Explore `workflows/` directory
130
- 3. **Use meta-skills**: Leverage skill-creator, skill-tester, skill-evaluator
131
- 4. **Create custom resources**: Follow specifications in each directory's README
132
- 5. **See development workflows**: Check WORKFLOWS.md for development patterns
137
+ ## CLI Reference
133
138
 
134
- ## Skills
139
+ ```bash
140
+ dot-agents [command]
141
+
142
+ Commands:
143
+ run <workflow> Run a workflow
144
+ list [workflows|personas] List resources
145
+ show workflow <name> Show workflow details
146
+ show persona <name> Show resolved persona (with inheritance)
147
+ schedule list List scheduled workflows
148
+ daemon run Run the scheduler daemon
149
+ daemon status Check daemon status
150
+ daemon jobs List scheduled jobs
151
+ daemon trigger <name> Manually trigger a workflow
135
152
 
136
- Skills are focused, reusable capabilities that agents load dynamically. Each skill is a self-contained directory with:
153
+ Aliases:
154
+ workflows List all workflows
155
+ personas List all personas
156
+ ```
137
157
 
138
- - `SKILL.md` - Required markdown file with YAML frontmatter and instructions
139
- - `CONTEXT.md` - Optional user/project-specific context and customizations
140
- - Optional supporting files (scripts, templates, assets, references)
158
+ ### Running Workflows
141
159
 
142
- **Format**:
160
+ ```bash
161
+ # Run a workflow
162
+ dot-agents run daily-standup
143
163
 
144
- ```markdown
145
- ---
146
- name: skill-name
147
- description: What the skill does and when to use it
148
- license: MIT
149
- ---
164
+ # With input overrides
165
+ dot-agents run daily-standup -i days=3
150
166
 
151
- # Skill Instructions
167
+ # Dry run (show prompt without executing)
168
+ dot-agents run daily-standup --dry-run
152
169
 
153
- Imperative instructions for the agent...
170
+ # Override persona
171
+ dot-agents run daily-standup -p claude/autonomous
154
172
  ```
155
173
 
156
- **CONTEXT.md Pattern**: Co-locate a `CONTEXT.md` file with any `SKILL.md` to inject user or project-specific context. The skill remains general and reusable while `CONTEXT.md` provides customization. This file is preserved during skill updates.
174
+ ### Viewing Details
157
175
 
158
- See [Agent Skills Specification](https://github.com/anthropics/skills/blob/main/agent_skills_spec.md) for details.
176
+ ```bash
177
+ # Show resolved persona with full inheritance chain
178
+ dot-agents show persona claude/autonomous/productivity
159
179
 
160
- ## Workflows
180
+ # Show workflow with resolved prompt
181
+ dot-agents show workflow daily-standup --prompt
182
+ ```
161
183
 
162
- Workflows are multi-step orchestrations that compose skills, tools, and agent behaviors. They handle complex tasks requiring:
184
+ ## Daemon
163
185
 
164
- - Multiple phases or steps
165
- - Decision making and conditionals
166
- - Coordination of multiple skills
167
- - Standardized procedures
186
+ The daemon runs scheduled workflows in the background.
168
187
 
169
- See `workflows/README.md` for details on creating workflows.
188
+ ```bash
189
+ # Start the daemon
190
+ dot-agents daemon run
170
191
 
171
- ## Meta-Skills
192
+ # Check status
193
+ dot-agents daemon status
172
194
 
173
- ### skill-installer
195
+ # View scheduled jobs
196
+ dot-agents daemon jobs
174
197
 
175
- Pure agentic skill installation from GitHub repositories. Features:
198
+ # Manually trigger a workflow
199
+ dot-agents daemon trigger daily-standup
176
200
 
177
- - Zero dependencies (uses WebFetch, Bash, Write, Glob)
178
- - Smart semantic merging for updates
179
- - CONTEXT.md preservation for user customizations
180
- - Auto-detects installation location
201
+ # Reload workflows after changes
202
+ dot-agents daemon reload
203
+ ```
181
204
 
182
- **New paradigm**: Your agent installs skills, not scripts.
205
+ The daemon provides an HTTP API on port 3141 (configurable with `-p`):
183
206
 
184
- ### skill-browser
207
+ - `GET /health` - Health check
208
+ - `GET /status` - Daemon status and uptime
209
+ - `GET /jobs` - List scheduled jobs
210
+ - `POST /trigger/:workflow` - Trigger a workflow
211
+ - `POST /reload` - Reload workflows from disk
185
212
 
186
- Discover and browse available skills. Features:
213
+ ## Directory Structure
187
214
 
188
- - Reads CATALOG.md to show available resources
189
- - Compares with local installation
190
- - Identifies updates and new additions
191
- - Filters by category or relevance
215
+ ```text
216
+ .agents/
217
+ ├── personas/ # Agent configurations
218
+ │ └── claude/
219
+ │ ├── PERSONA.md # Base Claude persona
220
+ │ └── autonomous/
221
+ │ ├── PERSONA.md # Inherits from claude
222
+ │ └── productivity/
223
+ │ └── PERSONA.md # Inherits from autonomous
224
+ ├── workflows/ # Task definitions
225
+ │ └── daily-standup/
226
+ │ └── WORKFLOW.md
227
+ ├── skills/ # Reusable capabilities (optional)
228
+ └── sessions/ # Execution logs
229
+ ```
192
230
 
193
- **Usage**: "Browse skills in tnez/dot-agents" or "What's new?"
231
+ ## Skills
194
232
 
195
- ### skill-creator
233
+ dot-agents also supports skills - focused, reusable capabilities that agents can load. Skills follow the [Anthropic Skills Specification](https://github.com/anthropics/skills/blob/main/agent_skills_spec.md).
196
234
 
197
- Scaffold new skills with proper structure and validation. Generates:
235
+ Skills are referenced in personas via glob patterns:
198
236
 
199
- - SKILL.md with valid YAML frontmatter
200
- - Directory structure (scripts, templates, assets)
201
- - Validation checks for spec compliance
237
+ ```yaml
238
+ skills:
239
+ - "documents/**"
240
+ - "productivity/*"
241
+ - "!experimental/**"
242
+ ```
202
243
 
203
- ### skill-tester
244
+ See the `skills/` directory for examples.
204
245
 
205
- Validate skills against the specification. Tests:
246
+ ## Development
206
247
 
207
- - YAML frontmatter correctness
208
- - File references and structure
209
- - Common issues and anti-patterns
248
+ ```bash
249
+ # Clone and install
250
+ git clone https://github.com/tnez/dot-agents.git
251
+ cd dot-agents
252
+ npm install
210
253
 
211
- ### skill-evaluator
254
+ # Build
255
+ npm run build
212
256
 
213
- Assess skill quality using rubric-based evaluation. Evaluates:
257
+ # Run CLI locally
258
+ just cli list workflows
214
259
 
215
- - Clarity and actionability
216
- - Completeness and focus
217
- - Examples and documentation quality
260
+ # Run linters
261
+ just lint
262
+ ```
218
263
 
219
264
  ## Contributing
220
265
 
221
- When creating new skills or workflows:
222
-
223
- 1. Use `skill-creator` for skills or follow `workflows/README.md` for workflows
224
- 2. Test with `skill-tester` to ensure spec compliance
225
- 3. Evaluate with `skill-evaluator` for quality assurance
226
- 4. Follow the test → evaluate → refine cycle
227
-
228
- See [CONTRIBUTING.md](CONTRIBUTING.md) for details.
229
-
230
- ## Resources
231
-
232
- - [Agent Skills Specification](https://github.com/anthropics/skills/blob/main/agent_skills_spec.md)
233
- - [Anthropics Skills Repository](https://github.com/anthropics/skills)
234
- - [Development Workflows](DEVELOPMENT.md)
266
+ See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
235
267
 
236
268
  ## License
237
269
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dot-agents",
3
- "version": "0.1.0",
3
+ "version": "0.1.5",
4
4
  "description": "A framework for building agentic workflows with personas and scheduled execution",
5
5
  "type": "module",
6
6
  "main": "./dist/lib/index.js",
@@ -23,6 +23,7 @@
23
23
  "dev": "tsc --watch",
24
24
  "typecheck": "tsc --noEmit",
25
25
  "clean": "rm -rf dist *.tsbuildinfo",
26
+ "prepare": "git config core.hooksPath .githooks || true",
26
27
  "prepublishOnly": "npm run clean && npm run build"
27
28
  },
28
29
  "files": [